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/rewnif_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 12:22:36,245 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:22:36,247 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:22:36,260 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:22:36,260 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:22:36,262 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:22:36,265 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:22:36,268 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:22:36,270 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:22:36,271 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:22:36,280 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:22:36,281 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:22:36,282 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:22:36,283 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:22:36,286 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:22:36,287 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:22:36,287 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:22:36,293 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:22:36,297 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:22:36,299 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:22:36,302 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:22:36,305 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:22:36,308 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:22:36,309 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:22:36,309 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:22:36,310 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:22:36,310 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:22:36,311 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:22:36,313 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:22:36,314 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:22:36,314 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:22:36,316 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:22:36,316 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:22:36,316 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:22:36,317 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:22:36,319 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:22:36,319 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:36,346 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:22:36,346 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:22:36,347 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:22:36,347 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 12:22:36,348 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:22:36,348 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:22:36,349 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 12:22:36,349 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:22:36,349 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:22:36,350 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:22:36,350 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:22:36,350 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:22:36,350 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:22:36,350 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:22:36,351 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:22:36,351 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:22:36,351 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:22:36,351 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:22:36,351 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:22:36,352 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:22:36,352 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 12:22:36,352 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:22:36,352 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 12:22:36,352 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:22:36,355 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:22:36,355 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:22:36,355 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:22:36,355 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 12:22:36,355 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:22:36,356 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:22:36,356 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 12:22:36,425 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:22:36,443 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:22:36,447 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:22:36,449 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:22:36,449 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:22:36,450 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-tiling/rewnif_true-unreach-call.i [2018-11-23 12:22:36,513 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b9205350c/63bd33d6fabf4fe5aeef2184e4a49a8d/FLAG46025cf66 [2018-11-23 12:22:36,909 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:22:36,910 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-tiling/rewnif_true-unreach-call.i [2018-11-23 12:22:36,915 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b9205350c/63bd33d6fabf4fe5aeef2184e4a49a8d/FLAG46025cf66 [2018-11-23 12:22:37,292 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b9205350c/63bd33d6fabf4fe5aeef2184e4a49a8d [2018-11-23 12:22:37,303 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:22:37,305 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:22:37,306 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:22:37,306 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:22:37,310 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:22:37,311 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:22:37" (1/1) ... [2018-11-23 12:22:37,314 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3c04f9dd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:37, skipping insertion in model container [2018-11-23 12:22:37,314 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:22:37" (1/1) ... [2018-11-23 12:22:37,325 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:22:37,349 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:22:37,548 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:22:37,553 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:22:37,577 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:22:37,606 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:22:37,606 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:37 WrapperNode [2018-11-23 12:22:37,606 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:22:37,607 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:22:37,607 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:22:37,608 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:22:37,615 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:37" (1/1) ... [2018-11-23 12:22:37,625 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:37" (1/1) ... [2018-11-23 12:22:37,632 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:22:37,633 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:22:37,633 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:22:37,633 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:22:37,643 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:37" (1/1) ... [2018-11-23 12:22:37,643 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:37" (1/1) ... [2018-11-23 12:22:37,645 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:37" (1/1) ... [2018-11-23 12:22:37,645 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:37" (1/1) ... [2018-11-23 12:22:37,656 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:37" (1/1) ... [2018-11-23 12:22:37,663 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:37" (1/1) ... [2018-11-23 12:22:37,665 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:37" (1/1) ... [2018-11-23 12:22:37,667 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:22:37,667 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:22:37,667 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:22:37,667 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:22:37,668 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:37" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory: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:37,786 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 12:22:37,786 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 12:22:37,786 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 12:22:37,786 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:22:37,786 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:22:37,786 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:22:37,787 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 12:22:37,787 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 12:22:37,787 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 12:22:37,787 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 12:22:37,787 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 12:22:37,787 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:22:38,303 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:22:38,304 INFO L280 CfgBuilder]: Removed 2 assue(true) statements. [2018-11-23 12:22:38,304 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:22:38 BoogieIcfgContainer [2018-11-23 12:22:38,305 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:22:38,306 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 12:22:38,306 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 12:22:38,309 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 12:22:38,310 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:22:37" (1/3) ... [2018-11-23 12:22:38,310 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@535119bc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:22:38, skipping insertion in model container [2018-11-23 12:22:38,311 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:37" (2/3) ... [2018-11-23 12:22:38,311 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@535119bc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:22:38, skipping insertion in model container [2018-11-23 12:22:38,311 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:22:38" (3/3) ... [2018-11-23 12:22:38,313 INFO L112 eAbstractionObserver]: Analyzing ICFG rewnif_true-unreach-call.i [2018-11-23 12:22:38,323 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 12:22:38,331 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 12:22:38,350 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 12:22:38,380 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 12:22:38,381 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 12:22:38,381 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 12:22:38,381 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 12:22:38,381 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 12:22:38,382 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 12:22:38,382 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 12:22:38,382 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 12:22:38,382 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 12:22:38,401 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states. [2018-11-23 12:22:38,406 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 12:22:38,406 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:38,407 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:38,409 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:38,414 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:38,415 INFO L82 PathProgramCache]: Analyzing trace with hash -1204506220, now seen corresponding path program 1 times [2018-11-23 12:22:38,416 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:38,417 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:38,468 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:38,468 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:38,468 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:38,515 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:38,577 INFO L256 TraceCheckUtils]: 0: Hoare triple {31#true} call ULTIMATE.init(); {31#true} is VALID [2018-11-23 12:22:38,581 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:38,582 INFO L273 TraceCheckUtils]: 2: Hoare triple {31#true} assume true; {31#true} is VALID [2018-11-23 12:22:38,582 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {31#true} {31#true} #63#return; {31#true} is VALID [2018-11-23 12:22:38,583 INFO L256 TraceCheckUtils]: 4: Hoare triple {31#true} call #t~ret5 := main(); {31#true} is VALID [2018-11-23 12:22:38,583 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:38,583 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 := 0; {31#true} is VALID [2018-11-23 12:22:38,584 INFO L273 TraceCheckUtils]: 7: Hoare triple {31#true} assume !true; {32#false} is VALID [2018-11-23 12:22:38,585 INFO L273 TraceCheckUtils]: 8: Hoare triple {32#false} ~i~0 := 0; {32#false} is VALID [2018-11-23 12:22:38,585 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:38,585 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:38,586 INFO L273 TraceCheckUtils]: 11: Hoare triple {32#false} ~cond := #in~cond; {32#false} is VALID [2018-11-23 12:22:38,586 INFO L273 TraceCheckUtils]: 12: Hoare triple {32#false} assume 0 == ~cond; {32#false} is VALID [2018-11-23 12:22:38,586 INFO L273 TraceCheckUtils]: 13: Hoare triple {32#false} assume !false; {32#false} is VALID [2018-11-23 12:22:38,590 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:38,592 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:22:38,592 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 12:22:38,596 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 14 [2018-11-23 12:22:38,599 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:38,603 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 12:22:38,702 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:38,702 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 12:22:38,713 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 12:22:38,714 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:22:38,717 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 2 states. [2018-11-23 12:22:39,192 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:39,192 INFO L93 Difference]: Finished difference Result 45 states and 54 transitions. [2018-11-23 12:22:39,193 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 12:22:39,193 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 14 [2018-11-23 12:22:39,193 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:39,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:22:39,205 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 54 transitions. [2018-11-23 12:22:39,205 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:22:39,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 54 transitions. [2018-11-23 12:22:39,210 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 54 transitions. [2018-11-23 12:22:39,385 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:39,397 INFO L225 Difference]: With dead ends: 45 [2018-11-23 12:22:39,397 INFO L226 Difference]: Without dead ends: 22 [2018-11-23 12:22:39,400 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:39,417 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states. [2018-11-23 12:22:39,439 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 22. [2018-11-23 12:22:39,440 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:39,440 INFO L82 GeneralOperation]: Start isEquivalent. First operand 22 states. Second operand 22 states. [2018-11-23 12:22:39,441 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 22 states. [2018-11-23 12:22:39,441 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 22 states. [2018-11-23 12:22:39,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:39,444 INFO L93 Difference]: Finished difference Result 22 states and 24 transitions. [2018-11-23 12:22:39,444 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 24 transitions. [2018-11-23 12:22:39,445 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:39,445 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:39,445 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 22 states. [2018-11-23 12:22:39,446 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 22 states. [2018-11-23 12:22:39,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:39,449 INFO L93 Difference]: Finished difference Result 22 states and 24 transitions. [2018-11-23 12:22:39,449 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 24 transitions. [2018-11-23 12:22:39,450 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:39,450 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:39,450 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:39,450 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:39,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:22:39,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 24 transitions. [2018-11-23 12:22:39,454 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 24 transitions. Word has length 14 [2018-11-23 12:22:39,455 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:39,455 INFO L480 AbstractCegarLoop]: Abstraction has 22 states and 24 transitions. [2018-11-23 12:22:39,455 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 12:22:39,455 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 24 transitions. [2018-11-23 12:22:39,456 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 12:22:39,456 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:39,456 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:39,456 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:39,457 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:39,457 INFO L82 PathProgramCache]: Analyzing trace with hash 142847815, now seen corresponding path program 1 times [2018-11-23 12:22:39,457 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:39,457 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:39,458 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:39,458 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:39,459 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:39,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:39,605 INFO L256 TraceCheckUtils]: 0: Hoare triple {165#true} call ULTIMATE.init(); {165#true} is VALID [2018-11-23 12:22:39,606 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:39,606 INFO L273 TraceCheckUtils]: 2: Hoare triple {165#true} assume true; {165#true} is VALID [2018-11-23 12:22:39,606 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {165#true} {165#true} #63#return; {165#true} is VALID [2018-11-23 12:22:39,607 INFO L256 TraceCheckUtils]: 4: Hoare triple {165#true} call #t~ret5 := main(); {165#true} is VALID [2018-11-23 12:22:39,607 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:39,622 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 := 0; {167#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:39,632 INFO L273 TraceCheckUtils]: 7: Hoare triple {167#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} assume !(~i~0 < ~SIZE~0); {166#false} is VALID [2018-11-23 12:22:39,632 INFO L273 TraceCheckUtils]: 8: Hoare triple {166#false} ~i~0 := 0; {166#false} is VALID [2018-11-23 12:22:39,633 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:39,633 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:39,634 INFO L273 TraceCheckUtils]: 11: Hoare triple {166#false} ~cond := #in~cond; {166#false} is VALID [2018-11-23 12:22:39,636 INFO L273 TraceCheckUtils]: 12: Hoare triple {166#false} assume 0 == ~cond; {166#false} is VALID [2018-11-23 12:22:39,636 INFO L273 TraceCheckUtils]: 13: Hoare triple {166#false} assume !false; {166#false} is VALID [2018-11-23 12:22:39,639 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:39,639 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:22:39,641 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:22:39,643 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 14 [2018-11-23 12:22:39,644 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:39,644 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:22:39,699 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:39,700 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:22:39,700 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:22:39,700 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:22:39,700 INFO L87 Difference]: Start difference. First operand 22 states and 24 transitions. Second operand 3 states. [2018-11-23 12:22:39,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:39,877 INFO L93 Difference]: Finished difference Result 41 states and 47 transitions. [2018-11-23 12:22:39,877 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:22:39,878 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 14 [2018-11-23 12:22:39,878 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:39,878 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:22:39,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 47 transitions. [2018-11-23 12:22:39,881 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:22:39,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 47 transitions. [2018-11-23 12:22:39,884 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 47 transitions. [2018-11-23 12:22:40,248 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:40,251 INFO L225 Difference]: With dead ends: 41 [2018-11-23 12:22:40,251 INFO L226 Difference]: Without dead ends: 26 [2018-11-23 12:22:40,253 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:40,254 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2018-11-23 12:22:40,297 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 24. [2018-11-23 12:22:40,297 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:40,297 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand 24 states. [2018-11-23 12:22:40,297 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 24 states. [2018-11-23 12:22:40,298 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 24 states. [2018-11-23 12:22:40,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:40,300 INFO L93 Difference]: Finished difference Result 26 states and 28 transitions. [2018-11-23 12:22:40,301 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 28 transitions. [2018-11-23 12:22:40,301 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:40,301 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:40,302 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 26 states. [2018-11-23 12:22:40,302 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 26 states. [2018-11-23 12:22:40,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:40,304 INFO L93 Difference]: Finished difference Result 26 states and 28 transitions. [2018-11-23 12:22:40,305 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 28 transitions. [2018-11-23 12:22:40,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:40,305 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:40,306 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:40,306 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:40,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:22:40,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 26 transitions. [2018-11-23 12:22:40,308 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 26 transitions. Word has length 14 [2018-11-23 12:22:40,309 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:40,309 INFO L480 AbstractCegarLoop]: Abstraction has 24 states and 26 transitions. [2018-11-23 12:22:40,309 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:22:40,309 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2018-11-23 12:22:40,310 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 12:22:40,310 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:40,310 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:40,310 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:40,311 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:40,311 INFO L82 PathProgramCache]: Analyzing trace with hash -1002652542, now seen corresponding path program 1 times [2018-11-23 12:22:40,311 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:40,311 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:40,312 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:40,313 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:40,313 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:40,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:40,495 INFO L256 TraceCheckUtils]: 0: Hoare triple {309#true} call ULTIMATE.init(); {309#true} is VALID [2018-11-23 12:22:40,495 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:40,496 INFO L273 TraceCheckUtils]: 2: Hoare triple {309#true} assume true; {309#true} is VALID [2018-11-23 12:22:40,496 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {309#true} {309#true} #63#return; {309#true} is VALID [2018-11-23 12:22:40,497 INFO L256 TraceCheckUtils]: 4: Hoare triple {309#true} call #t~ret5 := main(); {309#true} is VALID [2018-11-23 12:22:40,497 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:40,498 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 := 0; {309#true} is VALID [2018-11-23 12:22:40,499 INFO L273 TraceCheckUtils]: 7: Hoare triple {309#true} assume !!(~i~0 < ~SIZE~0); {309#true} is VALID [2018-11-23 12:22:40,514 INFO L273 TraceCheckUtils]: 8: Hoare triple {309#true} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {311#(<= (+ main_~i~0 2) ~SIZE~0)} is VALID [2018-11-23 12:22:40,530 INFO L273 TraceCheckUtils]: 9: Hoare triple {311#(<= (+ main_~i~0 2) ~SIZE~0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {311#(<= (+ main_~i~0 2) ~SIZE~0)} is VALID [2018-11-23 12:22:40,544 INFO L273 TraceCheckUtils]: 10: Hoare triple {311#(<= (+ main_~i~0 2) ~SIZE~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {312#(<= (+ main_~i~0 1) ~SIZE~0)} is VALID [2018-11-23 12:22:40,545 INFO L273 TraceCheckUtils]: 11: Hoare triple {312#(<= (+ main_~i~0 1) ~SIZE~0)} assume !(~i~0 < ~SIZE~0); {310#false} is VALID [2018-11-23 12:22:40,546 INFO L273 TraceCheckUtils]: 12: Hoare triple {310#false} ~i~0 := 0; {310#false} is VALID [2018-11-23 12:22:40,546 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:40,546 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:40,546 INFO L273 TraceCheckUtils]: 15: Hoare triple {310#false} ~cond := #in~cond; {310#false} is VALID [2018-11-23 12:22:40,547 INFO L273 TraceCheckUtils]: 16: Hoare triple {310#false} assume 0 == ~cond; {310#false} is VALID [2018-11-23 12:22:40,547 INFO L273 TraceCheckUtils]: 17: Hoare triple {310#false} assume !false; {310#false} is VALID [2018-11-23 12:22:40,548 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:40,553 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:22:40,553 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:22:40,553 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 18 [2018-11-23 12:22:40,557 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:40,557 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:22:40,582 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:40,582 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:22:40,582 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:22:40,583 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:22:40,583 INFO L87 Difference]: Start difference. First operand 24 states and 26 transitions. Second operand 4 states. [2018-11-23 12:22:40,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:40,788 INFO L93 Difference]: Finished difference Result 38 states and 41 transitions. [2018-11-23 12:22:40,788 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:22:40,788 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 18 [2018-11-23 12:22:40,789 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:40,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:22:40,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 41 transitions. [2018-11-23 12:22:40,792 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:22:40,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 41 transitions. [2018-11-23 12:22:40,795 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 41 transitions. [2018-11-23 12:22:40,940 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:40,942 INFO L225 Difference]: With dead ends: 38 [2018-11-23 12:22:40,942 INFO L226 Difference]: Without dead ends: 27 [2018-11-23 12:22:40,942 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:40,943 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2018-11-23 12:22:40,960 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2018-11-23 12:22:40,960 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:40,960 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 27 states. [2018-11-23 12:22:40,960 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2018-11-23 12:22:40,961 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2018-11-23 12:22:40,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:40,964 INFO L93 Difference]: Finished difference Result 27 states and 29 transitions. [2018-11-23 12:22:40,964 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 29 transitions. [2018-11-23 12:22:40,965 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:40,965 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:40,965 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2018-11-23 12:22:40,965 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2018-11-23 12:22:40,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:40,967 INFO L93 Difference]: Finished difference Result 27 states and 29 transitions. [2018-11-23 12:22:40,967 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 29 transitions. [2018-11-23 12:22:40,968 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:40,968 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:40,968 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:40,968 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:40,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 12:22:40,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 29 transitions. [2018-11-23 12:22:40,971 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 29 transitions. Word has length 18 [2018-11-23 12:22:40,971 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:40,971 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 29 transitions. [2018-11-23 12:22:40,971 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:22:40,971 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 29 transitions. [2018-11-23 12:22:40,972 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 12:22:40,972 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:40,972 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:40,973 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:40,973 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:40,973 INFO L82 PathProgramCache]: Analyzing trace with hash -1636198789, now seen corresponding path program 1 times [2018-11-23 12:22:40,973 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:40,974 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:40,975 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:40,975 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:40,975 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:41,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:41,606 WARN L180 SmtUtils]: Spent 156.00 ms on a formula simplification. DAG size of input: 21 DAG size of output: 14 [2018-11-23 12:22:41,774 INFO L256 TraceCheckUtils]: 0: Hoare triple {457#true} call ULTIMATE.init(); {457#true} is VALID [2018-11-23 12:22:41,774 INFO L273 TraceCheckUtils]: 1: Hoare triple {457#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {457#true} is VALID [2018-11-23 12:22:41,775 INFO L273 TraceCheckUtils]: 2: Hoare triple {457#true} assume true; {457#true} is VALID [2018-11-23 12:22:41,775 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {457#true} {457#true} #63#return; {457#true} is VALID [2018-11-23 12:22:41,776 INFO L256 TraceCheckUtils]: 4: Hoare triple {457#true} call #t~ret5 := main(); {457#true} is VALID [2018-11-23 12:22:41,776 INFO L273 TraceCheckUtils]: 5: Hoare triple {457#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {457#true} is VALID [2018-11-23 12:22:41,781 INFO L273 TraceCheckUtils]: 6: Hoare triple {457#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {459#(and (<= 2 ~SIZE~0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:41,782 INFO L273 TraceCheckUtils]: 7: Hoare triple {459#(and (<= 2 ~SIZE~0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {459#(and (<= 2 ~SIZE~0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:41,783 INFO L273 TraceCheckUtils]: 8: Hoare triple {459#(and (<= 2 ~SIZE~0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {459#(and (<= 2 ~SIZE~0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:41,784 INFO L273 TraceCheckUtils]: 9: Hoare triple {459#(and (<= 2 ~SIZE~0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {460#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (<= 2 ~SIZE~0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:41,785 INFO L273 TraceCheckUtils]: 10: Hoare triple {460#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (<= 2 ~SIZE~0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {461#(and (or (= 0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) 0)) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:41,786 INFO L273 TraceCheckUtils]: 11: Hoare triple {461#(and (or (= 0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) 0)) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {461#(and (or (= 0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) 0)) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:41,788 INFO L273 TraceCheckUtils]: 12: Hoare triple {461#(and (or (= 0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) 0)) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))) (= |main_~#a~0.offset| 0))} assume !(1 + ~i~0 < ~SIZE~0); {462#(and (= 0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) 0)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:41,789 INFO L273 TraceCheckUtils]: 13: Hoare triple {462#(and (= 0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) 0)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {463#(and (= |main_~#a~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0)))} is VALID [2018-11-23 12:22:41,790 INFO L273 TraceCheckUtils]: 14: Hoare triple {463#(and (= |main_~#a~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {463#(and (= |main_~#a~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0)))} is VALID [2018-11-23 12:22:41,791 INFO L273 TraceCheckUtils]: 15: Hoare triple {463#(and (= |main_~#a~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0)))} assume !(~i~0 < ~SIZE~0); {463#(and (= |main_~#a~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0)))} is VALID [2018-11-23 12:22:41,794 INFO L273 TraceCheckUtils]: 16: Hoare triple {463#(and (= |main_~#a~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0)))} ~i~0 := 0; {464#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:41,796 INFO L273 TraceCheckUtils]: 17: Hoare triple {464#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= 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); {465#(and (= |main_#t~mem4| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:41,797 INFO L256 TraceCheckUtils]: 18: Hoare triple {465#(and (= |main_#t~mem4| 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {466#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:22:41,797 INFO L273 TraceCheckUtils]: 19: Hoare triple {466#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {467#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-23 12:22:41,798 INFO L273 TraceCheckUtils]: 20: Hoare triple {467#(= __VERIFIER_assert_~cond 1)} assume 0 == ~cond; {458#false} is VALID [2018-11-23 12:22:41,798 INFO L273 TraceCheckUtils]: 21: Hoare triple {458#false} assume !false; {458#false} is VALID [2018-11-23 12:22:41,800 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:22:41,800 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:41,800 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:41,812 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:41,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:41,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:41,851 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:42,009 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:22:42,018 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:42,022 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:42,026 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:42,039 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:42,040 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:22, output treesize:18 [2018-11-23 12:22:42,242 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:22:42,254 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:42,255 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:42,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 35 [2018-11-23 12:22:42,262 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:42,273 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:42,300 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:22:42,300 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:25 [2018-11-23 12:22:42,304 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:42,304 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_9|, main_~i~0]. (let ((.cse0 (select |v_#memory_int_9| |main_~#a~0.base|))) (and (<= 1 main_~i~0) (= (select .cse0 |main_~#a~0.offset|) 0) (= |#memory_int| (store |v_#memory_int_9| |main_~#a~0.base| (store .cse0 (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0))) (= |main_~#a~0.offset| 0))) [2018-11-23 12:22:42,304 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [main_~i~0]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (<= 1 main_~i~0) (= 0 (select .cse0 |main_~#a~0.offset|)) (= main_~i~0 (select .cse0 (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))) [2018-11-23 12:22:42,826 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 26 treesize of output 20 [2018-11-23 12:22:42,837 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:42,850 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:42,850 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:22:42,851 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:42,858 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 20 treesize of output 31 [2018-11-23 12:22:42,861 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:42,872 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:42,882 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:22:42,883 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:32, output treesize:9 [2018-11-23 12:22:42,894 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:42,894 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, v_prenex_1]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (<= 1 v_prenex_1) (<= (select .cse0 (* 4 main_~i~0)) |main_#t~mem4|) (= (select .cse0 (* 4 v_prenex_1)) v_prenex_1) (= (select .cse0 0) 0) (= main_~i~0 0))) [2018-11-23 12:22:42,894 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= (* 4 main_~i~0) |main_#t~mem4|) (= main_~i~0 0)) [2018-11-23 12:22:42,941 INFO L256 TraceCheckUtils]: 0: Hoare triple {457#true} call ULTIMATE.init(); {457#true} is VALID [2018-11-23 12:22:42,941 INFO L273 TraceCheckUtils]: 1: Hoare triple {457#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {457#true} is VALID [2018-11-23 12:22:42,942 INFO L273 TraceCheckUtils]: 2: Hoare triple {457#true} assume true; {457#true} is VALID [2018-11-23 12:22:42,942 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {457#true} {457#true} #63#return; {457#true} is VALID [2018-11-23 12:22:42,942 INFO L256 TraceCheckUtils]: 4: Hoare triple {457#true} call #t~ret5 := main(); {457#true} is VALID [2018-11-23 12:22:42,942 INFO L273 TraceCheckUtils]: 5: Hoare triple {457#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {457#true} is VALID [2018-11-23 12:22:42,943 INFO L273 TraceCheckUtils]: 6: Hoare triple {457#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {489#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:42,944 INFO L273 TraceCheckUtils]: 7: Hoare triple {489#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {489#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:42,945 INFO L273 TraceCheckUtils]: 8: Hoare triple {489#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {489#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:42,945 INFO L273 TraceCheckUtils]: 9: Hoare triple {489#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {464#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:42,946 INFO L273 TraceCheckUtils]: 10: Hoare triple {464#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {502#(and (<= 1 main_~i~0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:42,947 INFO L273 TraceCheckUtils]: 11: Hoare triple {502#(and (<= 1 main_~i~0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {502#(and (<= 1 main_~i~0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:42,948 INFO L273 TraceCheckUtils]: 12: Hoare triple {502#(and (<= 1 main_~i~0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0))} assume !(1 + ~i~0 < ~SIZE~0); {502#(and (<= 1 main_~i~0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:42,949 INFO L273 TraceCheckUtils]: 13: Hoare triple {502#(and (<= 1 main_~i~0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {512#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (exists ((main_~i~0 Int)) (and (<= 1 main_~i~0) (= 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:22:42,951 INFO L273 TraceCheckUtils]: 14: Hoare triple {512#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (exists ((main_~i~0 Int)) (and (<= 1 main_~i~0) (= 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 := 1 + #t~post2;havoc #t~post2; {512#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (exists ((main_~i~0 Int)) (and (<= 1 main_~i~0) (= 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:22:42,952 INFO L273 TraceCheckUtils]: 15: Hoare triple {512#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (exists ((main_~i~0 Int)) (and (<= 1 main_~i~0) (= 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 < ~SIZE~0); {512#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (exists ((main_~i~0 Int)) (and (<= 1 main_~i~0) (= 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:22:42,953 INFO L273 TraceCheckUtils]: 16: Hoare triple {512#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (exists ((main_~i~0 Int)) (and (<= 1 main_~i~0) (= 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; {522#(and (exists ((v_prenex_1 Int)) (and (<= 1 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:42,955 INFO L273 TraceCheckUtils]: 17: Hoare triple {522#(and (exists ((v_prenex_1 Int)) (and (<= 1 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= 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); {526#(and (<= (* 4 main_~i~0) |main_#t~mem4|) (= main_~i~0 0))} is VALID [2018-11-23 12:22:42,956 INFO L256 TraceCheckUtils]: 18: Hoare triple {526#(and (<= (* 4 main_~i~0) |main_#t~mem4|) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {466#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:22:42,957 INFO L273 TraceCheckUtils]: 19: Hoare triple {466#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {467#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-23 12:22:42,957 INFO L273 TraceCheckUtils]: 20: Hoare triple {467#(= __VERIFIER_assert_~cond 1)} assume 0 == ~cond; {458#false} is VALID [2018-11-23 12:22:42,957 INFO L273 TraceCheckUtils]: 21: Hoare triple {458#false} assume !false; {458#false} is VALID [2018-11-23 12:22:42,961 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:22:42,987 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:42,988 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2018-11-23 12:22:42,988 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 22 [2018-11-23 12:22:42,989 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:42,989 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 12:22:43,075 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:43,075 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 12:22:43,076 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 12:22:43,076 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=180, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:22:43,076 INFO L87 Difference]: Start difference. First operand 27 states and 29 transitions. Second operand 16 states. [2018-11-23 12:22:44,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:44,133 INFO L93 Difference]: Finished difference Result 42 states and 45 transitions. [2018-11-23 12:22:44,133 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 12:22:44,134 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 22 [2018-11-23 12:22:44,134 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:44,134 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:22:44,137 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 42 transitions. [2018-11-23 12:22:44,137 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:22:44,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 42 transitions. [2018-11-23 12:22:44,140 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 42 transitions. [2018-11-23 12:22:44,225 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:44,228 INFO L225 Difference]: With dead ends: 42 [2018-11-23 12:22:44,228 INFO L226 Difference]: Without dead ends: 40 [2018-11-23 12:22:44,229 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 16 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=82, Invalid=260, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:22:44,229 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-11-23 12:22:44,314 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 33. [2018-11-23 12:22:44,315 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:44,315 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 33 states. [2018-11-23 12:22:44,315 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 33 states. [2018-11-23 12:22:44,316 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 33 states. [2018-11-23 12:22:44,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:44,319 INFO L93 Difference]: Finished difference Result 40 states and 43 transitions. [2018-11-23 12:22:44,319 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 43 transitions. [2018-11-23 12:22:44,320 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:44,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:44,320 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 40 states. [2018-11-23 12:22:44,320 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 40 states. [2018-11-23 12:22:44,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:44,323 INFO L93 Difference]: Finished difference Result 40 states and 43 transitions. [2018-11-23 12:22:44,323 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 43 transitions. [2018-11-23 12:22:44,323 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:44,324 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:44,324 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:44,324 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:44,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 12:22:44,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 35 transitions. [2018-11-23 12:22:44,326 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 35 transitions. Word has length 22 [2018-11-23 12:22:44,326 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:44,327 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 35 transitions. [2018-11-23 12:22:44,327 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 12:22:44,327 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 35 transitions. [2018-11-23 12:22:44,328 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 12:22:44,328 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:44,328 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:44,329 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:44,329 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:44,329 INFO L82 PathProgramCache]: Analyzing trace with hash -1656033490, now seen corresponding path program 1 times [2018-11-23 12:22:44,329 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:44,329 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:44,330 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:44,330 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:44,331 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:44,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:44,947 INFO L256 TraceCheckUtils]: 0: Hoare triple {726#true} call ULTIMATE.init(); {726#true} is VALID [2018-11-23 12:22:44,947 INFO L273 TraceCheckUtils]: 1: Hoare triple {726#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {726#true} is VALID [2018-11-23 12:22:44,948 INFO L273 TraceCheckUtils]: 2: Hoare triple {726#true} assume true; {726#true} is VALID [2018-11-23 12:22:44,948 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {726#true} {726#true} #63#return; {726#true} is VALID [2018-11-23 12:22:44,949 INFO L256 TraceCheckUtils]: 4: Hoare triple {726#true} call #t~ret5 := main(); {726#true} is VALID [2018-11-23 12:22:44,949 INFO L273 TraceCheckUtils]: 5: Hoare triple {726#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {726#true} is VALID [2018-11-23 12:22:44,950 INFO L273 TraceCheckUtils]: 6: Hoare triple {726#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {728#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:44,951 INFO L273 TraceCheckUtils]: 7: Hoare triple {728#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0); {728#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:44,956 INFO L273 TraceCheckUtils]: 8: Hoare triple {728#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {728#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:44,958 INFO L273 TraceCheckUtils]: 9: Hoare triple {728#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {728#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:44,959 INFO L273 TraceCheckUtils]: 10: Hoare triple {728#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {729#(or (<= (+ main_~i~0 2) ~SIZE~0) (= 1 main_~i~0))} is VALID [2018-11-23 12:22:44,959 INFO L273 TraceCheckUtils]: 11: Hoare triple {729#(or (<= (+ main_~i~0 2) ~SIZE~0) (= 1 main_~i~0))} assume !!(~i~0 < ~SIZE~0); {729#(or (<= (+ main_~i~0 2) ~SIZE~0) (= 1 main_~i~0))} is VALID [2018-11-23 12:22:44,960 INFO L273 TraceCheckUtils]: 12: Hoare triple {729#(or (<= (+ main_~i~0 2) ~SIZE~0) (= 1 main_~i~0))} assume !(1 + ~i~0 < ~SIZE~0); {730#(= 1 main_~i~0)} is VALID [2018-11-23 12:22:44,961 INFO L273 TraceCheckUtils]: 13: Hoare triple {730#(= 1 main_~i~0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {731#(and (= 1 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} is VALID [2018-11-23 12:22:44,962 INFO L273 TraceCheckUtils]: 14: Hoare triple {731#(and (= 1 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {732#(= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))))} is VALID [2018-11-23 12:22:44,963 INFO L273 TraceCheckUtils]: 15: Hoare triple {732#(= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))))} assume !(~i~0 < ~SIZE~0); {732#(= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))))} is VALID [2018-11-23 12:22:44,969 INFO L273 TraceCheckUtils]: 16: Hoare triple {732#(= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))))} ~i~0 := 0; {733#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:44,970 INFO L273 TraceCheckUtils]: 17: Hoare triple {733#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 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); {733#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:44,970 INFO L256 TraceCheckUtils]: 18: Hoare triple {733#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {726#true} is VALID [2018-11-23 12:22:44,970 INFO L273 TraceCheckUtils]: 19: Hoare triple {726#true} ~cond := #in~cond; {734#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:22:44,971 INFO L273 TraceCheckUtils]: 20: Hoare triple {734#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {735#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:22:44,972 INFO L273 TraceCheckUtils]: 21: Hoare triple {735#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {735#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:22:44,973 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {735#(not (= |__VERIFIER_assert_#in~cond| 0))} {733#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} #67#return; {733#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:44,974 INFO L273 TraceCheckUtils]: 23: Hoare triple {733#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} havoc #t~mem4; {733#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:44,976 INFO L273 TraceCheckUtils]: 24: Hoare triple {733#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {736#(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:44,980 INFO L273 TraceCheckUtils]: 25: Hoare triple {736#(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); {737#(and (<= main_~i~0 1) (= |main_#t~mem4| 1))} is VALID [2018-11-23 12:22:44,981 INFO L256 TraceCheckUtils]: 26: Hoare triple {737#(and (<= main_~i~0 1) (= |main_#t~mem4| 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {735#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:22:44,981 INFO L273 TraceCheckUtils]: 27: Hoare triple {735#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {738#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:22:44,982 INFO L273 TraceCheckUtils]: 28: Hoare triple {738#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {727#false} is VALID [2018-11-23 12:22:44,982 INFO L273 TraceCheckUtils]: 29: Hoare triple {727#false} assume !false; {727#false} is VALID [2018-11-23 12:22:44,986 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:22:44,987 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:44,987 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:22:44,999 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:45,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:45,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:45,058 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:45,186 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 13 treesize of output 10 [2018-11-23 12:22:45,193 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 10 treesize of output 9 [2018-11-23 12:22:45,195 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:45,197 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:45,201 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:45,201 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 12:22:45,544 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 17 treesize of output 13 [2018-11-23 12:22:45,553 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:22:45,554 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-23 12:22:45,556 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:45,560 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:45,566 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:45,566 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-23 12:22:45,569 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:45,569 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= (select .cse0 4) 1) (= main_~i~0 1) (<= (select .cse0 (* 4 main_~i~0)) |main_#t~mem4|))) [2018-11-23 12:22:45,569 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 1 |main_#t~mem4|) (= main_~i~0 1)) [2018-11-23 12:22:45,644 INFO L256 TraceCheckUtils]: 0: Hoare triple {726#true} call ULTIMATE.init(); {726#true} is VALID [2018-11-23 12:22:45,645 INFO L273 TraceCheckUtils]: 1: Hoare triple {726#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {726#true} is VALID [2018-11-23 12:22:45,645 INFO L273 TraceCheckUtils]: 2: Hoare triple {726#true} assume true; {726#true} is VALID [2018-11-23 12:22:45,646 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {726#true} {726#true} #63#return; {726#true} is VALID [2018-11-23 12:22:45,646 INFO L256 TraceCheckUtils]: 4: Hoare triple {726#true} call #t~ret5 := main(); {726#true} is VALID [2018-11-23 12:22:45,646 INFO L273 TraceCheckUtils]: 5: Hoare triple {726#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {726#true} is VALID [2018-11-23 12:22:45,660 INFO L273 TraceCheckUtils]: 6: Hoare triple {726#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {760#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:45,670 INFO L273 TraceCheckUtils]: 7: Hoare triple {760#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {760#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:45,682 INFO L273 TraceCheckUtils]: 8: Hoare triple {760#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {760#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:45,692 INFO L273 TraceCheckUtils]: 9: Hoare triple {760#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {760#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:45,692 INFO L273 TraceCheckUtils]: 10: Hoare triple {760#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {773#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:45,712 INFO L273 TraceCheckUtils]: 11: Hoare triple {773#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {773#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:45,713 INFO L273 TraceCheckUtils]: 12: Hoare triple {773#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !(1 + ~i~0 < ~SIZE~0); {773#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:45,713 INFO L273 TraceCheckUtils]: 13: Hoare triple {773#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {783#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:45,715 INFO L273 TraceCheckUtils]: 14: Hoare triple {783#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {783#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:45,715 INFO L273 TraceCheckUtils]: 15: Hoare triple {783#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {783#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:45,717 INFO L273 TraceCheckUtils]: 16: Hoare triple {783#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {793#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:45,718 INFO L273 TraceCheckUtils]: 17: Hoare triple {793#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |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); {793#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:45,720 INFO L256 TraceCheckUtils]: 18: Hoare triple {793#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |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)); {800#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4)))} is VALID [2018-11-23 12:22:45,721 INFO L273 TraceCheckUtils]: 19: Hoare triple {800#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4)))} ~cond := #in~cond; {804#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:22:45,722 INFO L273 TraceCheckUtils]: 20: Hoare triple {804#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {808#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4))))} is VALID [2018-11-23 12:22:45,723 INFO L273 TraceCheckUtils]: 21: Hoare triple {808#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4))))} assume true; {808#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4))))} is VALID [2018-11-23 12:22:45,724 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {808#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4))))} {793#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #67#return; {793#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:45,725 INFO L273 TraceCheckUtils]: 23: Hoare triple {793#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {793#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:45,726 INFO L273 TraceCheckUtils]: 24: Hoare triple {793#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |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; {821#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:45,727 INFO L273 TraceCheckUtils]: 25: Hoare triple {821#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |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); {825#(and (<= 1 |main_#t~mem4|) (= main_~i~0 1))} is VALID [2018-11-23 12:22:45,729 INFO L256 TraceCheckUtils]: 26: Hoare triple {825#(and (<= 1 |main_#t~mem4|) (= main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {829#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:22:45,730 INFO L273 TraceCheckUtils]: 27: Hoare triple {829#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {833#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:22:45,730 INFO L273 TraceCheckUtils]: 28: Hoare triple {833#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {727#false} is VALID [2018-11-23 12:22:45,731 INFO L273 TraceCheckUtils]: 29: Hoare triple {727#false} assume !false; {727#false} is VALID [2018-11-23 12:22:45,735 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:22:45,754 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:45,754 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 24 [2018-11-23 12:22:45,755 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 30 [2018-11-23 12:22:45,755 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:45,755 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-23 12:22:45,868 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:45,869 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-23 12:22:45,869 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-23 12:22:45,870 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=475, Unknown=0, NotChecked=0, Total=552 [2018-11-23 12:22:45,870 INFO L87 Difference]: Start difference. First operand 33 states and 35 transitions. Second operand 24 states. [2018-11-23 12:22:48,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:48,581 INFO L93 Difference]: Finished difference Result 75 states and 80 transitions. [2018-11-23 12:22:48,581 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 12:22:48,581 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 30 [2018-11-23 12:22:48,581 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:48,582 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:22:48,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 67 transitions. [2018-11-23 12:22:48,585 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:22:48,588 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 67 transitions. [2018-11-23 12:22:48,588 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 67 transitions. [2018-11-23 12:22:48,691 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:48,697 INFO L225 Difference]: With dead ends: 75 [2018-11-23 12:22:48,697 INFO L226 Difference]: Without dead ends: 73 [2018-11-23 12:22:48,698 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 20 SyntacticMatches, 2 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 217 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=128, Invalid=742, Unknown=0, NotChecked=0, Total=870 [2018-11-23 12:22:48,699 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2018-11-23 12:22:48,859 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 53. [2018-11-23 12:22:48,859 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:48,860 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand 53 states. [2018-11-23 12:22:48,860 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 53 states. [2018-11-23 12:22:48,860 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 53 states. [2018-11-23 12:22:48,865 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:48,865 INFO L93 Difference]: Finished difference Result 73 states and 78 transitions. [2018-11-23 12:22:48,866 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 78 transitions. [2018-11-23 12:22:48,866 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:48,867 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:48,867 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 73 states. [2018-11-23 12:22:48,867 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 73 states. [2018-11-23 12:22:48,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:48,870 INFO L93 Difference]: Finished difference Result 73 states and 78 transitions. [2018-11-23 12:22:48,871 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 78 transitions. [2018-11-23 12:22:48,871 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:48,871 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:48,872 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:48,872 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:48,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 53 states. [2018-11-23 12:22:48,874 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 58 transitions. [2018-11-23 12:22:48,874 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 58 transitions. Word has length 30 [2018-11-23 12:22:48,875 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:48,875 INFO L480 AbstractCegarLoop]: Abstraction has 53 states and 58 transitions. [2018-11-23 12:22:48,875 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-23 12:22:48,875 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2018-11-23 12:22:48,876 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-23 12:22:48,876 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:48,877 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:22:48,877 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:48,877 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:48,877 INFO L82 PathProgramCache]: Analyzing trace with hash 1830675681, now seen corresponding path program 2 times [2018-11-23 12:22:48,877 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:48,877 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:48,878 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:48,878 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:48,879 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:48,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:49,013 INFO L256 TraceCheckUtils]: 0: Hoare triple {1169#true} call ULTIMATE.init(); {1169#true} is VALID [2018-11-23 12:22:49,014 INFO L273 TraceCheckUtils]: 1: Hoare triple {1169#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1169#true} is VALID [2018-11-23 12:22:49,014 INFO L273 TraceCheckUtils]: 2: Hoare triple {1169#true} assume true; {1169#true} is VALID [2018-11-23 12:22:49,014 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1169#true} {1169#true} #63#return; {1169#true} is VALID [2018-11-23 12:22:49,015 INFO L256 TraceCheckUtils]: 4: Hoare triple {1169#true} call #t~ret5 := main(); {1169#true} is VALID [2018-11-23 12:22:49,015 INFO L273 TraceCheckUtils]: 5: Hoare triple {1169#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1169#true} is VALID [2018-11-23 12:22:49,035 INFO L273 TraceCheckUtils]: 6: Hoare triple {1169#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {1171#(= main_~i~0 0)} is VALID [2018-11-23 12:22:49,044 INFO L273 TraceCheckUtils]: 7: Hoare triple {1171#(= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {1171#(= main_~i~0 0)} is VALID [2018-11-23 12:22:49,059 INFO L273 TraceCheckUtils]: 8: Hoare triple {1171#(= main_~i~0 0)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1171#(= main_~i~0 0)} is VALID [2018-11-23 12:22:49,067 INFO L273 TraceCheckUtils]: 9: Hoare triple {1171#(= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1171#(= main_~i~0 0)} is VALID [2018-11-23 12:22:49,069 INFO L273 TraceCheckUtils]: 10: Hoare triple {1171#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1172#(<= main_~i~0 1)} is VALID [2018-11-23 12:22:49,070 INFO L273 TraceCheckUtils]: 11: Hoare triple {1172#(<= main_~i~0 1)} assume !!(~i~0 < ~SIZE~0); {1172#(<= main_~i~0 1)} is VALID [2018-11-23 12:22:49,074 INFO L273 TraceCheckUtils]: 12: Hoare triple {1172#(<= main_~i~0 1)} assume !(1 + ~i~0 < ~SIZE~0); {1173#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:49,074 INFO L273 TraceCheckUtils]: 13: Hoare triple {1173#(<= ~SIZE~0 2)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1173#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:49,074 INFO L273 TraceCheckUtils]: 14: Hoare triple {1173#(<= ~SIZE~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1173#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:49,075 INFO L273 TraceCheckUtils]: 15: Hoare triple {1173#(<= ~SIZE~0 2)} assume !(~i~0 < ~SIZE~0); {1173#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:49,075 INFO L273 TraceCheckUtils]: 16: Hoare triple {1173#(<= ~SIZE~0 2)} ~i~0 := 0; {1174#(and (<= ~SIZE~0 2) (= main_~i~0 0))} is VALID [2018-11-23 12:22:49,076 INFO L273 TraceCheckUtils]: 17: Hoare triple {1174#(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); {1174#(and (<= ~SIZE~0 2) (= main_~i~0 0))} is VALID [2018-11-23 12:22:49,076 INFO L256 TraceCheckUtils]: 18: Hoare triple {1174#(and (<= ~SIZE~0 2) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1169#true} is VALID [2018-11-23 12:22:49,076 INFO L273 TraceCheckUtils]: 19: Hoare triple {1169#true} ~cond := #in~cond; {1169#true} is VALID [2018-11-23 12:22:49,076 INFO L273 TraceCheckUtils]: 20: Hoare triple {1169#true} assume !(0 == ~cond); {1169#true} is VALID [2018-11-23 12:22:49,076 INFO L273 TraceCheckUtils]: 21: Hoare triple {1169#true} assume true; {1169#true} is VALID [2018-11-23 12:22:49,077 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {1169#true} {1174#(and (<= ~SIZE~0 2) (= main_~i~0 0))} #67#return; {1174#(and (<= ~SIZE~0 2) (= main_~i~0 0))} is VALID [2018-11-23 12:22:49,078 INFO L273 TraceCheckUtils]: 23: Hoare triple {1174#(and (<= ~SIZE~0 2) (= main_~i~0 0))} havoc #t~mem4; {1174#(and (<= ~SIZE~0 2) (= main_~i~0 0))} is VALID [2018-11-23 12:22:49,079 INFO L273 TraceCheckUtils]: 24: Hoare triple {1174#(and (<= ~SIZE~0 2) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1175#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:22:49,079 INFO L273 TraceCheckUtils]: 25: Hoare triple {1175#(<= ~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); {1175#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:22:49,080 INFO L256 TraceCheckUtils]: 26: Hoare triple {1175#(<= ~SIZE~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1169#true} is VALID [2018-11-23 12:22:49,080 INFO L273 TraceCheckUtils]: 27: Hoare triple {1169#true} ~cond := #in~cond; {1169#true} is VALID [2018-11-23 12:22:49,080 INFO L273 TraceCheckUtils]: 28: Hoare triple {1169#true} assume !(0 == ~cond); {1169#true} is VALID [2018-11-23 12:22:49,081 INFO L273 TraceCheckUtils]: 29: Hoare triple {1169#true} assume true; {1169#true} is VALID [2018-11-23 12:22:49,088 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {1169#true} {1175#(<= ~SIZE~0 (+ main_~i~0 1))} #67#return; {1175#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:22:49,088 INFO L273 TraceCheckUtils]: 31: Hoare triple {1175#(<= ~SIZE~0 (+ main_~i~0 1))} havoc #t~mem4; {1175#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:22:49,093 INFO L273 TraceCheckUtils]: 32: Hoare triple {1175#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1176#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-23 12:22:49,093 INFO L273 TraceCheckUtils]: 33: Hoare triple {1176#(<= ~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); {1170#false} is VALID [2018-11-23 12:22:49,093 INFO L256 TraceCheckUtils]: 34: Hoare triple {1170#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1170#false} is VALID [2018-11-23 12:22:49,094 INFO L273 TraceCheckUtils]: 35: Hoare triple {1170#false} ~cond := #in~cond; {1170#false} is VALID [2018-11-23 12:22:49,094 INFO L273 TraceCheckUtils]: 36: Hoare triple {1170#false} assume 0 == ~cond; {1170#false} is VALID [2018-11-23 12:22:49,094 INFO L273 TraceCheckUtils]: 37: Hoare triple {1170#false} assume !false; {1170#false} is VALID [2018-11-23 12:22:49,096 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:22:49,096 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:49,096 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:22:49,104 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:22:49,126 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:22:49,127 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:22:49,141 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:49,143 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:49,324 INFO L256 TraceCheckUtils]: 0: Hoare triple {1169#true} call ULTIMATE.init(); {1169#true} is VALID [2018-11-23 12:22:49,324 INFO L273 TraceCheckUtils]: 1: Hoare triple {1169#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1169#true} is VALID [2018-11-23 12:22:49,325 INFO L273 TraceCheckUtils]: 2: Hoare triple {1169#true} assume true; {1169#true} is VALID [2018-11-23 12:22:49,325 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1169#true} {1169#true} #63#return; {1169#true} is VALID [2018-11-23 12:22:49,325 INFO L256 TraceCheckUtils]: 4: Hoare triple {1169#true} call #t~ret5 := main(); {1169#true} is VALID [2018-11-23 12:22:49,325 INFO L273 TraceCheckUtils]: 5: Hoare triple {1169#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1169#true} is VALID [2018-11-23 12:22:49,327 INFO L273 TraceCheckUtils]: 6: Hoare triple {1169#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {1198#(<= main_~i~0 0)} is VALID [2018-11-23 12:22:49,327 INFO L273 TraceCheckUtils]: 7: Hoare triple {1198#(<= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {1198#(<= main_~i~0 0)} is VALID [2018-11-23 12:22:49,328 INFO L273 TraceCheckUtils]: 8: Hoare triple {1198#(<= main_~i~0 0)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1198#(<= main_~i~0 0)} is VALID [2018-11-23 12:22:49,328 INFO L273 TraceCheckUtils]: 9: Hoare triple {1198#(<= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1198#(<= main_~i~0 0)} is VALID [2018-11-23 12:22:49,328 INFO L273 TraceCheckUtils]: 10: Hoare triple {1198#(<= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1172#(<= main_~i~0 1)} is VALID [2018-11-23 12:22:49,329 INFO L273 TraceCheckUtils]: 11: Hoare triple {1172#(<= main_~i~0 1)} assume !!(~i~0 < ~SIZE~0); {1172#(<= main_~i~0 1)} is VALID [2018-11-23 12:22:49,329 INFO L273 TraceCheckUtils]: 12: Hoare triple {1172#(<= main_~i~0 1)} assume !(1 + ~i~0 < ~SIZE~0); {1173#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:49,330 INFO L273 TraceCheckUtils]: 13: Hoare triple {1173#(<= ~SIZE~0 2)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1173#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:49,330 INFO L273 TraceCheckUtils]: 14: Hoare triple {1173#(<= ~SIZE~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1173#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:49,336 INFO L273 TraceCheckUtils]: 15: Hoare triple {1173#(<= ~SIZE~0 2)} assume !(~i~0 < ~SIZE~0); {1173#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:49,337 INFO L273 TraceCheckUtils]: 16: Hoare triple {1173#(<= ~SIZE~0 2)} ~i~0 := 0; {1229#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:22:49,337 INFO L273 TraceCheckUtils]: 17: Hoare triple {1229#(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); {1229#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:22:49,338 INFO L256 TraceCheckUtils]: 18: Hoare triple {1229#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1173#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:49,339 INFO L273 TraceCheckUtils]: 19: Hoare triple {1173#(<= ~SIZE~0 2)} ~cond := #in~cond; {1173#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:49,339 INFO L273 TraceCheckUtils]: 20: Hoare triple {1173#(<= ~SIZE~0 2)} assume !(0 == ~cond); {1173#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:49,339 INFO L273 TraceCheckUtils]: 21: Hoare triple {1173#(<= ~SIZE~0 2)} assume true; {1173#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:49,340 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {1173#(<= ~SIZE~0 2)} {1229#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} #67#return; {1229#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:22:49,340 INFO L273 TraceCheckUtils]: 23: Hoare triple {1229#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} havoc #t~mem4; {1229#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:22:49,341 INFO L273 TraceCheckUtils]: 24: Hoare triple {1229#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1254#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:22:49,342 INFO L273 TraceCheckUtils]: 25: Hoare triple {1254#(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); {1254#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:22:49,344 INFO L256 TraceCheckUtils]: 26: Hoare triple {1254#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1173#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:49,344 INFO L273 TraceCheckUtils]: 27: Hoare triple {1173#(<= ~SIZE~0 2)} ~cond := #in~cond; {1173#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:49,345 INFO L273 TraceCheckUtils]: 28: Hoare triple {1173#(<= ~SIZE~0 2)} assume !(0 == ~cond); {1173#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:49,346 INFO L273 TraceCheckUtils]: 29: Hoare triple {1173#(<= ~SIZE~0 2)} assume true; {1173#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:49,346 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {1173#(<= ~SIZE~0 2)} {1254#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} #67#return; {1254#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:22:49,347 INFO L273 TraceCheckUtils]: 31: Hoare triple {1254#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} havoc #t~mem4; {1254#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:22:49,348 INFO L273 TraceCheckUtils]: 32: Hoare triple {1254#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1279#(and (<= 2 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:22:49,349 INFO L273 TraceCheckUtils]: 33: Hoare triple {1279#(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); {1170#false} is VALID [2018-11-23 12:22:49,349 INFO L256 TraceCheckUtils]: 34: Hoare triple {1170#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1170#false} is VALID [2018-11-23 12:22:49,350 INFO L273 TraceCheckUtils]: 35: Hoare triple {1170#false} ~cond := #in~cond; {1170#false} is VALID [2018-11-23 12:22:49,350 INFO L273 TraceCheckUtils]: 36: Hoare triple {1170#false} assume 0 == ~cond; {1170#false} is VALID [2018-11-23 12:22:49,350 INFO L273 TraceCheckUtils]: 37: Hoare triple {1170#false} assume !false; {1170#false} is VALID [2018-11-23 12:22:49,353 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:22:49,382 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:49,382 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2018-11-23 12:22:49,383 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 38 [2018-11-23 12:22:49,383 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:49,383 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-23 12:22:49,437 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:49,437 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-23 12:22:49,437 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-23 12:22:49,437 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2018-11-23 12:22:49,438 INFO L87 Difference]: Start difference. First operand 53 states and 58 transitions. Second operand 12 states. [2018-11-23 12:22:50,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:50,023 INFO L93 Difference]: Finished difference Result 119 states and 131 transitions. [2018-11-23 12:22:50,023 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 12:22:50,023 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 38 [2018-11-23 12:22:50,024 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:50,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 12:22:50,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 82 transitions. [2018-11-23 12:22:50,027 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 12:22:50,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 82 transitions. [2018-11-23 12:22:50,031 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 82 transitions. [2018-11-23 12:22:50,115 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:50,118 INFO L225 Difference]: With dead ends: 119 [2018-11-23 12:22:50,118 INFO L226 Difference]: Without dead ends: 61 [2018-11-23 12:22:50,119 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 48 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=58, Invalid=152, Unknown=0, NotChecked=0, Total=210 [2018-11-23 12:22:50,119 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2018-11-23 12:22:50,243 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 53. [2018-11-23 12:22:50,244 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:50,244 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand 53 states. [2018-11-23 12:22:50,244 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 53 states. [2018-11-23 12:22:50,244 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 53 states. [2018-11-23 12:22:50,249 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:50,249 INFO L93 Difference]: Finished difference Result 61 states and 65 transitions. [2018-11-23 12:22:50,249 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 65 transitions. [2018-11-23 12:22:50,250 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:50,250 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:50,250 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 61 states. [2018-11-23 12:22:50,250 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 61 states. [2018-11-23 12:22:50,253 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:50,253 INFO L93 Difference]: Finished difference Result 61 states and 65 transitions. [2018-11-23 12:22:50,254 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 65 transitions. [2018-11-23 12:22:50,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:50,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:50,255 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:50,255 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:50,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 53 states. [2018-11-23 12:22:50,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 55 transitions. [2018-11-23 12:22:50,257 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 55 transitions. Word has length 38 [2018-11-23 12:22:50,257 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:50,257 INFO L480 AbstractCegarLoop]: Abstraction has 53 states and 55 transitions. [2018-11-23 12:22:50,257 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-23 12:22:50,258 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 55 transitions. [2018-11-23 12:22:50,258 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-23 12:22:50,259 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:50,259 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:50,259 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:50,259 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:50,259 INFO L82 PathProgramCache]: Analyzing trace with hash 1331775524, now seen corresponding path program 3 times [2018-11-23 12:22:50,259 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:50,260 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:50,260 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:50,260 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:22:50,261 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:50,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:50,772 INFO L256 TraceCheckUtils]: 0: Hoare triple {1656#true} call ULTIMATE.init(); {1656#true} is VALID [2018-11-23 12:22:50,772 INFO L273 TraceCheckUtils]: 1: Hoare triple {1656#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1656#true} is VALID [2018-11-23 12:22:50,773 INFO L273 TraceCheckUtils]: 2: Hoare triple {1656#true} assume true; {1656#true} is VALID [2018-11-23 12:22:50,773 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1656#true} {1656#true} #63#return; {1656#true} is VALID [2018-11-23 12:22:50,773 INFO L256 TraceCheckUtils]: 4: Hoare triple {1656#true} call #t~ret5 := main(); {1656#true} is VALID [2018-11-23 12:22:50,773 INFO L273 TraceCheckUtils]: 5: Hoare triple {1656#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1656#true} is VALID [2018-11-23 12:22:50,774 INFO L273 TraceCheckUtils]: 6: Hoare triple {1656#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {1658#(= main_~i~0 0)} is VALID [2018-11-23 12:22:50,774 INFO L273 TraceCheckUtils]: 7: Hoare triple {1658#(= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {1658#(= main_~i~0 0)} is VALID [2018-11-23 12:22:50,774 INFO L273 TraceCheckUtils]: 8: Hoare triple {1658#(= main_~i~0 0)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1658#(= main_~i~0 0)} is VALID [2018-11-23 12:22:50,775 INFO L273 TraceCheckUtils]: 9: Hoare triple {1658#(= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1658#(= main_~i~0 0)} is VALID [2018-11-23 12:22:50,775 INFO L273 TraceCheckUtils]: 10: Hoare triple {1658#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1659#(= (* 4 main_~i~0) 4)} is VALID [2018-11-23 12:22:50,776 INFO L273 TraceCheckUtils]: 11: Hoare triple {1659#(= (* 4 main_~i~0) 4)} assume !!(~i~0 < ~SIZE~0); {1659#(= (* 4 main_~i~0) 4)} is VALID [2018-11-23 12:22:50,776 INFO L273 TraceCheckUtils]: 12: Hoare triple {1659#(= (* 4 main_~i~0) 4)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1659#(= (* 4 main_~i~0) 4)} is VALID [2018-11-23 12:22:50,777 INFO L273 TraceCheckUtils]: 13: Hoare triple {1659#(= (* 4 main_~i~0) 4)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1660#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= (* 4 main_~i~0) 4))} is VALID [2018-11-23 12:22:50,777 INFO L273 TraceCheckUtils]: 14: Hoare triple {1660#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= (* 4 main_~i~0) 4))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1661#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))))} is VALID [2018-11-23 12:22:50,778 INFO L273 TraceCheckUtils]: 15: Hoare triple {1661#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))))} assume !!(~i~0 < ~SIZE~0); {1661#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))))} is VALID [2018-11-23 12:22:50,780 INFO L273 TraceCheckUtils]: 16: Hoare triple {1661#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1661#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))))} is VALID [2018-11-23 12:22:50,781 INFO L273 TraceCheckUtils]: 17: Hoare triple {1661#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1661#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))))} is VALID [2018-11-23 12:22:50,782 INFO L273 TraceCheckUtils]: 18: Hoare triple {1661#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1662#(<= 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 0) 4))))} is VALID [2018-11-23 12:22:50,783 INFO L273 TraceCheckUtils]: 19: Hoare triple {1662#(<= 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 0) 4))))} assume !!(~i~0 < ~SIZE~0); {1662#(<= 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 0) 4))))} is VALID [2018-11-23 12:22:50,784 INFO L273 TraceCheckUtils]: 20: Hoare triple {1662#(<= 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 0) 4))))} assume !(1 + ~i~0 < ~SIZE~0); {1662#(<= 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 0) 4))))} is VALID [2018-11-23 12:22:50,785 INFO L273 TraceCheckUtils]: 21: Hoare triple {1662#(<= 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 0) 4))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1663#(<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))))} is VALID [2018-11-23 12:22:50,785 INFO L273 TraceCheckUtils]: 22: Hoare triple {1663#(<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1663#(<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))))} is VALID [2018-11-23 12:22:50,786 INFO L273 TraceCheckUtils]: 23: Hoare triple {1663#(<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))))} assume !(~i~0 < ~SIZE~0); {1663#(<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))))} is VALID [2018-11-23 12:22:50,787 INFO L273 TraceCheckUtils]: 24: Hoare triple {1663#(<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))))} ~i~0 := 0; {1664#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:50,788 INFO L273 TraceCheckUtils]: 25: Hoare triple {1664#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 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); {1664#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:50,789 INFO L256 TraceCheckUtils]: 26: Hoare triple {1664#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1656#true} is VALID [2018-11-23 12:22:50,790 INFO L273 TraceCheckUtils]: 27: Hoare triple {1656#true} ~cond := #in~cond; {1665#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:22:50,793 INFO L273 TraceCheckUtils]: 28: Hoare triple {1665#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {1666#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:22:50,796 INFO L273 TraceCheckUtils]: 29: Hoare triple {1666#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1666#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:22:50,797 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {1666#(not (= |__VERIFIER_assert_#in~cond| 0))} {1664#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} #67#return; {1664#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:50,798 INFO L273 TraceCheckUtils]: 31: Hoare triple {1664#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} havoc #t~mem4; {1664#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:50,799 INFO L273 TraceCheckUtils]: 32: Hoare triple {1664#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1667#(<= 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:22:50,799 INFO L273 TraceCheckUtils]: 33: Hoare triple {1667#(<= 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); {1668#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:22:50,800 INFO L256 TraceCheckUtils]: 34: Hoare triple {1668#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1666#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:22:50,800 INFO L273 TraceCheckUtils]: 35: Hoare triple {1666#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1669#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:22:50,801 INFO L273 TraceCheckUtils]: 36: Hoare triple {1669#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1657#false} is VALID [2018-11-23 12:22:50,801 INFO L273 TraceCheckUtils]: 37: Hoare triple {1657#false} assume !false; {1657#false} is VALID [2018-11-23 12:22:50,807 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 2 proven. 30 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:22:50,807 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:50,807 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:22:50,816 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:22:50,882 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2018-11-23 12:22:50,882 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:22:50,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:50,915 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:51,086 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:22:51,098 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:51,100 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:51,102 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:51,109 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:51,109 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:22, output treesize:18 [2018-11-23 12:22:51,331 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 26 treesize of output 21 [2018-11-23 12:22:51,338 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:51,341 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:51,342 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 21 treesize of output 43 [2018-11-23 12:22:51,349 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:51,365 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:51,377 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:51,377 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:32, output treesize:28 [2018-11-23 12:22:51,473 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 37 treesize of output 30 [2018-11-23 12:22:51,482 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:51,484 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:51,486 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:51,488 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:51,489 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 86 [2018-11-23 12:22:51,495 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:51,514 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:51,535 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:51,535 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:43, output treesize:39 [2018-11-23 12:22:51,653 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:51,654 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 52 treesize of output 53 [2018-11-23 12:22:51,668 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:51,670 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:51,671 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:51,673 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:51,673 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:51,674 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 53 treesize of output 104 [2018-11-23 12:22:51,679 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:51,698 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:51,715 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:22:51,716 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:58, output treesize:41 [2018-11-23 12:22:53,722 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:53,722 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_14|, main_~i~0]. (let ((.cse2 (* 4 main_~i~0))) (let ((.cse1 (+ .cse2 |main_~#a~0.offset|)) (.cse0 (select |v_#memory_int_14| |main_~#a~0.base|))) (and (= (store |v_#memory_int_14| |main_~#a~0.base| (store .cse0 .cse1 main_~i~0)) |#memory_int|) (= (+ (select .cse0 (+ .cse2 |main_~#a~0.offset| (- 4))) 1) main_~i~0) (= main_~i~0 (+ (select .cse0 .cse1) 1)) (= 1 (select .cse0 (+ |main_~#a~0.offset| 4))) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:22:53,722 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [main_~i~0]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (= 1 (select .cse0 (+ |main_~#a~0.offset| 4))) (<= 3 main_~i~0) (= main_~i~0 (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))) [2018-11-23 12:22:54,610 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 39 treesize of output 31 [2018-11-23 12:22:54,620 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:54,621 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:54,622 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:54,624 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:54,626 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:54,627 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:22:54,628 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:54,631 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:54,632 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:54,635 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 31 treesize of output 67 [2018-11-23 12:22:54,642 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:54,659 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:54,667 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:22:54,667 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:45, output treesize:7 [2018-11-23 12:22:54,670 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:54,670 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, v_prenex_2]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 v_prenex_2))) (and (= (select .cse0 .cse1) v_prenex_2) (= (select .cse0 4) 1) (= main_~i~0 1) (<= 3 v_prenex_2) (<= (select .cse0 (* 4 main_~i~0)) |main_#t~mem4|) (= (+ (select .cse0 (+ .cse1 (- 4))) 1) v_prenex_2))) [2018-11-23 12:22:54,670 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 1 |main_#t~mem4|) (= main_~i~0 1)) [2018-11-23 12:22:54,772 INFO L256 TraceCheckUtils]: 0: Hoare triple {1656#true} call ULTIMATE.init(); {1656#true} is VALID [2018-11-23 12:22:54,772 INFO L273 TraceCheckUtils]: 1: Hoare triple {1656#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1656#true} is VALID [2018-11-23 12:22:54,773 INFO L273 TraceCheckUtils]: 2: Hoare triple {1656#true} assume true; {1656#true} is VALID [2018-11-23 12:22:54,773 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1656#true} {1656#true} #63#return; {1656#true} is VALID [2018-11-23 12:22:54,773 INFO L256 TraceCheckUtils]: 4: Hoare triple {1656#true} call #t~ret5 := main(); {1656#true} is VALID [2018-11-23 12:22:54,774 INFO L273 TraceCheckUtils]: 5: Hoare triple {1656#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1656#true} is VALID [2018-11-23 12:22:54,775 INFO L273 TraceCheckUtils]: 6: Hoare triple {1656#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {1691#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:54,776 INFO L273 TraceCheckUtils]: 7: Hoare triple {1691#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {1691#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:54,776 INFO L273 TraceCheckUtils]: 8: Hoare triple {1691#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1691#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:54,777 INFO L273 TraceCheckUtils]: 9: Hoare triple {1691#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1691#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:54,777 INFO L273 TraceCheckUtils]: 10: Hoare triple {1691#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1704#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:54,778 INFO L273 TraceCheckUtils]: 11: Hoare triple {1704#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {1704#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:54,778 INFO L273 TraceCheckUtils]: 12: Hoare triple {1704#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1704#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:54,780 INFO L273 TraceCheckUtils]: 13: Hoare triple {1704#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1714#(and (= main_~i~0 1) (= 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:22:54,781 INFO L273 TraceCheckUtils]: 14: Hoare triple {1714#(and (= main_~i~0 1) (= 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 := 1 + #t~post2;havoc #t~post2; {1718#(and (<= 2 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:54,786 INFO L273 TraceCheckUtils]: 15: Hoare triple {1718#(and (<= 2 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {1718#(and (<= 2 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:54,787 INFO L273 TraceCheckUtils]: 16: Hoare triple {1718#(and (<= 2 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1725#(and (<= 2 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:54,788 INFO L273 TraceCheckUtils]: 17: Hoare triple {1725#(and (<= 2 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |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); {1729#(and (<= 2 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |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:22:54,790 INFO L273 TraceCheckUtils]: 18: Hoare triple {1729#(and (<= 2 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |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 := 1 + #t~post2;havoc #t~post2; {1733#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:54,791 INFO L273 TraceCheckUtils]: 19: Hoare triple {1733#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {1733#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:54,792 INFO L273 TraceCheckUtils]: 20: Hoare triple {1733#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} assume !(1 + ~i~0 < ~SIZE~0); {1733#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:54,793 INFO L273 TraceCheckUtils]: 21: Hoare triple {1733#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1743#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (exists ((main_~i~0 Int)) (and (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= 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:22:54,794 INFO L273 TraceCheckUtils]: 22: Hoare triple {1743#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (exists ((main_~i~0 Int)) (and (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= 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 := 1 + #t~post2;havoc #t~post2; {1743#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (exists ((main_~i~0 Int)) (and (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= 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:22:54,795 INFO L273 TraceCheckUtils]: 23: Hoare triple {1743#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (exists ((main_~i~0 Int)) (and (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= 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 < ~SIZE~0); {1743#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (exists ((main_~i~0 Int)) (and (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= 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:22:54,798 INFO L273 TraceCheckUtils]: 24: Hoare triple {1743#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (exists ((main_~i~0 Int)) (and (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= 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; {1753#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (exists ((v_prenex_2 Int)) (and (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))) (<= 3 v_prenex_2))))} is VALID [2018-11-23 12:22:54,799 INFO L273 TraceCheckUtils]: 25: Hoare triple {1753#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (exists ((v_prenex_2 Int)) (and (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))) (<= 3 v_prenex_2))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1753#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (exists ((v_prenex_2 Int)) (and (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))) (<= 3 v_prenex_2))))} is VALID [2018-11-23 12:22:54,802 INFO L256 TraceCheckUtils]: 26: Hoare triple {1753#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (exists ((v_prenex_2 Int)) (and (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))) (<= 3 v_prenex_2))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1760#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_2 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_2)) v_prenex_2) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_2) (- 4))) 1) v_prenex_2) (<= 3 v_prenex_2)))} is VALID [2018-11-23 12:22:54,803 INFO L273 TraceCheckUtils]: 27: Hoare triple {1760#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_2 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_2)) v_prenex_2) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_2) (- 4))) 1) v_prenex_2) (<= 3 v_prenex_2)))} ~cond := #in~cond; {1764#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_2 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_2)) v_prenex_2) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_2) (- 4))) 1) v_prenex_2) (<= 3 v_prenex_2))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:22:54,804 INFO L273 TraceCheckUtils]: 28: Hoare triple {1764#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_2 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_2)) v_prenex_2) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_2) (- 4))) 1) v_prenex_2) (<= 3 v_prenex_2))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {1768#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_2 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_2)) v_prenex_2) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_2) (- 4))) 1) v_prenex_2) (<= 3 v_prenex_2))) (not (= |__VERIFIER_assert_#in~cond| 0)))} is VALID [2018-11-23 12:22:54,805 INFO L273 TraceCheckUtils]: 29: Hoare triple {1768#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_2 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_2)) v_prenex_2) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_2) (- 4))) 1) v_prenex_2) (<= 3 v_prenex_2))) (not (= |__VERIFIER_assert_#in~cond| 0)))} assume true; {1768#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_2 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_2)) v_prenex_2) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_2) (- 4))) 1) v_prenex_2) (<= 3 v_prenex_2))) (not (= |__VERIFIER_assert_#in~cond| 0)))} is VALID [2018-11-23 12:22:54,806 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {1768#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_2 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_2)) v_prenex_2) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_2) (- 4))) 1) v_prenex_2) (<= 3 v_prenex_2))) (not (= |__VERIFIER_assert_#in~cond| 0)))} {1753#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (exists ((v_prenex_2 Int)) (and (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))) (<= 3 v_prenex_2))))} #67#return; {1753#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (exists ((v_prenex_2 Int)) (and (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))) (<= 3 v_prenex_2))))} is VALID [2018-11-23 12:22:54,807 INFO L273 TraceCheckUtils]: 31: Hoare triple {1753#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (exists ((v_prenex_2 Int)) (and (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))) (<= 3 v_prenex_2))))} havoc #t~mem4; {1753#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (exists ((v_prenex_2 Int)) (and (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))) (<= 3 v_prenex_2))))} is VALID [2018-11-23 12:22:54,809 INFO L273 TraceCheckUtils]: 32: Hoare triple {1753#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (exists ((v_prenex_2 Int)) (and (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))) (<= 3 v_prenex_2))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1781#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (exists ((v_prenex_2 Int)) (and (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))) (<= 3 v_prenex_2))))} is VALID [2018-11-23 12:22:54,810 INFO L273 TraceCheckUtils]: 33: Hoare triple {1781#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (exists ((v_prenex_2 Int)) (and (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))) (<= 3 v_prenex_2))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1785#(and (<= 1 |main_#t~mem4|) (= main_~i~0 1))} is VALID [2018-11-23 12:22:54,812 INFO L256 TraceCheckUtils]: 34: Hoare triple {1785#(and (<= 1 |main_#t~mem4|) (= main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1789#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:22:54,813 INFO L273 TraceCheckUtils]: 35: Hoare triple {1789#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1793#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:22:54,814 INFO L273 TraceCheckUtils]: 36: Hoare triple {1793#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1657#false} is VALID [2018-11-23 12:22:54,814 INFO L273 TraceCheckUtils]: 37: Hoare triple {1657#false} assume !false; {1657#false} is VALID [2018-11-23 12:22:54,823 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 2 proven. 30 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:22:54,842 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:54,842 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 18] total 30 [2018-11-23 12:22:54,843 INFO L78 Accepts]: Start accepts. Automaton has 30 states. Word has length 38 [2018-11-23 12:22:54,844 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:54,844 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 30 states. [2018-11-23 12:22:54,946 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:22:54,946 INFO L459 AbstractCegarLoop]: Interpolant automaton has 30 states [2018-11-23 12:22:54,947 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2018-11-23 12:22:54,947 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=122, Invalid=748, Unknown=0, NotChecked=0, Total=870 [2018-11-23 12:22:54,947 INFO L87 Difference]: Start difference. First operand 53 states and 55 transitions. Second operand 30 states. [2018-11-23 12:22:59,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:59,746 INFO L93 Difference]: Finished difference Result 88 states and 91 transitions. [2018-11-23 12:22:59,746 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2018-11-23 12:22:59,746 INFO L78 Accepts]: Start accepts. Automaton has 30 states. Word has length 38 [2018-11-23 12:22:59,747 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:59,747 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-23 12:22:59,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 85 transitions. [2018-11-23 12:22:59,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-23 12:22:59,755 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 85 transitions. [2018-11-23 12:22:59,755 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 36 states and 85 transitions. [2018-11-23 12:22:59,892 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:59,894 INFO L225 Difference]: With dead ends: 88 [2018-11-23 12:22:59,894 INFO L226 Difference]: Without dead ends: 86 [2018-11-23 12:22:59,896 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 23 SyntacticMatches, 4 SemanticMatches, 48 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 716 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=310, Invalid=2140, Unknown=0, NotChecked=0, Total=2450 [2018-11-23 12:22:59,896 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2018-11-23 12:23:00,011 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 45. [2018-11-23 12:23:00,011 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:00,012 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 45 states. [2018-11-23 12:23:00,012 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 45 states. [2018-11-23 12:23:00,012 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 45 states. [2018-11-23 12:23:00,016 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:00,016 INFO L93 Difference]: Finished difference Result 86 states and 89 transitions. [2018-11-23 12:23:00,016 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 89 transitions. [2018-11-23 12:23:00,017 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:00,017 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:00,017 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 86 states. [2018-11-23 12:23:00,017 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 86 states. [2018-11-23 12:23:00,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:00,020 INFO L93 Difference]: Finished difference Result 86 states and 89 transitions. [2018-11-23 12:23:00,020 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 89 transitions. [2018-11-23 12:23:00,021 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:00,021 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:00,021 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:00,021 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:00,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-11-23 12:23:00,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 46 transitions. [2018-11-23 12:23:00,023 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 46 transitions. Word has length 38 [2018-11-23 12:23:00,023 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:00,023 INFO L480 AbstractCegarLoop]: Abstraction has 45 states and 46 transitions. [2018-11-23 12:23:00,023 INFO L481 AbstractCegarLoop]: Interpolant automaton has 30 states. [2018-11-23 12:23:00,024 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 46 transitions. [2018-11-23 12:23:00,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-23 12:23:00,024 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:00,025 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:00,025 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:00,025 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:00,025 INFO L82 PathProgramCache]: Analyzing trace with hash -1193168612, now seen corresponding path program 4 times [2018-11-23 12:23:00,025 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:00,026 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:00,026 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:00,026 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:00,027 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:00,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:00,574 INFO L256 TraceCheckUtils]: 0: Hoare triple {2190#true} call ULTIMATE.init(); {2190#true} is VALID [2018-11-23 12:23:00,574 INFO L273 TraceCheckUtils]: 1: Hoare triple {2190#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {2190#true} is VALID [2018-11-23 12:23:00,574 INFO L273 TraceCheckUtils]: 2: Hoare triple {2190#true} assume true; {2190#true} is VALID [2018-11-23 12:23:00,575 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2190#true} {2190#true} #63#return; {2190#true} is VALID [2018-11-23 12:23:00,575 INFO L256 TraceCheckUtils]: 4: Hoare triple {2190#true} call #t~ret5 := main(); {2190#true} is VALID [2018-11-23 12:23:00,575 INFO L273 TraceCheckUtils]: 5: Hoare triple {2190#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2190#true} is VALID [2018-11-23 12:23:00,576 INFO L273 TraceCheckUtils]: 6: Hoare triple {2190#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {2192#(= main_~i~0 0)} is VALID [2018-11-23 12:23:00,577 INFO L273 TraceCheckUtils]: 7: Hoare triple {2192#(= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {2192#(= main_~i~0 0)} is VALID [2018-11-23 12:23:00,577 INFO L273 TraceCheckUtils]: 8: Hoare triple {2192#(= main_~i~0 0)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {2192#(= main_~i~0 0)} is VALID [2018-11-23 12:23:00,577 INFO L273 TraceCheckUtils]: 9: Hoare triple {2192#(= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2192#(= main_~i~0 0)} is VALID [2018-11-23 12:23:00,578 INFO L273 TraceCheckUtils]: 10: Hoare triple {2192#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2193#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 12:23:00,578 INFO L273 TraceCheckUtils]: 11: Hoare triple {2193#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume !!(~i~0 < ~SIZE~0); {2193#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 12:23:00,579 INFO L273 TraceCheckUtils]: 12: Hoare triple {2193#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {2193#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 12:23:00,580 INFO L273 TraceCheckUtils]: 13: Hoare triple {2193#(and (<= 1 main_~i~0) (<= main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2193#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 12:23:00,581 INFO L273 TraceCheckUtils]: 14: Hoare triple {2193#(and (<= 1 main_~i~0) (<= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2194#(= (* 4 main_~i~0) 8)} is VALID [2018-11-23 12:23:00,581 INFO L273 TraceCheckUtils]: 15: Hoare triple {2194#(= (* 4 main_~i~0) 8)} assume !!(~i~0 < ~SIZE~0); {2194#(= (* 4 main_~i~0) 8)} is VALID [2018-11-23 12:23:00,582 INFO L273 TraceCheckUtils]: 16: Hoare triple {2194#(= (* 4 main_~i~0) 8)} assume !(1 + ~i~0 < ~SIZE~0); {2194#(= (* 4 main_~i~0) 8)} is VALID [2018-11-23 12:23:00,584 INFO L273 TraceCheckUtils]: 17: Hoare triple {2194#(= (* 4 main_~i~0) 8)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2195#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= (* 4 main_~i~0) 8))} is VALID [2018-11-23 12:23:00,585 INFO L273 TraceCheckUtils]: 18: Hoare triple {2195#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= (* 4 main_~i~0) 8))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2196#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-23 12:23:00,585 INFO L273 TraceCheckUtils]: 19: Hoare triple {2196#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} assume !(~i~0 < ~SIZE~0); {2196#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-23 12:23:00,586 INFO L273 TraceCheckUtils]: 20: Hoare triple {2196#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} ~i~0 := 0; {2197#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-23 12:23:00,586 INFO L273 TraceCheckUtils]: 21: Hoare triple {2197#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2197#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-23 12:23:00,587 INFO L256 TraceCheckUtils]: 22: Hoare triple {2197#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2190#true} is VALID [2018-11-23 12:23:00,587 INFO L273 TraceCheckUtils]: 23: Hoare triple {2190#true} ~cond := #in~cond; {2198#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:23:00,587 INFO L273 TraceCheckUtils]: 24: Hoare triple {2198#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {2199#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:00,588 INFO L273 TraceCheckUtils]: 25: Hoare triple {2199#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2199#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:00,596 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {2199#(not (= |__VERIFIER_assert_#in~cond| 0))} {2197#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} #67#return; {2197#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-23 12:23:00,596 INFO L273 TraceCheckUtils]: 27: Hoare triple {2197#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} havoc #t~mem4; {2197#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-23 12:23:00,597 INFO L273 TraceCheckUtils]: 28: Hoare triple {2197#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2200#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-23 12:23:00,597 INFO L273 TraceCheckUtils]: 29: Hoare triple {2200#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |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); {2200#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-23 12:23:00,598 INFO L256 TraceCheckUtils]: 30: Hoare triple {2200#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2190#true} is VALID [2018-11-23 12:23:00,598 INFO L273 TraceCheckUtils]: 31: Hoare triple {2190#true} ~cond := #in~cond; {2190#true} is VALID [2018-11-23 12:23:00,598 INFO L273 TraceCheckUtils]: 32: Hoare triple {2190#true} assume !(0 == ~cond); {2190#true} is VALID [2018-11-23 12:23:00,598 INFO L273 TraceCheckUtils]: 33: Hoare triple {2190#true} assume true; {2190#true} is VALID [2018-11-23 12:23:00,599 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {2190#true} {2200#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} #67#return; {2200#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-23 12:23:00,599 INFO L273 TraceCheckUtils]: 35: Hoare triple {2200#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} havoc #t~mem4; {2200#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-23 12:23:00,600 INFO L273 TraceCheckUtils]: 36: Hoare triple {2200#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2201#(<= 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:00,601 INFO L273 TraceCheckUtils]: 37: Hoare triple {2201#(<= 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); {2202#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:23:00,602 INFO L256 TraceCheckUtils]: 38: Hoare triple {2202#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2199#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:00,602 INFO L273 TraceCheckUtils]: 39: Hoare triple {2199#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {2203#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:23:00,603 INFO L273 TraceCheckUtils]: 40: Hoare triple {2203#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {2191#false} is VALID [2018-11-23 12:23:00,603 INFO L273 TraceCheckUtils]: 41: Hoare triple {2191#false} assume !false; {2191#false} is VALID [2018-11-23 12:23:00,608 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 3 proven. 27 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 12:23:00,608 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:00,608 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:00,616 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:23:00,645 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:23:00,645 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:00,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:00,671 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:00,810 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 13 treesize of output 10 [2018-11-23 12:23:00,814 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 10 treesize of output 9 [2018-11-23 12:23:00,815 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:00,818 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,824 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,824 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 12:23:01,190 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 17 treesize of output 13 [2018-11-23 12:23:01,194 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:23:01,196 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-23 12:23:01,197 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:01,200 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:01,209 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:01,209 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-23 12:23:01,211 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:01,211 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= 2 (select .cse0 8)) (= main_~i~0 2) (<= (select .cse0 (* 4 main_~i~0)) |main_#t~mem4|))) [2018-11-23 12:23:01,211 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 2) (<= 2 |main_#t~mem4|)) [2018-11-23 12:23:01,279 INFO L256 TraceCheckUtils]: 0: Hoare triple {2190#true} call ULTIMATE.init(); {2190#true} is VALID [2018-11-23 12:23:01,280 INFO L273 TraceCheckUtils]: 1: Hoare triple {2190#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {2190#true} is VALID [2018-11-23 12:23:01,280 INFO L273 TraceCheckUtils]: 2: Hoare triple {2190#true} assume true; {2190#true} is VALID [2018-11-23 12:23:01,280 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2190#true} {2190#true} #63#return; {2190#true} is VALID [2018-11-23 12:23:01,280 INFO L256 TraceCheckUtils]: 4: Hoare triple {2190#true} call #t~ret5 := main(); {2190#true} is VALID [2018-11-23 12:23:01,281 INFO L273 TraceCheckUtils]: 5: Hoare triple {2190#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2190#true} is VALID [2018-11-23 12:23:01,282 INFO L273 TraceCheckUtils]: 6: Hoare triple {2190#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {2225#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,282 INFO L273 TraceCheckUtils]: 7: Hoare triple {2225#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {2225#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,283 INFO L273 TraceCheckUtils]: 8: Hoare triple {2225#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {2225#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,283 INFO L273 TraceCheckUtils]: 9: Hoare triple {2225#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2225#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,293 INFO L273 TraceCheckUtils]: 10: Hoare triple {2225#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2238#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,294 INFO L273 TraceCheckUtils]: 11: Hoare triple {2238#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {2238#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,294 INFO L273 TraceCheckUtils]: 12: Hoare triple {2238#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {2238#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,295 INFO L273 TraceCheckUtils]: 13: Hoare triple {2238#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2238#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,295 INFO L273 TraceCheckUtils]: 14: Hoare triple {2238#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2251#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,296 INFO L273 TraceCheckUtils]: 15: Hoare triple {2251#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {2251#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,296 INFO L273 TraceCheckUtils]: 16: Hoare triple {2251#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume !(1 + ~i~0 < ~SIZE~0); {2251#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,297 INFO L273 TraceCheckUtils]: 17: Hoare triple {2251#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2261#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,297 INFO L273 TraceCheckUtils]: 18: Hoare triple {2261#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2261#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,298 INFO L273 TraceCheckUtils]: 19: Hoare triple {2261#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {2261#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,299 INFO L273 TraceCheckUtils]: 20: Hoare triple {2261#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {2271#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,300 INFO L273 TraceCheckUtils]: 21: Hoare triple {2271#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= 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); {2271#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,302 INFO L256 TraceCheckUtils]: 22: Hoare triple {2271#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2278#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2))} is VALID [2018-11-23 12:23:01,303 INFO L273 TraceCheckUtils]: 23: Hoare triple {2278#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2))} ~cond := #in~cond; {2282#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2)) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:23:01,304 INFO L273 TraceCheckUtils]: 24: Hoare triple {2282#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2)) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {2286#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2)))} is VALID [2018-11-23 12:23:01,307 INFO L273 TraceCheckUtils]: 25: Hoare triple {2286#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2)))} assume true; {2286#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2)))} is VALID [2018-11-23 12:23:01,308 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {2286#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2)))} {2271#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #67#return; {2271#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,308 INFO L273 TraceCheckUtils]: 27: Hoare triple {2271#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {2271#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,309 INFO L273 TraceCheckUtils]: 28: Hoare triple {2271#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2299#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,310 INFO L273 TraceCheckUtils]: 29: Hoare triple {2299#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |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); {2299#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,312 INFO L256 TraceCheckUtils]: 30: Hoare triple {2299#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2278#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2))} is VALID [2018-11-23 12:23:01,313 INFO L273 TraceCheckUtils]: 31: Hoare triple {2278#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2))} ~cond := #in~cond; {2278#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2))} is VALID [2018-11-23 12:23:01,313 INFO L273 TraceCheckUtils]: 32: Hoare triple {2278#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2))} assume !(0 == ~cond); {2278#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2))} is VALID [2018-11-23 12:23:01,314 INFO L273 TraceCheckUtils]: 33: Hoare triple {2278#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2))} assume true; {2278#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2))} is VALID [2018-11-23 12:23:01,315 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {2278#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2))} {2299#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} #67#return; {2299#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,316 INFO L273 TraceCheckUtils]: 35: Hoare triple {2299#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {2299#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,317 INFO L273 TraceCheckUtils]: 36: Hoare triple {2299#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2324#(and (= main_~i~0 2) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,318 INFO L273 TraceCheckUtils]: 37: Hoare triple {2324#(and (= main_~i~0 2) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |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); {2328#(and (= main_~i~0 2) (<= 2 |main_#t~mem4|))} is VALID [2018-11-23 12:23:01,322 INFO L256 TraceCheckUtils]: 38: Hoare triple {2328#(and (= main_~i~0 2) (<= 2 |main_#t~mem4|))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2332#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:23:01,323 INFO L273 TraceCheckUtils]: 39: Hoare triple {2332#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {2336#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:23:01,325 INFO L273 TraceCheckUtils]: 40: Hoare triple {2336#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2191#false} is VALID [2018-11-23 12:23:01,326 INFO L273 TraceCheckUtils]: 41: Hoare triple {2191#false} assume !false; {2191#false} is VALID [2018-11-23 12:23:01,332 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 0 proven. 30 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 12:23:01,351 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:01,351 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 15] total 27 [2018-11-23 12:23:01,352 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 42 [2018-11-23 12:23:01,353 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:01,353 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states. [2018-11-23 12:23:01,466 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:01,466 INFO L459 AbstractCegarLoop]: Interpolant automaton has 27 states [2018-11-23 12:23:01,467 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2018-11-23 12:23:01,467 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=614, Unknown=0, NotChecked=0, Total=702 [2018-11-23 12:23:01,467 INFO L87 Difference]: Start difference. First operand 45 states and 46 transitions. Second operand 27 states. [2018-11-23 12:23:04,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:04,038 INFO L93 Difference]: Finished difference Result 101 states and 105 transitions. [2018-11-23 12:23:04,038 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2018-11-23 12:23:04,038 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 42 [2018-11-23 12:23:04,038 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:04,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 12:23:04,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 89 transitions. [2018-11-23 12:23:04,042 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 12:23:04,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 89 transitions. [2018-11-23 12:23:04,045 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states and 89 transitions. [2018-11-23 12:23:04,164 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:04,166 INFO L225 Difference]: With dead ends: 101 [2018-11-23 12:23:04,166 INFO L226 Difference]: Without dead ends: 99 [2018-11-23 12:23:04,167 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 70 GetRequests, 28 SyntacticMatches, 4 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 411 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=190, Invalid=1370, Unknown=0, NotChecked=0, Total=1560 [2018-11-23 12:23:04,167 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2018-11-23 12:23:04,496 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 65. [2018-11-23 12:23:04,496 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:04,496 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand 65 states. [2018-11-23 12:23:04,496 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand 65 states. [2018-11-23 12:23:04,497 INFO L87 Difference]: Start difference. First operand 99 states. Second operand 65 states. [2018-11-23 12:23:04,501 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:04,501 INFO L93 Difference]: Finished difference Result 99 states and 103 transitions. [2018-11-23 12:23:04,501 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 103 transitions. [2018-11-23 12:23:04,502 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:04,502 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:04,502 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 99 states. [2018-11-23 12:23:04,502 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 99 states. [2018-11-23 12:23:04,506 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:04,506 INFO L93 Difference]: Finished difference Result 99 states and 103 transitions. [2018-11-23 12:23:04,506 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 103 transitions. [2018-11-23 12:23:04,506 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:04,506 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:04,507 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:04,507 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:04,507 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 65 states. [2018-11-23 12:23:04,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 68 transitions. [2018-11-23 12:23:04,509 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 68 transitions. Word has length 42 [2018-11-23 12:23:04,509 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:04,509 INFO L480 AbstractCegarLoop]: Abstraction has 65 states and 68 transitions. [2018-11-23 12:23:04,509 INFO L481 AbstractCegarLoop]: Interpolant automaton has 27 states. [2018-11-23 12:23:04,510 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 68 transitions. [2018-11-23 12:23:04,510 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2018-11-23 12:23:04,510 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:04,510 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:04,511 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:04,511 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:04,511 INFO L82 PathProgramCache]: Analyzing trace with hash 33741007, now seen corresponding path program 5 times [2018-11-23 12:23:04,511 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:04,511 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:04,512 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:04,512 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:04,512 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:04,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:04,743 INFO L256 TraceCheckUtils]: 0: Hoare triple {2789#true} call ULTIMATE.init(); {2789#true} is VALID [2018-11-23 12:23:04,743 INFO L273 TraceCheckUtils]: 1: Hoare triple {2789#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {2789#true} is VALID [2018-11-23 12:23:04,743 INFO L273 TraceCheckUtils]: 2: Hoare triple {2789#true} assume true; {2789#true} is VALID [2018-11-23 12:23:04,744 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2789#true} {2789#true} #63#return; {2789#true} is VALID [2018-11-23 12:23:04,744 INFO L256 TraceCheckUtils]: 4: Hoare triple {2789#true} call #t~ret5 := main(); {2789#true} is VALID [2018-11-23 12:23:04,744 INFO L273 TraceCheckUtils]: 5: Hoare triple {2789#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2789#true} is VALID [2018-11-23 12:23:04,745 INFO L273 TraceCheckUtils]: 6: Hoare triple {2789#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {2791#(= main_~i~0 0)} is VALID [2018-11-23 12:23:04,746 INFO L273 TraceCheckUtils]: 7: Hoare triple {2791#(= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {2791#(= main_~i~0 0)} is VALID [2018-11-23 12:23:04,746 INFO L273 TraceCheckUtils]: 8: Hoare triple {2791#(= main_~i~0 0)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {2791#(= main_~i~0 0)} is VALID [2018-11-23 12:23:04,746 INFO L273 TraceCheckUtils]: 9: Hoare triple {2791#(= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2791#(= main_~i~0 0)} is VALID [2018-11-23 12:23:04,747 INFO L273 TraceCheckUtils]: 10: Hoare triple {2791#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2792#(<= main_~i~0 1)} is VALID [2018-11-23 12:23:04,747 INFO L273 TraceCheckUtils]: 11: Hoare triple {2792#(<= main_~i~0 1)} assume !!(~i~0 < ~SIZE~0); {2792#(<= main_~i~0 1)} is VALID [2018-11-23 12:23:04,747 INFO L273 TraceCheckUtils]: 12: Hoare triple {2792#(<= main_~i~0 1)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {2792#(<= main_~i~0 1)} is VALID [2018-11-23 12:23:04,748 INFO L273 TraceCheckUtils]: 13: Hoare triple {2792#(<= main_~i~0 1)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2792#(<= main_~i~0 1)} is VALID [2018-11-23 12:23:04,748 INFO L273 TraceCheckUtils]: 14: Hoare triple {2792#(<= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2793#(<= main_~i~0 2)} is VALID [2018-11-23 12:23:04,749 INFO L273 TraceCheckUtils]: 15: Hoare triple {2793#(<= main_~i~0 2)} assume !!(~i~0 < ~SIZE~0); {2793#(<= main_~i~0 2)} is VALID [2018-11-23 12:23:04,750 INFO L273 TraceCheckUtils]: 16: Hoare triple {2793#(<= main_~i~0 2)} assume !(1 + ~i~0 < ~SIZE~0); {2794#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:04,750 INFO L273 TraceCheckUtils]: 17: Hoare triple {2794#(<= ~SIZE~0 3)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2794#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:04,751 INFO L273 TraceCheckUtils]: 18: Hoare triple {2794#(<= ~SIZE~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2794#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:04,751 INFO L273 TraceCheckUtils]: 19: Hoare triple {2794#(<= ~SIZE~0 3)} assume !(~i~0 < ~SIZE~0); {2794#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:04,752 INFO L273 TraceCheckUtils]: 20: Hoare triple {2794#(<= ~SIZE~0 3)} ~i~0 := 0; {2795#(and (<= ~SIZE~0 3) (= main_~i~0 0))} is VALID [2018-11-23 12:23:04,753 INFO L273 TraceCheckUtils]: 21: Hoare triple {2795#(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); {2795#(and (<= ~SIZE~0 3) (= main_~i~0 0))} is VALID [2018-11-23 12:23:04,753 INFO L256 TraceCheckUtils]: 22: Hoare triple {2795#(and (<= ~SIZE~0 3) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2789#true} is VALID [2018-11-23 12:23:04,753 INFO L273 TraceCheckUtils]: 23: Hoare triple {2789#true} ~cond := #in~cond; {2789#true} is VALID [2018-11-23 12:23:04,753 INFO L273 TraceCheckUtils]: 24: Hoare triple {2789#true} assume !(0 == ~cond); {2789#true} is VALID [2018-11-23 12:23:04,754 INFO L273 TraceCheckUtils]: 25: Hoare triple {2789#true} assume true; {2789#true} is VALID [2018-11-23 12:23:04,754 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {2789#true} {2795#(and (<= ~SIZE~0 3) (= main_~i~0 0))} #67#return; {2795#(and (<= ~SIZE~0 3) (= main_~i~0 0))} is VALID [2018-11-23 12:23:04,755 INFO L273 TraceCheckUtils]: 27: Hoare triple {2795#(and (<= ~SIZE~0 3) (= main_~i~0 0))} havoc #t~mem4; {2795#(and (<= ~SIZE~0 3) (= main_~i~0 0))} is VALID [2018-11-23 12:23:04,756 INFO L273 TraceCheckUtils]: 28: Hoare triple {2795#(and (<= ~SIZE~0 3) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2796#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:04,757 INFO L273 TraceCheckUtils]: 29: Hoare triple {2796#(<= ~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); {2796#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:04,757 INFO L256 TraceCheckUtils]: 30: Hoare triple {2796#(<= ~SIZE~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2789#true} is VALID [2018-11-23 12:23:04,757 INFO L273 TraceCheckUtils]: 31: Hoare triple {2789#true} ~cond := #in~cond; {2789#true} is VALID [2018-11-23 12:23:04,757 INFO L273 TraceCheckUtils]: 32: Hoare triple {2789#true} assume !(0 == ~cond); {2789#true} is VALID [2018-11-23 12:23:04,758 INFO L273 TraceCheckUtils]: 33: Hoare triple {2789#true} assume true; {2789#true} is VALID [2018-11-23 12:23:04,758 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {2789#true} {2796#(<= ~SIZE~0 (+ main_~i~0 2))} #67#return; {2796#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:04,759 INFO L273 TraceCheckUtils]: 35: Hoare triple {2796#(<= ~SIZE~0 (+ main_~i~0 2))} havoc #t~mem4; {2796#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:04,760 INFO L273 TraceCheckUtils]: 36: Hoare triple {2796#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2797#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:04,760 INFO L273 TraceCheckUtils]: 37: Hoare triple {2797#(<= ~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); {2797#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:04,761 INFO L256 TraceCheckUtils]: 38: Hoare triple {2797#(<= ~SIZE~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2789#true} is VALID [2018-11-23 12:23:04,761 INFO L273 TraceCheckUtils]: 39: Hoare triple {2789#true} ~cond := #in~cond; {2789#true} is VALID [2018-11-23 12:23:04,761 INFO L273 TraceCheckUtils]: 40: Hoare triple {2789#true} assume !(0 == ~cond); {2789#true} is VALID [2018-11-23 12:23:04,761 INFO L273 TraceCheckUtils]: 41: Hoare triple {2789#true} assume true; {2789#true} is VALID [2018-11-23 12:23:04,762 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {2789#true} {2797#(<= ~SIZE~0 (+ main_~i~0 1))} #67#return; {2797#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:04,763 INFO L273 TraceCheckUtils]: 43: Hoare triple {2797#(<= ~SIZE~0 (+ main_~i~0 1))} havoc #t~mem4; {2797#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:04,764 INFO L273 TraceCheckUtils]: 44: Hoare triple {2797#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2798#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-23 12:23:04,764 INFO L273 TraceCheckUtils]: 45: Hoare triple {2798#(<= ~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); {2790#false} is VALID [2018-11-23 12:23:04,764 INFO L256 TraceCheckUtils]: 46: Hoare triple {2790#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2790#false} is VALID [2018-11-23 12:23:04,765 INFO L273 TraceCheckUtils]: 47: Hoare triple {2790#false} ~cond := #in~cond; {2790#false} is VALID [2018-11-23 12:23:04,765 INFO L273 TraceCheckUtils]: 48: Hoare triple {2790#false} assume 0 == ~cond; {2790#false} is VALID [2018-11-23 12:23:04,765 INFO L273 TraceCheckUtils]: 49: Hoare triple {2790#false} assume !false; {2790#false} is VALID [2018-11-23 12:23:04,768 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:04,768 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:04,768 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:04,776 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:23:04,805 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) [2018-11-23 12:23:04,805 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:04,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:04,816 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:04,980 INFO L256 TraceCheckUtils]: 0: Hoare triple {2789#true} call ULTIMATE.init(); {2789#true} is VALID [2018-11-23 12:23:04,980 INFO L273 TraceCheckUtils]: 1: Hoare triple {2789#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {2789#true} is VALID [2018-11-23 12:23:04,981 INFO L273 TraceCheckUtils]: 2: Hoare triple {2789#true} assume true; {2789#true} is VALID [2018-11-23 12:23:04,981 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2789#true} {2789#true} #63#return; {2789#true} is VALID [2018-11-23 12:23:04,981 INFO L256 TraceCheckUtils]: 4: Hoare triple {2789#true} call #t~ret5 := main(); {2789#true} is VALID [2018-11-23 12:23:04,981 INFO L273 TraceCheckUtils]: 5: Hoare triple {2789#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2789#true} is VALID [2018-11-23 12:23:04,982 INFO L273 TraceCheckUtils]: 6: Hoare triple {2789#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {2820#(<= main_~i~0 0)} is VALID [2018-11-23 12:23:04,982 INFO L273 TraceCheckUtils]: 7: Hoare triple {2820#(<= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {2820#(<= main_~i~0 0)} is VALID [2018-11-23 12:23:04,983 INFO L273 TraceCheckUtils]: 8: Hoare triple {2820#(<= main_~i~0 0)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {2820#(<= main_~i~0 0)} is VALID [2018-11-23 12:23:04,983 INFO L273 TraceCheckUtils]: 9: Hoare triple {2820#(<= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2820#(<= main_~i~0 0)} is VALID [2018-11-23 12:23:04,983 INFO L273 TraceCheckUtils]: 10: Hoare triple {2820#(<= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2792#(<= main_~i~0 1)} is VALID [2018-11-23 12:23:04,984 INFO L273 TraceCheckUtils]: 11: Hoare triple {2792#(<= main_~i~0 1)} assume !!(~i~0 < ~SIZE~0); {2792#(<= main_~i~0 1)} is VALID [2018-11-23 12:23:04,984 INFO L273 TraceCheckUtils]: 12: Hoare triple {2792#(<= main_~i~0 1)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {2792#(<= main_~i~0 1)} is VALID [2018-11-23 12:23:04,984 INFO L273 TraceCheckUtils]: 13: Hoare triple {2792#(<= main_~i~0 1)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2792#(<= main_~i~0 1)} is VALID [2018-11-23 12:23:04,989 INFO L273 TraceCheckUtils]: 14: Hoare triple {2792#(<= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2793#(<= main_~i~0 2)} is VALID [2018-11-23 12:23:04,989 INFO L273 TraceCheckUtils]: 15: Hoare triple {2793#(<= main_~i~0 2)} assume !!(~i~0 < ~SIZE~0); {2793#(<= main_~i~0 2)} is VALID [2018-11-23 12:23:04,990 INFO L273 TraceCheckUtils]: 16: Hoare triple {2793#(<= main_~i~0 2)} assume !(1 + ~i~0 < ~SIZE~0); {2794#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:04,990 INFO L273 TraceCheckUtils]: 17: Hoare triple {2794#(<= ~SIZE~0 3)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2794#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:04,990 INFO L273 TraceCheckUtils]: 18: Hoare triple {2794#(<= ~SIZE~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2794#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:04,991 INFO L273 TraceCheckUtils]: 19: Hoare triple {2794#(<= ~SIZE~0 3)} assume !(~i~0 < ~SIZE~0); {2794#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:04,991 INFO L273 TraceCheckUtils]: 20: Hoare triple {2794#(<= ~SIZE~0 3)} ~i~0 := 0; {2863#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:04,991 INFO L273 TraceCheckUtils]: 21: Hoare triple {2863#(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); {2863#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:04,992 INFO L256 TraceCheckUtils]: 22: Hoare triple {2863#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2794#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:04,993 INFO L273 TraceCheckUtils]: 23: Hoare triple {2794#(<= ~SIZE~0 3)} ~cond := #in~cond; {2794#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:04,993 INFO L273 TraceCheckUtils]: 24: Hoare triple {2794#(<= ~SIZE~0 3)} assume !(0 == ~cond); {2794#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:04,993 INFO L273 TraceCheckUtils]: 25: Hoare triple {2794#(<= ~SIZE~0 3)} assume true; {2794#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:04,994 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {2794#(<= ~SIZE~0 3)} {2863#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} #67#return; {2863#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:04,995 INFO L273 TraceCheckUtils]: 27: Hoare triple {2863#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} havoc #t~mem4; {2863#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:04,996 INFO L273 TraceCheckUtils]: 28: Hoare triple {2863#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2888#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:04,997 INFO L273 TraceCheckUtils]: 29: Hoare triple {2888#(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); {2888#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:04,998 INFO L256 TraceCheckUtils]: 30: Hoare triple {2888#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2794#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:04,998 INFO L273 TraceCheckUtils]: 31: Hoare triple {2794#(<= ~SIZE~0 3)} ~cond := #in~cond; {2794#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:04,999 INFO L273 TraceCheckUtils]: 32: Hoare triple {2794#(<= ~SIZE~0 3)} assume !(0 == ~cond); {2794#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:04,999 INFO L273 TraceCheckUtils]: 33: Hoare triple {2794#(<= ~SIZE~0 3)} assume true; {2794#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:05,000 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {2794#(<= ~SIZE~0 3)} {2888#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} #67#return; {2888#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:05,001 INFO L273 TraceCheckUtils]: 35: Hoare triple {2888#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} havoc #t~mem4; {2888#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:05,002 INFO L273 TraceCheckUtils]: 36: Hoare triple {2888#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2913#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:05,002 INFO L273 TraceCheckUtils]: 37: Hoare triple {2913#(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); {2913#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:05,003 INFO L256 TraceCheckUtils]: 38: Hoare triple {2913#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2794#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:05,004 INFO L273 TraceCheckUtils]: 39: Hoare triple {2794#(<= ~SIZE~0 3)} ~cond := #in~cond; {2794#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:05,005 INFO L273 TraceCheckUtils]: 40: Hoare triple {2794#(<= ~SIZE~0 3)} assume !(0 == ~cond); {2794#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:05,005 INFO L273 TraceCheckUtils]: 41: Hoare triple {2794#(<= ~SIZE~0 3)} assume true; {2794#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:05,006 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {2794#(<= ~SIZE~0 3)} {2913#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} #67#return; {2913#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:05,007 INFO L273 TraceCheckUtils]: 43: Hoare triple {2913#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} havoc #t~mem4; {2913#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:05,007 INFO L273 TraceCheckUtils]: 44: Hoare triple {2913#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2938#(and (<= ~SIZE~0 3) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:05,008 INFO L273 TraceCheckUtils]: 45: Hoare triple {2938#(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); {2790#false} is VALID [2018-11-23 12:23:05,009 INFO L256 TraceCheckUtils]: 46: Hoare triple {2790#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2790#false} is VALID [2018-11-23 12:23:05,009 INFO L273 TraceCheckUtils]: 47: Hoare triple {2790#false} ~cond := #in~cond; {2790#false} is VALID [2018-11-23 12:23:05,009 INFO L273 TraceCheckUtils]: 48: Hoare triple {2790#false} assume 0 == ~cond; {2790#false} is VALID [2018-11-23 12:23:05,009 INFO L273 TraceCheckUtils]: 49: Hoare triple {2790#false} assume !false; {2790#false} is VALID [2018-11-23 12:23:05,013 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:05,031 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:05,031 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2018-11-23 12:23:05,032 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 50 [2018-11-23 12:23:05,032 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:05,032 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 12:23:05,095 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,095 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 12:23:05,096 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 12:23:05,096 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=152, Unknown=0, NotChecked=0, Total=210 [2018-11-23 12:23:05,096 INFO L87 Difference]: Start difference. First operand 65 states and 68 transitions. Second operand 15 states. [2018-11-23 12:23:06,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:06,053 INFO L93 Difference]: Finished difference Result 116 states and 122 transitions. [2018-11-23 12:23:06,053 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-23 12:23:06,054 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 50 [2018-11-23 12:23:06,054 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:06,054 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:23:06,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 87 transitions. [2018-11-23 12:23:06,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:23:06,059 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 87 transitions. [2018-11-23 12:23:06,059 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 87 transitions. [2018-11-23 12:23:06,143 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:06,146 INFO L225 Difference]: With dead ends: 116 [2018-11-23 12:23:06,146 INFO L226 Difference]: Without dead ends: 77 [2018-11-23 12:23:06,147 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 63 GetRequests, 46 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 69 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=89, Invalid=253, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:23:06,147 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2018-11-23 12:23:06,377 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 65. [2018-11-23 12:23:06,377 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:06,377 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand 65 states. [2018-11-23 12:23:06,378 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 65 states. [2018-11-23 12:23:06,378 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 65 states. [2018-11-23 12:23:06,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:06,381 INFO L93 Difference]: Finished difference Result 77 states and 82 transitions. [2018-11-23 12:23:06,382 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 82 transitions. [2018-11-23 12:23:06,382 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:06,382 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:06,382 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 77 states. [2018-11-23 12:23:06,382 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 77 states. [2018-11-23 12:23:06,385 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:06,385 INFO L93 Difference]: Finished difference Result 77 states and 82 transitions. [2018-11-23 12:23:06,385 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 82 transitions. [2018-11-23 12:23:06,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:06,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:06,386 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:06,386 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:06,386 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 65 states. [2018-11-23 12:23:06,388 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 67 transitions. [2018-11-23 12:23:06,388 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 67 transitions. Word has length 50 [2018-11-23 12:23:06,389 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:06,389 INFO L480 AbstractCegarLoop]: Abstraction has 65 states and 67 transitions. [2018-11-23 12:23:06,389 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 12:23:06,389 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 67 transitions. [2018-11-23 12:23:06,390 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2018-11-23 12:23:06,390 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:06,390 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:06,390 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:06,390 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:06,390 INFO L82 PathProgramCache]: Analyzing trace with hash 907823378, now seen corresponding path program 6 times [2018-11-23 12:23:06,391 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:06,391 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:06,391 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:06,391 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:06,392 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:06,413 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:07,415 INFO L256 TraceCheckUtils]: 0: Hoare triple {3362#true} call ULTIMATE.init(); {3362#true} is VALID [2018-11-23 12:23:07,415 INFO L273 TraceCheckUtils]: 1: Hoare triple {3362#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {3362#true} is VALID [2018-11-23 12:23:07,415 INFO L273 TraceCheckUtils]: 2: Hoare triple {3362#true} assume true; {3362#true} is VALID [2018-11-23 12:23:07,415 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3362#true} {3362#true} #63#return; {3362#true} is VALID [2018-11-23 12:23:07,416 INFO L256 TraceCheckUtils]: 4: Hoare triple {3362#true} call #t~ret5 := main(); {3362#true} is VALID [2018-11-23 12:23:07,416 INFO L273 TraceCheckUtils]: 5: Hoare triple {3362#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3362#true} is VALID [2018-11-23 12:23:07,416 INFO L273 TraceCheckUtils]: 6: Hoare triple {3362#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {3364#(= main_~i~0 0)} is VALID [2018-11-23 12:23:07,416 INFO L273 TraceCheckUtils]: 7: Hoare triple {3364#(= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {3364#(= main_~i~0 0)} is VALID [2018-11-23 12:23:07,417 INFO L273 TraceCheckUtils]: 8: Hoare triple {3364#(= main_~i~0 0)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3364#(= main_~i~0 0)} is VALID [2018-11-23 12:23:07,418 INFO L273 TraceCheckUtils]: 9: Hoare triple {3364#(= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3364#(= main_~i~0 0)} is VALID [2018-11-23 12:23:07,418 INFO L273 TraceCheckUtils]: 10: Hoare triple {3364#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3365#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 12:23:07,419 INFO L273 TraceCheckUtils]: 11: Hoare triple {3365#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume !!(~i~0 < ~SIZE~0); {3365#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 12:23:07,420 INFO L273 TraceCheckUtils]: 12: Hoare triple {3365#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3365#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 12:23:07,421 INFO L273 TraceCheckUtils]: 13: Hoare triple {3365#(and (<= 1 main_~i~0) (<= main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3365#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 12:23:07,422 INFO L273 TraceCheckUtils]: 14: Hoare triple {3365#(and (<= 1 main_~i~0) (<= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3366#(= (* 4 main_~i~0) 8)} is VALID [2018-11-23 12:23:07,422 INFO L273 TraceCheckUtils]: 15: Hoare triple {3366#(= (* 4 main_~i~0) 8)} assume !!(~i~0 < ~SIZE~0); {3366#(= (* 4 main_~i~0) 8)} is VALID [2018-11-23 12:23:07,423 INFO L273 TraceCheckUtils]: 16: Hoare triple {3366#(= (* 4 main_~i~0) 8)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3366#(= (* 4 main_~i~0) 8)} is VALID [2018-11-23 12:23:07,424 INFO L273 TraceCheckUtils]: 17: Hoare triple {3366#(= (* 4 main_~i~0) 8)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3367#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= (* 4 main_~i~0) 8))} is VALID [2018-11-23 12:23:07,425 INFO L273 TraceCheckUtils]: 18: Hoare triple {3367#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= (* 4 main_~i~0) 8))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3368#(and (not (= (* 4 main_~i~0) 8)) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-23 12:23:07,426 INFO L273 TraceCheckUtils]: 19: Hoare triple {3368#(and (not (= (* 4 main_~i~0) 8)) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} assume !!(~i~0 < ~SIZE~0); {3368#(and (not (= (* 4 main_~i~0) 8)) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-23 12:23:07,427 INFO L273 TraceCheckUtils]: 20: Hoare triple {3368#(and (not (= (* 4 main_~i~0) 8)) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3369#(and (<= 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 1) 4)))) (not (= 4 (* 4 main_~i~0))))} is VALID [2018-11-23 12:23:07,429 INFO L273 TraceCheckUtils]: 21: Hoare triple {3369#(and (<= 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 1) 4)))) (not (= 4 (* 4 main_~i~0))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3370#(and (not (= 4 (* 4 main_~i~0))) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-23 12:23:07,430 INFO L273 TraceCheckUtils]: 22: Hoare triple {3370#(and (not (= 4 (* 4 main_~i~0))) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3371#(<= 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 1) 4))))} is VALID [2018-11-23 12:23:07,430 INFO L273 TraceCheckUtils]: 23: Hoare triple {3371#(<= 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 1) 4))))} assume !!(~i~0 < ~SIZE~0); {3371#(<= 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 1) 4))))} is VALID [2018-11-23 12:23:07,433 INFO L273 TraceCheckUtils]: 24: Hoare triple {3371#(<= 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 1) 4))))} assume !(1 + ~i~0 < ~SIZE~0); {3371#(<= 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 1) 4))))} is VALID [2018-11-23 12:23:07,434 INFO L273 TraceCheckUtils]: 25: Hoare triple {3371#(<= 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 1) 4))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3372#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-23 12:23:07,447 INFO L273 TraceCheckUtils]: 26: Hoare triple {3372#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3372#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-23 12:23:07,448 INFO L273 TraceCheckUtils]: 27: Hoare triple {3372#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} assume !(~i~0 < ~SIZE~0); {3372#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-23 12:23:07,448 INFO L273 TraceCheckUtils]: 28: Hoare triple {3372#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} ~i~0 := 0; {3373#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-23 12:23:07,449 INFO L273 TraceCheckUtils]: 29: Hoare triple {3373#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3373#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-23 12:23:07,449 INFO L256 TraceCheckUtils]: 30: Hoare triple {3373#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3362#true} is VALID [2018-11-23 12:23:07,449 INFO L273 TraceCheckUtils]: 31: Hoare triple {3362#true} ~cond := #in~cond; {3374#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:23:07,450 INFO L273 TraceCheckUtils]: 32: Hoare triple {3374#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {3375#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:07,450 INFO L273 TraceCheckUtils]: 33: Hoare triple {3375#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3375#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:07,451 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {3375#(not (= |__VERIFIER_assert_#in~cond| 0))} {3373#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} #67#return; {3373#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-23 12:23:07,451 INFO L273 TraceCheckUtils]: 35: Hoare triple {3373#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} havoc #t~mem4; {3373#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-23 12:23:07,452 INFO L273 TraceCheckUtils]: 36: Hoare triple {3373#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3376#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-23 12:23:07,453 INFO L273 TraceCheckUtils]: 37: Hoare triple {3376#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |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); {3376#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-23 12:23:07,453 INFO L256 TraceCheckUtils]: 38: Hoare triple {3376#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3362#true} is VALID [2018-11-23 12:23:07,453 INFO L273 TraceCheckUtils]: 39: Hoare triple {3362#true} ~cond := #in~cond; {3362#true} is VALID [2018-11-23 12:23:07,454 INFO L273 TraceCheckUtils]: 40: Hoare triple {3362#true} assume !(0 == ~cond); {3362#true} is VALID [2018-11-23 12:23:07,454 INFO L273 TraceCheckUtils]: 41: Hoare triple {3362#true} assume true; {3362#true} is VALID [2018-11-23 12:23:07,476 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {3362#true} {3376#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} #67#return; {3376#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-23 12:23:07,484 INFO L273 TraceCheckUtils]: 43: Hoare triple {3376#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} havoc #t~mem4; {3376#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-23 12:23:07,490 INFO L273 TraceCheckUtils]: 44: Hoare triple {3376#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3377#(<= 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:07,490 INFO L273 TraceCheckUtils]: 45: Hoare triple {3377#(<= 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); {3378#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:23:07,491 INFO L256 TraceCheckUtils]: 46: Hoare triple {3378#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3375#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:07,492 INFO L273 TraceCheckUtils]: 47: Hoare triple {3375#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {3379#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:23:07,492 INFO L273 TraceCheckUtils]: 48: Hoare triple {3379#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {3363#false} is VALID [2018-11-23 12:23:07,492 INFO L273 TraceCheckUtils]: 49: Hoare triple {3363#false} assume !false; {3363#false} is VALID [2018-11-23 12:23:07,499 INFO L134 CoverageAnalysis]: Checked inductivity of 61 backedges. 4 proven. 56 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 12:23:07,499 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:07,499 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:07,512 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:23:07,543 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2018-11-23 12:23:07,543 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:07,557 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:07,560 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:07,677 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:07,683 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:07,685 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:07,688 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,695 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:07,696 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:22, output treesize:18 [2018-11-23 12:23:07,770 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 26 treesize of output 21 [2018-11-23 12:23:07,777 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:07,779 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:07,780 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 21 treesize of output 43 [2018-11-23 12:23:07,783 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:07,793 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,803 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:07,803 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:32, output treesize:28 [2018-11-23 12:23:07,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 37 treesize of output 30 [2018-11-23 12:23:07,897 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:07,899 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:07,900 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:07,901 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:07,903 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 86 [2018-11-23 12:23:07,914 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:07,928 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,940 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:07,940 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:43, output treesize:39 [2018-11-23 12:23:08,077 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:08,078 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 52 treesize of output 53 [2018-11-23 12:23:08,091 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:08,093 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:08,094 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:08,096 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:08,097 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:08,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, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 53 treesize of output 104 [2018-11-23 12:23:08,104 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:08,123 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:08,141 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:08,142 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:58, output treesize:41 [2018-11-23 12:23:08,157 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:08,157 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_19|, main_~i~0]. (let ((.cse2 (* 4 main_~i~0))) (let ((.cse0 (select |v_#memory_int_19| |main_~#a~0.base|)) (.cse1 (+ .cse2 |main_~#a~0.offset|))) (and (= (+ (select .cse0 .cse1) 1) main_~i~0) (= (select .cse0 (+ |main_~#a~0.offset| 8)) 2) (= main_~i~0 (+ (select .cse0 (+ .cse2 |main_~#a~0.offset| (- 4))) 1)) (<= 4 main_~i~0) (= (store |v_#memory_int_19| |main_~#a~0.base| (store .cse0 .cse1 main_~i~0)) |#memory_int|) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:23:08,158 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [main_~i~0]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (<= 4 main_~i~0) (= 2 (select .cse0 (+ |main_~#a~0.offset| 8))) (= main_~i~0 (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))) [2018-11-23 12:23:09,177 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 39 treesize of output 31 [2018-11-23 12:23:09,183 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:09,185 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:09,185 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:23:09,187 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:09,188 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:09,189 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:09,191 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:09,205 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 31 treesize of output 49 [2018-11-23 12:23:09,207 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:09,217 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,224 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,224 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:45, output treesize:7 [2018-11-23 12:23:09,228 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:09,229 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, v_prenex_4]. (let ((.cse1 (* 4 v_prenex_4)) (.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= 2 (select .cse0 8)) (= main_~i~0 2) (= v_prenex_4 (select .cse0 .cse1)) (<= 4 v_prenex_4) (= (+ (select .cse0 (+ .cse1 (- 4))) 1) v_prenex_4) (<= (select .cse0 (* 4 main_~i~0)) |main_#t~mem4|))) [2018-11-23 12:23:09,229 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 2) (<= 2 |main_#t~mem4|)) [2018-11-23 12:23:09,313 INFO L256 TraceCheckUtils]: 0: Hoare triple {3362#true} call ULTIMATE.init(); {3362#true} is VALID [2018-11-23 12:23:09,313 INFO L273 TraceCheckUtils]: 1: Hoare triple {3362#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {3362#true} is VALID [2018-11-23 12:23:09,313 INFO L273 TraceCheckUtils]: 2: Hoare triple {3362#true} assume true; {3362#true} is VALID [2018-11-23 12:23:09,313 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3362#true} {3362#true} #63#return; {3362#true} is VALID [2018-11-23 12:23:09,313 INFO L256 TraceCheckUtils]: 4: Hoare triple {3362#true} call #t~ret5 := main(); {3362#true} is VALID [2018-11-23 12:23:09,314 INFO L273 TraceCheckUtils]: 5: Hoare triple {3362#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3362#true} is VALID [2018-11-23 12:23:09,314 INFO L273 TraceCheckUtils]: 6: Hoare triple {3362#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {3401#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,315 INFO L273 TraceCheckUtils]: 7: Hoare triple {3401#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {3401#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,316 INFO L273 TraceCheckUtils]: 8: Hoare triple {3401#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3401#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,316 INFO L273 TraceCheckUtils]: 9: Hoare triple {3401#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3401#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,316 INFO L273 TraceCheckUtils]: 10: Hoare triple {3401#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3414#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,317 INFO L273 TraceCheckUtils]: 11: Hoare triple {3414#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {3414#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,317 INFO L273 TraceCheckUtils]: 12: Hoare triple {3414#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3414#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,318 INFO L273 TraceCheckUtils]: 13: Hoare triple {3414#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3414#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,319 INFO L273 TraceCheckUtils]: 14: Hoare triple {3414#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3427#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,320 INFO L273 TraceCheckUtils]: 15: Hoare triple {3427#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {3427#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,321 INFO L273 TraceCheckUtils]: 16: Hoare triple {3427#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3427#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,322 INFO L273 TraceCheckUtils]: 17: Hoare triple {3427#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3437#(and (= main_~i~0 2) (= 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,323 INFO L273 TraceCheckUtils]: 18: Hoare triple {3437#(and (= main_~i~0 2) (= 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 := 1 + #t~post2;havoc #t~post2; {3441#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,323 INFO L273 TraceCheckUtils]: 19: Hoare triple {3441#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {3441#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,325 INFO L273 TraceCheckUtils]: 20: Hoare triple {3441#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3448#(and (= 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|) (+ |main_~#a~0.offset| 8))) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,326 INFO L273 TraceCheckUtils]: 21: Hoare triple {3448#(and (= 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|) (+ |main_~#a~0.offset| 8))) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3452#(and (= 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|) (+ |main_~#a~0.offset| 8))) (<= 3 main_~i~0) (= 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,328 INFO L273 TraceCheckUtils]: 22: Hoare triple {3452#(and (= 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|) (+ |main_~#a~0.offset| 8))) (<= 3 main_~i~0) (= 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 := 1 + #t~post2;havoc #t~post2; {3456#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 4 main_~i~0) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,329 INFO L273 TraceCheckUtils]: 23: Hoare triple {3456#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 4 main_~i~0) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {3456#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 4 main_~i~0) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,330 INFO L273 TraceCheckUtils]: 24: Hoare triple {3456#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 4 main_~i~0) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} assume !(1 + ~i~0 < ~SIZE~0); {3456#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 4 main_~i~0) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,332 INFO L273 TraceCheckUtils]: 25: Hoare triple {3456#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 4 main_~i~0) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3466#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (exists ((main_~i~0 Int)) (and (<= 4 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= 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,334 INFO L273 TraceCheckUtils]: 26: Hoare triple {3466#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (exists ((main_~i~0 Int)) (and (<= 4 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= 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 := 1 + #t~post2;havoc #t~post2; {3466#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (exists ((main_~i~0 Int)) (and (<= 4 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= 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,335 INFO L273 TraceCheckUtils]: 27: Hoare triple {3466#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (exists ((main_~i~0 Int)) (and (<= 4 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= 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 < ~SIZE~0); {3466#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (exists ((main_~i~0 Int)) (and (<= 4 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= 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,337 INFO L273 TraceCheckUtils]: 28: Hoare triple {3466#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (exists ((main_~i~0 Int)) (and (<= 4 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= 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; {3476#(and (exists ((v_prenex_4 Int)) (and (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= v_prenex_4 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| (- 4))) 1)) (<= 4 v_prenex_4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,338 INFO L273 TraceCheckUtils]: 29: Hoare triple {3476#(and (exists ((v_prenex_4 Int)) (and (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= v_prenex_4 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| (- 4))) 1)) (<= 4 v_prenex_4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= 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); {3476#(and (exists ((v_prenex_4 Int)) (and (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= v_prenex_4 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| (- 4))) 1)) (<= 4 v_prenex_4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,340 INFO L256 TraceCheckUtils]: 30: Hoare triple {3476#(and (exists ((v_prenex_4 Int)) (and (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= v_prenex_4 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| (- 4))) 1)) (<= 4 v_prenex_4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3483#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_4 Int)) (and (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_4) (- 4))) 1) v_prenex_4) (<= 4 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8) 2)))} is VALID [2018-11-23 12:23:09,341 INFO L273 TraceCheckUtils]: 31: Hoare triple {3483#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_4 Int)) (and (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_4) (- 4))) 1) v_prenex_4) (<= 4 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8) 2)))} ~cond := #in~cond; {3483#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_4 Int)) (and (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_4) (- 4))) 1) v_prenex_4) (<= 4 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8) 2)))} is VALID [2018-11-23 12:23:09,342 INFO L273 TraceCheckUtils]: 32: Hoare triple {3483#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_4 Int)) (and (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_4) (- 4))) 1) v_prenex_4) (<= 4 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8) 2)))} assume !(0 == ~cond); {3483#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_4 Int)) (and (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_4) (- 4))) 1) v_prenex_4) (<= 4 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8) 2)))} is VALID [2018-11-23 12:23:09,342 INFO L273 TraceCheckUtils]: 33: Hoare triple {3483#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_4 Int)) (and (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_4) (- 4))) 1) v_prenex_4) (<= 4 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8) 2)))} assume true; {3483#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_4 Int)) (and (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_4) (- 4))) 1) v_prenex_4) (<= 4 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8) 2)))} is VALID [2018-11-23 12:23:09,343 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {3483#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_4 Int)) (and (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_4) (- 4))) 1) v_prenex_4) (<= 4 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8) 2)))} {3476#(and (exists ((v_prenex_4 Int)) (and (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= v_prenex_4 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| (- 4))) 1)) (<= 4 v_prenex_4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #67#return; {3476#(and (exists ((v_prenex_4 Int)) (and (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= v_prenex_4 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| (- 4))) 1)) (<= 4 v_prenex_4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,344 INFO L273 TraceCheckUtils]: 35: Hoare triple {3476#(and (exists ((v_prenex_4 Int)) (and (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= v_prenex_4 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| (- 4))) 1)) (<= 4 v_prenex_4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3476#(and (exists ((v_prenex_4 Int)) (and (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= v_prenex_4 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| (- 4))) 1)) (<= 4 v_prenex_4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,346 INFO L273 TraceCheckUtils]: 36: Hoare triple {3476#(and (exists ((v_prenex_4 Int)) (and (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= v_prenex_4 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| (- 4))) 1)) (<= 4 v_prenex_4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3502#(and (= main_~i~0 1) (exists ((v_prenex_4 Int)) (and (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= v_prenex_4 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| (- 4))) 1)) (<= 4 v_prenex_4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,347 INFO L273 TraceCheckUtils]: 37: Hoare triple {3502#(and (= main_~i~0 1) (exists ((v_prenex_4 Int)) (and (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= v_prenex_4 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| (- 4))) 1)) (<= 4 v_prenex_4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |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); {3502#(and (= main_~i~0 1) (exists ((v_prenex_4 Int)) (and (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= v_prenex_4 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| (- 4))) 1)) (<= 4 v_prenex_4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,349 INFO L256 TraceCheckUtils]: 38: Hoare triple {3502#(and (= main_~i~0 1) (exists ((v_prenex_4 Int)) (and (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= v_prenex_4 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| (- 4))) 1)) (<= 4 v_prenex_4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3483#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_4 Int)) (and (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_4) (- 4))) 1) v_prenex_4) (<= 4 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8) 2)))} is VALID [2018-11-23 12:23:09,350 INFO L273 TraceCheckUtils]: 39: Hoare triple {3483#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_4 Int)) (and (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_4) (- 4))) 1) v_prenex_4) (<= 4 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8) 2)))} ~cond := #in~cond; {3512#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_4 Int)) (and (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_4) (- 4))) 1) v_prenex_4) (<= 4 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8) 2))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:23:09,351 INFO L273 TraceCheckUtils]: 40: Hoare triple {3512#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_4 Int)) (and (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_4) (- 4))) 1) v_prenex_4) (<= 4 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8) 2))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {3516#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_4 Int)) (and (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_4) (- 4))) 1) v_prenex_4) (<= 4 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8) 2))) (not (= |__VERIFIER_assert_#in~cond| 0)))} is VALID [2018-11-23 12:23:09,352 INFO L273 TraceCheckUtils]: 41: Hoare triple {3516#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_4 Int)) (and (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_4) (- 4))) 1) v_prenex_4) (<= 4 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8) 2))) (not (= |__VERIFIER_assert_#in~cond| 0)))} assume true; {3516#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_4 Int)) (and (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_4) (- 4))) 1) v_prenex_4) (<= 4 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8) 2))) (not (= |__VERIFIER_assert_#in~cond| 0)))} is VALID [2018-11-23 12:23:09,353 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {3516#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_4 Int)) (and (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_4) (- 4))) 1) v_prenex_4) (<= 4 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8) 2))) (not (= |__VERIFIER_assert_#in~cond| 0)))} {3502#(and (= main_~i~0 1) (exists ((v_prenex_4 Int)) (and (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= v_prenex_4 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| (- 4))) 1)) (<= 4 v_prenex_4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} #67#return; {3502#(and (= main_~i~0 1) (exists ((v_prenex_4 Int)) (and (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= v_prenex_4 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| (- 4))) 1)) (<= 4 v_prenex_4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,354 INFO L273 TraceCheckUtils]: 43: Hoare triple {3502#(and (= main_~i~0 1) (exists ((v_prenex_4 Int)) (and (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= v_prenex_4 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| (- 4))) 1)) (<= 4 v_prenex_4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3502#(and (= main_~i~0 1) (exists ((v_prenex_4 Int)) (and (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= v_prenex_4 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| (- 4))) 1)) (<= 4 v_prenex_4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,355 INFO L273 TraceCheckUtils]: 44: Hoare triple {3502#(and (= main_~i~0 1) (exists ((v_prenex_4 Int)) (and (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= v_prenex_4 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| (- 4))) 1)) (<= 4 v_prenex_4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3529#(and (= main_~i~0 2) (exists ((v_prenex_4 Int)) (and (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= v_prenex_4 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| (- 4))) 1)) (<= 4 v_prenex_4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,357 INFO L273 TraceCheckUtils]: 45: Hoare triple {3529#(and (= main_~i~0 2) (exists ((v_prenex_4 Int)) (and (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= v_prenex_4 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| (- 4))) 1)) (<= 4 v_prenex_4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |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); {3533#(and (= main_~i~0 2) (<= 2 |main_#t~mem4|))} is VALID [2018-11-23 12:23:09,358 INFO L256 TraceCheckUtils]: 46: Hoare triple {3533#(and (= main_~i~0 2) (<= 2 |main_#t~mem4|))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3537#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:23:09,358 INFO L273 TraceCheckUtils]: 47: Hoare triple {3537#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {3541#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:23:09,359 INFO L273 TraceCheckUtils]: 48: Hoare triple {3541#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3363#false} is VALID [2018-11-23 12:23:09,359 INFO L273 TraceCheckUtils]: 49: Hoare triple {3363#false} assume !false; {3363#false} is VALID [2018-11-23 12:23:09,371 INFO L134 CoverageAnalysis]: Checked inductivity of 61 backedges. 5 proven. 55 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 12:23:09,390 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:09,390 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 20] total 36 [2018-11-23 12:23:09,391 INFO L78 Accepts]: Start accepts. Automaton has 36 states. Word has length 50 [2018-11-23 12:23:09,391 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:09,391 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 36 states. [2018-11-23 12:23:09,517 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:09,518 INFO L459 AbstractCegarLoop]: Interpolant automaton has 36 states [2018-11-23 12:23:09,518 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2018-11-23 12:23:09,519 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=171, Invalid=1089, Unknown=0, NotChecked=0, Total=1260 [2018-11-23 12:23:09,519 INFO L87 Difference]: Start difference. First operand 65 states and 67 transitions. Second operand 36 states. [2018-11-23 12:23:15,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:15,999 INFO L93 Difference]: Finished difference Result 112 states and 116 transitions. [2018-11-23 12:23:16,000 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 44 states. [2018-11-23 12:23:16,000 INFO L78 Accepts]: Start accepts. Automaton has 36 states. Word has length 50 [2018-11-23 12:23:16,000 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:16,000 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-23 12:23:16,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 104 transitions. [2018-11-23 12:23:16,004 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-23 12:23:16,006 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 104 transitions. [2018-11-23 12:23:16,007 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 44 states and 104 transitions. [2018-11-23 12:23:16,320 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:16,321 INFO L225 Difference]: With dead ends: 112 [2018-11-23 12:23:16,322 INFO L226 Difference]: Without dead ends: 110 [2018-11-23 12:23:16,323 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 31 SyntacticMatches, 4 SemanticMatches, 59 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1158 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=440, Invalid=3220, Unknown=0, NotChecked=0, Total=3660 [2018-11-23 12:23:16,323 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2018-11-23 12:23:16,682 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 57. [2018-11-23 12:23:16,682 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:16,682 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand 57 states. [2018-11-23 12:23:16,682 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand 57 states. [2018-11-23 12:23:16,683 INFO L87 Difference]: Start difference. First operand 110 states. Second operand 57 states. [2018-11-23 12:23:16,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:16,686 INFO L93 Difference]: Finished difference Result 110 states and 114 transitions. [2018-11-23 12:23:16,686 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 114 transitions. [2018-11-23 12:23:16,687 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:16,687 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:16,687 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 110 states. [2018-11-23 12:23:16,687 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 110 states. [2018-11-23 12:23:16,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:16,690 INFO L93 Difference]: Finished difference Result 110 states and 114 transitions. [2018-11-23 12:23:16,690 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 114 transitions. [2018-11-23 12:23:16,690 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:16,690 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:16,691 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:16,691 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:16,691 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 57 states. [2018-11-23 12:23:16,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 58 transitions. [2018-11-23 12:23:16,692 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 58 transitions. Word has length 50 [2018-11-23 12:23:16,692 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:16,692 INFO L480 AbstractCegarLoop]: Abstraction has 57 states and 58 transitions. [2018-11-23 12:23:16,693 INFO L481 AbstractCegarLoop]: Interpolant automaton has 36 states. [2018-11-23 12:23:16,693 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 58 transitions. [2018-11-23 12:23:16,693 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2018-11-23 12:23:16,693 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:16,694 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:16,694 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:16,694 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:16,694 INFO L82 PathProgramCache]: Analyzing trace with hash 581379210, now seen corresponding path program 7 times [2018-11-23 12:23:16,694 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:16,694 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:16,695 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:16,695 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:16,695 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:16,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:17,661 INFO L256 TraceCheckUtils]: 0: Hoare triple {4045#true} call ULTIMATE.init(); {4045#true} is VALID [2018-11-23 12:23:17,661 INFO L273 TraceCheckUtils]: 1: Hoare triple {4045#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {4045#true} is VALID [2018-11-23 12:23:17,661 INFO L273 TraceCheckUtils]: 2: Hoare triple {4045#true} assume true; {4045#true} is VALID [2018-11-23 12:23:17,661 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4045#true} {4045#true} #63#return; {4045#true} is VALID [2018-11-23 12:23:17,661 INFO L256 TraceCheckUtils]: 4: Hoare triple {4045#true} call #t~ret5 := main(); {4045#true} is VALID [2018-11-23 12:23:17,662 INFO L273 TraceCheckUtils]: 5: Hoare triple {4045#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {4045#true} is VALID [2018-11-23 12:23:17,662 INFO L273 TraceCheckUtils]: 6: Hoare triple {4045#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {4047#(= main_~i~0 0)} is VALID [2018-11-23 12:23:17,662 INFO L273 TraceCheckUtils]: 7: Hoare triple {4047#(= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {4047#(= main_~i~0 0)} is VALID [2018-11-23 12:23:17,662 INFO L273 TraceCheckUtils]: 8: Hoare triple {4047#(= main_~i~0 0)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4047#(= main_~i~0 0)} is VALID [2018-11-23 12:23:17,663 INFO L273 TraceCheckUtils]: 9: Hoare triple {4047#(= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4047#(= main_~i~0 0)} is VALID [2018-11-23 12:23:17,663 INFO L273 TraceCheckUtils]: 10: Hoare triple {4047#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4048#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 12:23:17,664 INFO L273 TraceCheckUtils]: 11: Hoare triple {4048#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume !!(~i~0 < ~SIZE~0); {4048#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 12:23:17,664 INFO L273 TraceCheckUtils]: 12: Hoare triple {4048#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4048#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 12:23:17,665 INFO L273 TraceCheckUtils]: 13: Hoare triple {4048#(and (<= 1 main_~i~0) (<= main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4048#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 12:23:17,665 INFO L273 TraceCheckUtils]: 14: Hoare triple {4048#(and (<= 1 main_~i~0) (<= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4049#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:17,666 INFO L273 TraceCheckUtils]: 15: Hoare triple {4049#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !!(~i~0 < ~SIZE~0); {4049#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:17,667 INFO L273 TraceCheckUtils]: 16: Hoare triple {4049#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4049#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:17,668 INFO L273 TraceCheckUtils]: 17: Hoare triple {4049#(and (<= 2 main_~i~0) (<= main_~i~0 2))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4049#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:17,669 INFO L273 TraceCheckUtils]: 18: Hoare triple {4049#(and (<= 2 main_~i~0) (<= main_~i~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4050#(= (* 4 main_~i~0) 12)} is VALID [2018-11-23 12:23:17,669 INFO L273 TraceCheckUtils]: 19: Hoare triple {4050#(= (* 4 main_~i~0) 12)} assume !!(~i~0 < ~SIZE~0); {4050#(= (* 4 main_~i~0) 12)} is VALID [2018-11-23 12:23:17,670 INFO L273 TraceCheckUtils]: 20: Hoare triple {4050#(= (* 4 main_~i~0) 12)} assume !(1 + ~i~0 < ~SIZE~0); {4050#(= (* 4 main_~i~0) 12)} is VALID [2018-11-23 12:23:17,671 INFO L273 TraceCheckUtils]: 21: Hoare triple {4050#(= (* 4 main_~i~0) 12)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4051#(and (= (* 4 main_~i~0) 12) (= 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:17,671 INFO L273 TraceCheckUtils]: 22: Hoare triple {4051#(and (= (* 4 main_~i~0) 12) (= 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 := 1 + #t~post2;havoc #t~post2; {4052#(<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4))))} is VALID [2018-11-23 12:23:17,672 INFO L273 TraceCheckUtils]: 23: Hoare triple {4052#(<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4))))} assume !(~i~0 < ~SIZE~0); {4052#(<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4))))} is VALID [2018-11-23 12:23:17,673 INFO L273 TraceCheckUtils]: 24: Hoare triple {4052#(<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4))))} ~i~0 := 0; {4053#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:17,674 INFO L273 TraceCheckUtils]: 25: Hoare triple {4053#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 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); {4053#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:17,674 INFO L256 TraceCheckUtils]: 26: Hoare triple {4053#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4045#true} is VALID [2018-11-23 12:23:17,674 INFO L273 TraceCheckUtils]: 27: Hoare triple {4045#true} ~cond := #in~cond; {4054#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:23:17,675 INFO L273 TraceCheckUtils]: 28: Hoare triple {4054#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {4055#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:17,675 INFO L273 TraceCheckUtils]: 29: Hoare triple {4055#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4055#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:17,676 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {4055#(not (= |__VERIFIER_assert_#in~cond| 0))} {4053#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0))} #67#return; {4053#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:17,677 INFO L273 TraceCheckUtils]: 31: Hoare triple {4053#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0))} havoc #t~mem4; {4053#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:17,678 INFO L273 TraceCheckUtils]: 32: Hoare triple {4053#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4056#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} is VALID [2018-11-23 12:23:17,679 INFO L273 TraceCheckUtils]: 33: Hoare triple {4056#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4056#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} is VALID [2018-11-23 12:23:17,679 INFO L256 TraceCheckUtils]: 34: Hoare triple {4056#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4045#true} is VALID [2018-11-23 12:23:17,679 INFO L273 TraceCheckUtils]: 35: Hoare triple {4045#true} ~cond := #in~cond; {4045#true} is VALID [2018-11-23 12:23:17,679 INFO L273 TraceCheckUtils]: 36: Hoare triple {4045#true} assume !(0 == ~cond); {4045#true} is VALID [2018-11-23 12:23:17,680 INFO L273 TraceCheckUtils]: 37: Hoare triple {4045#true} assume true; {4045#true} is VALID [2018-11-23 12:23:17,681 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {4045#true} {4056#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} #67#return; {4056#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} is VALID [2018-11-23 12:23:17,681 INFO L273 TraceCheckUtils]: 39: Hoare triple {4056#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} havoc #t~mem4; {4056#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} is VALID [2018-11-23 12:23:17,682 INFO L273 TraceCheckUtils]: 40: Hoare triple {4056#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4057#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-23 12:23:17,683 INFO L273 TraceCheckUtils]: 41: Hoare triple {4057#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |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); {4057#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-23 12:23:17,683 INFO L256 TraceCheckUtils]: 42: Hoare triple {4057#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4045#true} is VALID [2018-11-23 12:23:17,683 INFO L273 TraceCheckUtils]: 43: Hoare triple {4045#true} ~cond := #in~cond; {4045#true} is VALID [2018-11-23 12:23:17,683 INFO L273 TraceCheckUtils]: 44: Hoare triple {4045#true} assume !(0 == ~cond); {4045#true} is VALID [2018-11-23 12:23:17,684 INFO L273 TraceCheckUtils]: 45: Hoare triple {4045#true} assume true; {4045#true} is VALID [2018-11-23 12:23:17,685 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {4045#true} {4057#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} #67#return; {4057#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-23 12:23:17,685 INFO L273 TraceCheckUtils]: 47: Hoare triple {4057#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} havoc #t~mem4; {4057#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-23 12:23:17,686 INFO L273 TraceCheckUtils]: 48: Hoare triple {4057#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4058#(<= 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:17,687 INFO L273 TraceCheckUtils]: 49: Hoare triple {4058#(<= 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); {4059#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:23:17,688 INFO L256 TraceCheckUtils]: 50: Hoare triple {4059#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4055#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:17,688 INFO L273 TraceCheckUtils]: 51: Hoare triple {4055#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {4060#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:23:17,689 INFO L273 TraceCheckUtils]: 52: Hoare triple {4060#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {4046#false} is VALID [2018-11-23 12:23:17,689 INFO L273 TraceCheckUtils]: 53: Hoare triple {4046#false} assume !false; {4046#false} is VALID [2018-11-23 12:23:17,696 INFO L134 CoverageAnalysis]: Checked inductivity of 64 backedges. 5 proven. 53 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2018-11-23 12:23:17,697 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:17,697 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:17,708 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:23:17,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:17,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:17,741 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:17,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 13 treesize of output 10 [2018-11-23 12:23:17,861 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 10 treesize of output 9 [2018-11-23 12:23:17,863 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:17,866 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,871 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,871 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 12:23:18,344 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 17 treesize of output 13 [2018-11-23 12:23:18,349 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:23:18,350 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-23 12:23:18,351 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:18,354 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,359 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:18,359 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-23 12:23:18,362 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:18,362 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= main_~i~0 3) (= (select .cse0 12) 3) (<= (select .cse0 (* 4 main_~i~0)) |main_#t~mem4|))) [2018-11-23 12:23:18,362 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 3) (<= 3 |main_#t~mem4|)) [2018-11-23 12:23:18,438 INFO L256 TraceCheckUtils]: 0: Hoare triple {4045#true} call ULTIMATE.init(); {4045#true} is VALID [2018-11-23 12:23:18,439 INFO L273 TraceCheckUtils]: 1: Hoare triple {4045#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {4045#true} is VALID [2018-11-23 12:23:18,439 INFO L273 TraceCheckUtils]: 2: Hoare triple {4045#true} assume true; {4045#true} is VALID [2018-11-23 12:23:18,439 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4045#true} {4045#true} #63#return; {4045#true} is VALID [2018-11-23 12:23:18,439 INFO L256 TraceCheckUtils]: 4: Hoare triple {4045#true} call #t~ret5 := main(); {4045#true} is VALID [2018-11-23 12:23:18,439 INFO L273 TraceCheckUtils]: 5: Hoare triple {4045#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {4045#true} is VALID [2018-11-23 12:23:18,440 INFO L273 TraceCheckUtils]: 6: Hoare triple {4045#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {4082#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,440 INFO L273 TraceCheckUtils]: 7: Hoare triple {4082#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {4082#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,441 INFO L273 TraceCheckUtils]: 8: Hoare triple {4082#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4082#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,441 INFO L273 TraceCheckUtils]: 9: Hoare triple {4082#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4082#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,442 INFO L273 TraceCheckUtils]: 10: Hoare triple {4082#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4095#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,442 INFO L273 TraceCheckUtils]: 11: Hoare triple {4095#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {4095#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,443 INFO L273 TraceCheckUtils]: 12: Hoare triple {4095#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4095#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,443 INFO L273 TraceCheckUtils]: 13: Hoare triple {4095#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4095#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,444 INFO L273 TraceCheckUtils]: 14: Hoare triple {4095#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4108#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,445 INFO L273 TraceCheckUtils]: 15: Hoare triple {4108#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {4108#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,446 INFO L273 TraceCheckUtils]: 16: Hoare triple {4108#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4108#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,446 INFO L273 TraceCheckUtils]: 17: Hoare triple {4108#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4108#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,447 INFO L273 TraceCheckUtils]: 18: Hoare triple {4108#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4121#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,464 INFO L273 TraceCheckUtils]: 19: Hoare triple {4121#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {4121#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,469 INFO L273 TraceCheckUtils]: 20: Hoare triple {4121#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} assume !(1 + ~i~0 < ~SIZE~0); {4121#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,470 INFO L273 TraceCheckUtils]: 21: Hoare triple {4121#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4131#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,470 INFO L273 TraceCheckUtils]: 22: Hoare triple {4131#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4131#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,471 INFO L273 TraceCheckUtils]: 23: Hoare triple {4131#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {4131#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,471 INFO L273 TraceCheckUtils]: 24: Hoare triple {4131#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {4141#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,472 INFO L273 TraceCheckUtils]: 25: Hoare triple {4141#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 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); {4141#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,473 INFO L256 TraceCheckUtils]: 26: Hoare triple {4141#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4148#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:23:18,474 INFO L273 TraceCheckUtils]: 27: Hoare triple {4148#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12)))} ~cond := #in~cond; {4152#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:23:18,474 INFO L273 TraceCheckUtils]: 28: Hoare triple {4152#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {4156#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12))))} is VALID [2018-11-23 12:23:18,475 INFO L273 TraceCheckUtils]: 29: Hoare triple {4156#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12))))} assume true; {4156#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12))))} is VALID [2018-11-23 12:23:18,476 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {4156#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12))))} {4141#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #67#return; {4141#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,477 INFO L273 TraceCheckUtils]: 31: Hoare triple {4141#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {4141#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,478 INFO L273 TraceCheckUtils]: 32: Hoare triple {4141#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4169#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,478 INFO L273 TraceCheckUtils]: 33: Hoare triple {4169#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 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); {4169#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,480 INFO L256 TraceCheckUtils]: 34: Hoare triple {4169#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4148#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:23:18,480 INFO L273 TraceCheckUtils]: 35: Hoare triple {4148#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12)))} ~cond := #in~cond; {4148#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:23:18,482 INFO L273 TraceCheckUtils]: 36: Hoare triple {4148#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12)))} assume !(0 == ~cond); {4148#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:23:18,483 INFO L273 TraceCheckUtils]: 37: Hoare triple {4148#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12)))} assume true; {4148#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:23:18,483 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {4148#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12)))} {4169#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #67#return; {4169#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,484 INFO L273 TraceCheckUtils]: 39: Hoare triple {4169#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {4169#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,484 INFO L273 TraceCheckUtils]: 40: Hoare triple {4169#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4194#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,485 INFO L273 TraceCheckUtils]: 41: Hoare triple {4194#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |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); {4194#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,486 INFO L256 TraceCheckUtils]: 42: Hoare triple {4194#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4148#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:23:18,486 INFO L273 TraceCheckUtils]: 43: Hoare triple {4148#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12)))} ~cond := #in~cond; {4148#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:23:18,486 INFO L273 TraceCheckUtils]: 44: Hoare triple {4148#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12)))} assume !(0 == ~cond); {4148#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:23:18,487 INFO L273 TraceCheckUtils]: 45: Hoare triple {4148#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12)))} assume true; {4148#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:23:18,488 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {4148#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 12)))} {4194#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} #67#return; {4194#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,488 INFO L273 TraceCheckUtils]: 47: Hoare triple {4194#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {4194#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,489 INFO L273 TraceCheckUtils]: 48: Hoare triple {4194#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4219#(and (= main_~i~0 3) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:18,490 INFO L273 TraceCheckUtils]: 49: Hoare triple {4219#(and (= main_~i~0 3) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |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); {4223#(and (= main_~i~0 3) (<= 3 |main_#t~mem4|))} is VALID [2018-11-23 12:23:18,491 INFO L256 TraceCheckUtils]: 50: Hoare triple {4223#(and (= main_~i~0 3) (<= 3 |main_#t~mem4|))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4227#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:23:18,492 INFO L273 TraceCheckUtils]: 51: Hoare triple {4227#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {4231#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:23:18,492 INFO L273 TraceCheckUtils]: 52: Hoare triple {4231#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4046#false} is VALID [2018-11-23 12:23:18,493 INFO L273 TraceCheckUtils]: 53: Hoare triple {4046#false} assume !false; {4046#false} is VALID [2018-11-23 12:23:18,500 INFO L134 CoverageAnalysis]: Checked inductivity of 64 backedges. 0 proven. 58 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2018-11-23 12:23:18,518 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:18,518 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 17] total 31 [2018-11-23 12:23:18,518 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 54 [2018-11-23 12:23:18,519 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:18,519 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states. [2018-11-23 12:23:18,625 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:18,625 INFO L459 AbstractCegarLoop]: Interpolant automaton has 31 states [2018-11-23 12:23:18,625 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2018-11-23 12:23:18,626 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=103, Invalid=827, Unknown=0, NotChecked=0, Total=930 [2018-11-23 12:23:18,626 INFO L87 Difference]: Start difference. First operand 57 states and 58 transitions. Second operand 31 states. [2018-11-23 12:23:25,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:25,037 INFO L93 Difference]: Finished difference Result 121 states and 125 transitions. [2018-11-23 12:23:25,038 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2018-11-23 12:23:25,038 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 54 [2018-11-23 12:23:25,038 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:25,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 12:23:25,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 103 transitions. [2018-11-23 12:23:25,041 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 12:23:25,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 103 transitions. [2018-11-23 12:23:25,043 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 37 states and 103 transitions. [2018-11-23 12:23:25,188 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:25,192 INFO L225 Difference]: With dead ends: 121 [2018-11-23 12:23:25,192 INFO L226 Difference]: Without dead ends: 119 [2018-11-23 12:23:25,193 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 36 SyntacticMatches, 6 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 594 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=226, Invalid=1936, Unknown=0, NotChecked=0, Total=2162 [2018-11-23 12:23:25,194 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2018-11-23 12:23:25,698 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 77. [2018-11-23 12:23:25,698 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:25,698 INFO L82 GeneralOperation]: Start isEquivalent. First operand 119 states. Second operand 77 states. [2018-11-23 12:23:25,698 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand 77 states. [2018-11-23 12:23:25,699 INFO L87 Difference]: Start difference. First operand 119 states. Second operand 77 states. [2018-11-23 12:23:25,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:25,702 INFO L93 Difference]: Finished difference Result 119 states and 123 transitions. [2018-11-23 12:23:25,702 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 123 transitions. [2018-11-23 12:23:25,703 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:25,703 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:25,703 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 119 states. [2018-11-23 12:23:25,703 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 119 states. [2018-11-23 12:23:25,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:25,706 INFO L93 Difference]: Finished difference Result 119 states and 123 transitions. [2018-11-23 12:23:25,707 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 123 transitions. [2018-11-23 12:23:25,707 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:25,707 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:25,707 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:25,708 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:25,708 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-11-23 12:23:25,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 80 transitions. [2018-11-23 12:23:25,709 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 80 transitions. Word has length 54 [2018-11-23 12:23:25,710 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:25,710 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 80 transitions. [2018-11-23 12:23:25,710 INFO L481 AbstractCegarLoop]: Interpolant automaton has 31 states. [2018-11-23 12:23:25,710 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 80 transitions. [2018-11-23 12:23:25,711 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2018-11-23 12:23:25,711 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:25,711 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:25,711 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:25,711 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:25,712 INFO L82 PathProgramCache]: Analyzing trace with hash 1242365501, now seen corresponding path program 8 times [2018-11-23 12:23:25,712 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:25,712 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:25,712 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:25,713 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:23:25,713 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:25,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:26,112 INFO L256 TraceCheckUtils]: 0: Hoare triple {4773#true} call ULTIMATE.init(); {4773#true} is VALID [2018-11-23 12:23:26,112 INFO L273 TraceCheckUtils]: 1: Hoare triple {4773#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {4773#true} is VALID [2018-11-23 12:23:26,113 INFO L273 TraceCheckUtils]: 2: Hoare triple {4773#true} assume true; {4773#true} is VALID [2018-11-23 12:23:26,113 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4773#true} {4773#true} #63#return; {4773#true} is VALID [2018-11-23 12:23:26,113 INFO L256 TraceCheckUtils]: 4: Hoare triple {4773#true} call #t~ret5 := main(); {4773#true} is VALID [2018-11-23 12:23:26,113 INFO L273 TraceCheckUtils]: 5: Hoare triple {4773#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {4773#true} is VALID [2018-11-23 12:23:26,114 INFO L273 TraceCheckUtils]: 6: Hoare triple {4773#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {4775#(= main_~i~0 0)} is VALID [2018-11-23 12:23:26,114 INFO L273 TraceCheckUtils]: 7: Hoare triple {4775#(= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {4775#(= main_~i~0 0)} is VALID [2018-11-23 12:23:26,115 INFO L273 TraceCheckUtils]: 8: Hoare triple {4775#(= main_~i~0 0)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4775#(= main_~i~0 0)} is VALID [2018-11-23 12:23:26,115 INFO L273 TraceCheckUtils]: 9: Hoare triple {4775#(= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4775#(= main_~i~0 0)} is VALID [2018-11-23 12:23:26,116 INFO L273 TraceCheckUtils]: 10: Hoare triple {4775#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4776#(<= main_~i~0 1)} is VALID [2018-11-23 12:23:26,116 INFO L273 TraceCheckUtils]: 11: Hoare triple {4776#(<= main_~i~0 1)} assume !!(~i~0 < ~SIZE~0); {4776#(<= main_~i~0 1)} is VALID [2018-11-23 12:23:26,116 INFO L273 TraceCheckUtils]: 12: Hoare triple {4776#(<= main_~i~0 1)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4776#(<= main_~i~0 1)} is VALID [2018-11-23 12:23:26,117 INFO L273 TraceCheckUtils]: 13: Hoare triple {4776#(<= main_~i~0 1)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4776#(<= main_~i~0 1)} is VALID [2018-11-23 12:23:26,117 INFO L273 TraceCheckUtils]: 14: Hoare triple {4776#(<= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4777#(<= main_~i~0 2)} is VALID [2018-11-23 12:23:26,118 INFO L273 TraceCheckUtils]: 15: Hoare triple {4777#(<= main_~i~0 2)} assume !!(~i~0 < ~SIZE~0); {4777#(<= main_~i~0 2)} is VALID [2018-11-23 12:23:26,118 INFO L273 TraceCheckUtils]: 16: Hoare triple {4777#(<= main_~i~0 2)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4777#(<= main_~i~0 2)} is VALID [2018-11-23 12:23:26,119 INFO L273 TraceCheckUtils]: 17: Hoare triple {4777#(<= main_~i~0 2)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4777#(<= main_~i~0 2)} is VALID [2018-11-23 12:23:26,120 INFO L273 TraceCheckUtils]: 18: Hoare triple {4777#(<= main_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4778#(<= main_~i~0 3)} is VALID [2018-11-23 12:23:26,120 INFO L273 TraceCheckUtils]: 19: Hoare triple {4778#(<= main_~i~0 3)} assume !!(~i~0 < ~SIZE~0); {4778#(<= main_~i~0 3)} is VALID [2018-11-23 12:23:26,121 INFO L273 TraceCheckUtils]: 20: Hoare triple {4778#(<= main_~i~0 3)} assume !(1 + ~i~0 < ~SIZE~0); {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,122 INFO L273 TraceCheckUtils]: 21: Hoare triple {4779#(<= ~SIZE~0 4)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,122 INFO L273 TraceCheckUtils]: 22: Hoare triple {4779#(<= ~SIZE~0 4)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,123 INFO L273 TraceCheckUtils]: 23: Hoare triple {4779#(<= ~SIZE~0 4)} assume !(~i~0 < ~SIZE~0); {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,123 INFO L273 TraceCheckUtils]: 24: Hoare triple {4779#(<= ~SIZE~0 4)} ~i~0 := 0; {4780#(and (<= ~SIZE~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:23:26,124 INFO L273 TraceCheckUtils]: 25: Hoare triple {4780#(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); {4780#(and (<= ~SIZE~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:23:26,124 INFO L256 TraceCheckUtils]: 26: Hoare triple {4780#(and (<= ~SIZE~0 4) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4773#true} is VALID [2018-11-23 12:23:26,124 INFO L273 TraceCheckUtils]: 27: Hoare triple {4773#true} ~cond := #in~cond; {4773#true} is VALID [2018-11-23 12:23:26,125 INFO L273 TraceCheckUtils]: 28: Hoare triple {4773#true} assume !(0 == ~cond); {4773#true} is VALID [2018-11-23 12:23:26,125 INFO L273 TraceCheckUtils]: 29: Hoare triple {4773#true} assume true; {4773#true} is VALID [2018-11-23 12:23:26,126 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {4773#true} {4780#(and (<= ~SIZE~0 4) (= main_~i~0 0))} #67#return; {4780#(and (<= ~SIZE~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:23:26,127 INFO L273 TraceCheckUtils]: 31: Hoare triple {4780#(and (<= ~SIZE~0 4) (= main_~i~0 0))} havoc #t~mem4; {4780#(and (<= ~SIZE~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:23:26,127 INFO L273 TraceCheckUtils]: 32: Hoare triple {4780#(and (<= ~SIZE~0 4) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4781#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:26,127 INFO L273 TraceCheckUtils]: 33: Hoare triple {4781#(<= ~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); {4781#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:26,128 INFO L256 TraceCheckUtils]: 34: Hoare triple {4781#(<= ~SIZE~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4773#true} is VALID [2018-11-23 12:23:26,128 INFO L273 TraceCheckUtils]: 35: Hoare triple {4773#true} ~cond := #in~cond; {4773#true} is VALID [2018-11-23 12:23:26,128 INFO L273 TraceCheckUtils]: 36: Hoare triple {4773#true} assume !(0 == ~cond); {4773#true} is VALID [2018-11-23 12:23:26,128 INFO L273 TraceCheckUtils]: 37: Hoare triple {4773#true} assume true; {4773#true} is VALID [2018-11-23 12:23:26,128 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {4773#true} {4781#(<= ~SIZE~0 (+ main_~i~0 3))} #67#return; {4781#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:26,129 INFO L273 TraceCheckUtils]: 39: Hoare triple {4781#(<= ~SIZE~0 (+ main_~i~0 3))} havoc #t~mem4; {4781#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:26,130 INFO L273 TraceCheckUtils]: 40: Hoare triple {4781#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4782#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:26,130 INFO L273 TraceCheckUtils]: 41: Hoare triple {4782#(<= ~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); {4782#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:26,130 INFO L256 TraceCheckUtils]: 42: Hoare triple {4782#(<= ~SIZE~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4773#true} is VALID [2018-11-23 12:23:26,131 INFO L273 TraceCheckUtils]: 43: Hoare triple {4773#true} ~cond := #in~cond; {4773#true} is VALID [2018-11-23 12:23:26,131 INFO L273 TraceCheckUtils]: 44: Hoare triple {4773#true} assume !(0 == ~cond); {4773#true} is VALID [2018-11-23 12:23:26,131 INFO L273 TraceCheckUtils]: 45: Hoare triple {4773#true} assume true; {4773#true} is VALID [2018-11-23 12:23:26,132 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {4773#true} {4782#(<= ~SIZE~0 (+ main_~i~0 2))} #67#return; {4782#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:26,132 INFO L273 TraceCheckUtils]: 47: Hoare triple {4782#(<= ~SIZE~0 (+ main_~i~0 2))} havoc #t~mem4; {4782#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:26,133 INFO L273 TraceCheckUtils]: 48: Hoare triple {4782#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4783#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:26,134 INFO L273 TraceCheckUtils]: 49: Hoare triple {4783#(<= ~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); {4783#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:26,134 INFO L256 TraceCheckUtils]: 50: Hoare triple {4783#(<= ~SIZE~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4773#true} is VALID [2018-11-23 12:23:26,134 INFO L273 TraceCheckUtils]: 51: Hoare triple {4773#true} ~cond := #in~cond; {4773#true} is VALID [2018-11-23 12:23:26,134 INFO L273 TraceCheckUtils]: 52: Hoare triple {4773#true} assume !(0 == ~cond); {4773#true} is VALID [2018-11-23 12:23:26,135 INFO L273 TraceCheckUtils]: 53: Hoare triple {4773#true} assume true; {4773#true} is VALID [2018-11-23 12:23:26,136 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {4773#true} {4783#(<= ~SIZE~0 (+ main_~i~0 1))} #67#return; {4783#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:26,136 INFO L273 TraceCheckUtils]: 55: Hoare triple {4783#(<= ~SIZE~0 (+ main_~i~0 1))} havoc #t~mem4; {4783#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:26,137 INFO L273 TraceCheckUtils]: 56: Hoare triple {4783#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4784#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-23 12:23:26,138 INFO L273 TraceCheckUtils]: 57: Hoare triple {4784#(<= ~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); {4774#false} is VALID [2018-11-23 12:23:26,138 INFO L256 TraceCheckUtils]: 58: Hoare triple {4774#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4774#false} is VALID [2018-11-23 12:23:26,138 INFO L273 TraceCheckUtils]: 59: Hoare triple {4774#false} ~cond := #in~cond; {4774#false} is VALID [2018-11-23 12:23:26,138 INFO L273 TraceCheckUtils]: 60: Hoare triple {4774#false} assume 0 == ~cond; {4774#false} is VALID [2018-11-23 12:23:26,138 INFO L273 TraceCheckUtils]: 61: Hoare triple {4774#false} assume !false; {4774#false} is VALID [2018-11-23 12:23:26,142 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:26,142 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:26,143 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:23:26,156 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:23:26,177 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:23:26,177 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:26,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:26,189 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:26,413 INFO L256 TraceCheckUtils]: 0: Hoare triple {4773#true} call ULTIMATE.init(); {4773#true} is VALID [2018-11-23 12:23:26,414 INFO L273 TraceCheckUtils]: 1: Hoare triple {4773#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {4773#true} is VALID [2018-11-23 12:23:26,414 INFO L273 TraceCheckUtils]: 2: Hoare triple {4773#true} assume true; {4773#true} is VALID [2018-11-23 12:23:26,414 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4773#true} {4773#true} #63#return; {4773#true} is VALID [2018-11-23 12:23:26,414 INFO L256 TraceCheckUtils]: 4: Hoare triple {4773#true} call #t~ret5 := main(); {4773#true} is VALID [2018-11-23 12:23:26,415 INFO L273 TraceCheckUtils]: 5: Hoare triple {4773#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {4773#true} is VALID [2018-11-23 12:23:26,415 INFO L273 TraceCheckUtils]: 6: Hoare triple {4773#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {4806#(<= main_~i~0 0)} is VALID [2018-11-23 12:23:26,416 INFO L273 TraceCheckUtils]: 7: Hoare triple {4806#(<= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {4806#(<= main_~i~0 0)} is VALID [2018-11-23 12:23:26,416 INFO L273 TraceCheckUtils]: 8: Hoare triple {4806#(<= main_~i~0 0)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4806#(<= main_~i~0 0)} is VALID [2018-11-23 12:23:26,416 INFO L273 TraceCheckUtils]: 9: Hoare triple {4806#(<= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4806#(<= main_~i~0 0)} is VALID [2018-11-23 12:23:26,417 INFO L273 TraceCheckUtils]: 10: Hoare triple {4806#(<= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4776#(<= main_~i~0 1)} is VALID [2018-11-23 12:23:26,417 INFO L273 TraceCheckUtils]: 11: Hoare triple {4776#(<= main_~i~0 1)} assume !!(~i~0 < ~SIZE~0); {4776#(<= main_~i~0 1)} is VALID [2018-11-23 12:23:26,418 INFO L273 TraceCheckUtils]: 12: Hoare triple {4776#(<= main_~i~0 1)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4776#(<= main_~i~0 1)} is VALID [2018-11-23 12:23:26,418 INFO L273 TraceCheckUtils]: 13: Hoare triple {4776#(<= main_~i~0 1)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4776#(<= main_~i~0 1)} is VALID [2018-11-23 12:23:26,419 INFO L273 TraceCheckUtils]: 14: Hoare triple {4776#(<= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4777#(<= main_~i~0 2)} is VALID [2018-11-23 12:23:26,419 INFO L273 TraceCheckUtils]: 15: Hoare triple {4777#(<= main_~i~0 2)} assume !!(~i~0 < ~SIZE~0); {4777#(<= main_~i~0 2)} is VALID [2018-11-23 12:23:26,420 INFO L273 TraceCheckUtils]: 16: Hoare triple {4777#(<= main_~i~0 2)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4777#(<= main_~i~0 2)} is VALID [2018-11-23 12:23:26,420 INFO L273 TraceCheckUtils]: 17: Hoare triple {4777#(<= main_~i~0 2)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4777#(<= main_~i~0 2)} is VALID [2018-11-23 12:23:26,421 INFO L273 TraceCheckUtils]: 18: Hoare triple {4777#(<= main_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4778#(<= main_~i~0 3)} is VALID [2018-11-23 12:23:26,422 INFO L273 TraceCheckUtils]: 19: Hoare triple {4778#(<= main_~i~0 3)} assume !!(~i~0 < ~SIZE~0); {4778#(<= main_~i~0 3)} is VALID [2018-11-23 12:23:26,440 INFO L273 TraceCheckUtils]: 20: Hoare triple {4778#(<= main_~i~0 3)} assume !(1 + ~i~0 < ~SIZE~0); {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,454 INFO L273 TraceCheckUtils]: 21: Hoare triple {4779#(<= ~SIZE~0 4)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,459 INFO L273 TraceCheckUtils]: 22: Hoare triple {4779#(<= ~SIZE~0 4)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,477 INFO L273 TraceCheckUtils]: 23: Hoare triple {4779#(<= ~SIZE~0 4)} assume !(~i~0 < ~SIZE~0); {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,486 INFO L273 TraceCheckUtils]: 24: Hoare triple {4779#(<= ~SIZE~0 4)} ~i~0 := 0; {4861#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:26,499 INFO L273 TraceCheckUtils]: 25: Hoare triple {4861#(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); {4861#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:26,508 INFO L256 TraceCheckUtils]: 26: Hoare triple {4861#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,520 INFO L273 TraceCheckUtils]: 27: Hoare triple {4779#(<= ~SIZE~0 4)} ~cond := #in~cond; {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,530 INFO L273 TraceCheckUtils]: 28: Hoare triple {4779#(<= ~SIZE~0 4)} assume !(0 == ~cond); {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,532 INFO L273 TraceCheckUtils]: 29: Hoare triple {4779#(<= ~SIZE~0 4)} assume true; {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,532 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {4779#(<= ~SIZE~0 4)} {4861#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} #67#return; {4861#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:26,533 INFO L273 TraceCheckUtils]: 31: Hoare triple {4861#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} havoc #t~mem4; {4861#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:26,533 INFO L273 TraceCheckUtils]: 32: Hoare triple {4861#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4886#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:26,534 INFO L273 TraceCheckUtils]: 33: Hoare triple {4886#(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); {4886#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:26,535 INFO L256 TraceCheckUtils]: 34: Hoare triple {4886#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,535 INFO L273 TraceCheckUtils]: 35: Hoare triple {4779#(<= ~SIZE~0 4)} ~cond := #in~cond; {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,536 INFO L273 TraceCheckUtils]: 36: Hoare triple {4779#(<= ~SIZE~0 4)} assume !(0 == ~cond); {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,536 INFO L273 TraceCheckUtils]: 37: Hoare triple {4779#(<= ~SIZE~0 4)} assume true; {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,537 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {4779#(<= ~SIZE~0 4)} {4886#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} #67#return; {4886#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:26,538 INFO L273 TraceCheckUtils]: 39: Hoare triple {4886#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} havoc #t~mem4; {4886#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:26,538 INFO L273 TraceCheckUtils]: 40: Hoare triple {4886#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4911#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:26,539 INFO L273 TraceCheckUtils]: 41: Hoare triple {4911#(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); {4911#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:26,540 INFO L256 TraceCheckUtils]: 42: Hoare triple {4911#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,541 INFO L273 TraceCheckUtils]: 43: Hoare triple {4779#(<= ~SIZE~0 4)} ~cond := #in~cond; {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,541 INFO L273 TraceCheckUtils]: 44: Hoare triple {4779#(<= ~SIZE~0 4)} assume !(0 == ~cond); {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,542 INFO L273 TraceCheckUtils]: 45: Hoare triple {4779#(<= ~SIZE~0 4)} assume true; {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,542 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {4779#(<= ~SIZE~0 4)} {4911#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} #67#return; {4911#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:26,543 INFO L273 TraceCheckUtils]: 47: Hoare triple {4911#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} havoc #t~mem4; {4911#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:26,544 INFO L273 TraceCheckUtils]: 48: Hoare triple {4911#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4936#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:26,545 INFO L273 TraceCheckUtils]: 49: Hoare triple {4936#(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); {4936#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:26,545 INFO L256 TraceCheckUtils]: 50: Hoare triple {4936#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,546 INFO L273 TraceCheckUtils]: 51: Hoare triple {4779#(<= ~SIZE~0 4)} ~cond := #in~cond; {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,547 INFO L273 TraceCheckUtils]: 52: Hoare triple {4779#(<= ~SIZE~0 4)} assume !(0 == ~cond); {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,547 INFO L273 TraceCheckUtils]: 53: Hoare triple {4779#(<= ~SIZE~0 4)} assume true; {4779#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:26,548 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {4779#(<= ~SIZE~0 4)} {4936#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} #67#return; {4936#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:26,548 INFO L273 TraceCheckUtils]: 55: Hoare triple {4936#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} havoc #t~mem4; {4936#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:26,549 INFO L273 TraceCheckUtils]: 56: Hoare triple {4936#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4961#(and (<= 4 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:26,550 INFO L273 TraceCheckUtils]: 57: Hoare triple {4961#(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); {4774#false} is VALID [2018-11-23 12:23:26,550 INFO L256 TraceCheckUtils]: 58: Hoare triple {4774#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4774#false} is VALID [2018-11-23 12:23:26,551 INFO L273 TraceCheckUtils]: 59: Hoare triple {4774#false} ~cond := #in~cond; {4774#false} is VALID [2018-11-23 12:23:26,551 INFO L273 TraceCheckUtils]: 60: Hoare triple {4774#false} assume 0 == ~cond; {4774#false} is VALID [2018-11-23 12:23:26,551 INFO L273 TraceCheckUtils]: 61: Hoare triple {4774#false} assume !false; {4774#false} is VALID [2018-11-23 12:23:26,555 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:26,574 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:26,574 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 18 [2018-11-23 12:23:26,575 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 62 [2018-11-23 12:23:26,575 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:26,575 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 12:23:26,653 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:26,653 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 12:23:26,654 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 12:23:26,654 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=225, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:23:26,654 INFO L87 Difference]: Start difference. First operand 77 states and 80 transitions. Second operand 18 states. [2018-11-23 12:23:28,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:28,336 INFO L93 Difference]: Finished difference Result 140 states and 147 transitions. [2018-11-23 12:23:28,337 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 12:23:28,337 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 62 [2018-11-23 12:23:28,337 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:28,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:23:28,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 101 transitions. [2018-11-23 12:23:28,339 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:23:28,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 101 transitions. [2018-11-23 12:23:28,341 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 101 transitions. [2018-11-23 12:23:28,834 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:28,837 INFO L225 Difference]: With dead ends: 140 [2018-11-23 12:23:28,837 INFO L226 Difference]: Without dead ends: 93 [2018-11-23 12:23:28,838 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 57 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 109 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=127, Invalid=379, Unknown=0, NotChecked=0, Total=506 [2018-11-23 12:23:28,838 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2018-11-23 12:23:29,201 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 77. [2018-11-23 12:23:29,201 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:29,201 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand 77 states. [2018-11-23 12:23:29,201 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand 77 states. [2018-11-23 12:23:29,202 INFO L87 Difference]: Start difference. First operand 93 states. Second operand 77 states. [2018-11-23 12:23:29,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:29,205 INFO L93 Difference]: Finished difference Result 93 states and 99 transitions. [2018-11-23 12:23:29,205 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 99 transitions. [2018-11-23 12:23:29,205 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:29,205 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:29,205 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 93 states. [2018-11-23 12:23:29,205 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 93 states. [2018-11-23 12:23:29,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:29,207 INFO L93 Difference]: Finished difference Result 93 states and 99 transitions. [2018-11-23 12:23:29,207 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 99 transitions. [2018-11-23 12:23:29,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:29,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:29,208 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:29,208 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:29,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-11-23 12:23:29,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 79 transitions. [2018-11-23 12:23:29,210 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 79 transitions. Word has length 62 [2018-11-23 12:23:29,210 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:29,210 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 79 transitions. [2018-11-23 12:23:29,211 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 12:23:29,211 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 79 transitions. [2018-11-23 12:23:29,211 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2018-11-23 12:23:29,211 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:29,212 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 6, 5, 4, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:29,212 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:29,212 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:29,212 INFO L82 PathProgramCache]: Analyzing trace with hash 329218944, now seen corresponding path program 9 times [2018-11-23 12:23:29,212 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:29,212 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:29,213 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:29,213 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:29,213 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:29,237 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:29,808 WARN L180 SmtUtils]: Spent 102.00 ms on a formula simplification that was a NOOP. DAG size: 8 [2018-11-23 12:23:30,387 INFO L256 TraceCheckUtils]: 0: Hoare triple {5468#true} call ULTIMATE.init(); {5468#true} is VALID [2018-11-23 12:23:30,387 INFO L273 TraceCheckUtils]: 1: Hoare triple {5468#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {5468#true} is VALID [2018-11-23 12:23:30,387 INFO L273 TraceCheckUtils]: 2: Hoare triple {5468#true} assume true; {5468#true} is VALID [2018-11-23 12:23:30,387 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5468#true} {5468#true} #63#return; {5468#true} is VALID [2018-11-23 12:23:30,388 INFO L256 TraceCheckUtils]: 4: Hoare triple {5468#true} call #t~ret5 := main(); {5468#true} is VALID [2018-11-23 12:23:30,388 INFO L273 TraceCheckUtils]: 5: Hoare triple {5468#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {5468#true} is VALID [2018-11-23 12:23:30,389 INFO L273 TraceCheckUtils]: 6: Hoare triple {5468#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {5470#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,389 INFO L273 TraceCheckUtils]: 7: Hoare triple {5470#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {5470#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,390 INFO L273 TraceCheckUtils]: 8: Hoare triple {5470#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5470#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,390 INFO L273 TraceCheckUtils]: 9: Hoare triple {5470#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5470#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,391 INFO L273 TraceCheckUtils]: 10: Hoare triple {5470#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5471#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,391 INFO L273 TraceCheckUtils]: 11: Hoare triple {5471#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {5471#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,392 INFO L273 TraceCheckUtils]: 12: Hoare triple {5471#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5471#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,393 INFO L273 TraceCheckUtils]: 13: Hoare triple {5471#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5471#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,394 INFO L273 TraceCheckUtils]: 14: Hoare triple {5471#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5472#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,394 INFO L273 TraceCheckUtils]: 15: Hoare triple {5472#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {5472#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,395 INFO L273 TraceCheckUtils]: 16: Hoare triple {5472#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5472#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,396 INFO L273 TraceCheckUtils]: 17: Hoare triple {5472#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5472#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,397 INFO L273 TraceCheckUtils]: 18: Hoare triple {5472#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5473#(and (= (* 4 main_~i~0) 12) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,398 INFO L273 TraceCheckUtils]: 19: Hoare triple {5473#(and (= (* 4 main_~i~0) 12) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {5473#(and (= (* 4 main_~i~0) 12) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,398 INFO L273 TraceCheckUtils]: 20: Hoare triple {5473#(and (= (* 4 main_~i~0) 12) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5473#(and (= (* 4 main_~i~0) 12) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,399 INFO L273 TraceCheckUtils]: 21: Hoare triple {5473#(and (= (* 4 main_~i~0) 12) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5474#(and (= (* 4 main_~i~0) 12) (= 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:30,401 INFO L273 TraceCheckUtils]: 22: Hoare triple {5474#(and (= (* 4 main_~i~0) 12) (= 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 := 1 + #t~post2;havoc #t~post2; {5475#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 2) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,402 INFO L273 TraceCheckUtils]: 23: Hoare triple {5475#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 2) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {5475#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 2) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,403 INFO L273 TraceCheckUtils]: 24: Hoare triple {5475#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 2) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5475#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 2) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,404 INFO L273 TraceCheckUtils]: 25: Hoare triple {5475#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 2) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5475#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 2) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,406 INFO L273 TraceCheckUtils]: 26: Hoare triple {5475#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 2) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5476#(and (<= 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 2) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,407 INFO L273 TraceCheckUtils]: 27: Hoare triple {5476#(and (<= 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 2) 4)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {5476#(and (<= 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 2) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,407 INFO L273 TraceCheckUtils]: 28: Hoare triple {5476#(and (<= 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 2) 4)))) (= |main_~#a~0.offset| 0))} assume !(1 + ~i~0 < ~SIZE~0); {5476#(and (<= 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 2) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,409 INFO L273 TraceCheckUtils]: 29: Hoare triple {5476#(and (<= 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 2) 4)))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5477#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,409 INFO L273 TraceCheckUtils]: 30: Hoare triple {5477#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5477#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,410 INFO L273 TraceCheckUtils]: 31: Hoare triple {5477#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {5477#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,411 INFO L273 TraceCheckUtils]: 32: Hoare triple {5477#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {5478#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,412 INFO L273 TraceCheckUtils]: 33: Hoare triple {5478#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 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); {5478#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,412 INFO L256 TraceCheckUtils]: 34: Hoare triple {5478#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5468#true} is VALID [2018-11-23 12:23:30,413 INFO L273 TraceCheckUtils]: 35: Hoare triple {5468#true} ~cond := #in~cond; {5479#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:23:30,413 INFO L273 TraceCheckUtils]: 36: Hoare triple {5479#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {5480#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:30,414 INFO L273 TraceCheckUtils]: 37: Hoare triple {5480#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5480#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:30,415 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {5480#(not (= |__VERIFIER_assert_#in~cond| 0))} {5478#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #67#return; {5478#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,416 INFO L273 TraceCheckUtils]: 39: Hoare triple {5478#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {5478#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,417 INFO L273 TraceCheckUtils]: 40: Hoare triple {5478#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5481#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,418 INFO L273 TraceCheckUtils]: 41: Hoare triple {5481#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 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); {5481#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,419 INFO L256 TraceCheckUtils]: 42: Hoare triple {5481#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5468#true} is VALID [2018-11-23 12:23:30,419 INFO L273 TraceCheckUtils]: 43: Hoare triple {5468#true} ~cond := #in~cond; {5468#true} is VALID [2018-11-23 12:23:30,419 INFO L273 TraceCheckUtils]: 44: Hoare triple {5468#true} assume !(0 == ~cond); {5468#true} is VALID [2018-11-23 12:23:30,419 INFO L273 TraceCheckUtils]: 45: Hoare triple {5468#true} assume true; {5468#true} is VALID [2018-11-23 12:23:30,420 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {5468#true} {5481#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} #67#return; {5481#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,421 INFO L273 TraceCheckUtils]: 47: Hoare triple {5481#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {5481#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:30,422 INFO L273 TraceCheckUtils]: 48: Hoare triple {5481#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5482#(and (<= (+ main_~i~0 1) (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:23:30,423 INFO L273 TraceCheckUtils]: 49: Hoare triple {5482#(and (<= (+ main_~i~0 1) (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); {5482#(and (<= (+ main_~i~0 1) (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:23:30,423 INFO L256 TraceCheckUtils]: 50: Hoare triple {5482#(and (<= (+ main_~i~0 1) (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)); {5468#true} is VALID [2018-11-23 12:23:30,423 INFO L273 TraceCheckUtils]: 51: Hoare triple {5468#true} ~cond := #in~cond; {5468#true} is VALID [2018-11-23 12:23:30,424 INFO L273 TraceCheckUtils]: 52: Hoare triple {5468#true} assume !(0 == ~cond); {5468#true} is VALID [2018-11-23 12:23:30,424 INFO L273 TraceCheckUtils]: 53: Hoare triple {5468#true} assume true; {5468#true} is VALID [2018-11-23 12:23:30,425 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {5468#true} {5482#(and (<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4)))) (= |main_~#a~0.offset| 0))} #67#return; {5482#(and (<= (+ main_~i~0 1) (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:23:30,425 INFO L273 TraceCheckUtils]: 55: Hoare triple {5482#(and (<= (+ main_~i~0 1) (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; {5482#(and (<= (+ main_~i~0 1) (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:23:30,426 INFO L273 TraceCheckUtils]: 56: Hoare triple {5482#(and (<= (+ main_~i~0 1) (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; {5483#(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:30,427 INFO L273 TraceCheckUtils]: 57: Hoare triple {5483#(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); {5484#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:23:30,428 INFO L256 TraceCheckUtils]: 58: Hoare triple {5484#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5480#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:30,429 INFO L273 TraceCheckUtils]: 59: Hoare triple {5480#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {5485#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:23:30,429 INFO L273 TraceCheckUtils]: 60: Hoare triple {5485#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {5469#false} is VALID [2018-11-23 12:23:30,430 INFO L273 TraceCheckUtils]: 61: Hoare triple {5469#false} assume !false; {5469#false} is VALID [2018-11-23 12:23:30,443 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 6 proven. 90 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2018-11-23 12:23:30,443 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:30,444 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:23:30,452 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:23:30,568 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2018-11-23 12:23:30,568 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:30,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:30,612 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:30,740 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:30,745 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:30,752 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:30,754 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:30,760 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:30,761 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:19, output treesize:15 [2018-11-23 12:23:30,836 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 26 treesize of output 21 [2018-11-23 12:23:30,844 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:30,845 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:30,845 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 21 treesize of output 43 [2018-11-23 12:23:30,848 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:30,859 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:30,867 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:30,868 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:29, output treesize:25 [2018-11-23 12:23:30,997 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 37 treesize of output 30 [2018-11-23 12:23:31,006 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:31,007 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:31,008 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:31,010 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:31,011 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 86 [2018-11-23 12:23:31,014 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:31,030 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:31,045 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:31,045 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:40, output treesize:36 [2018-11-23 12:23:31,211 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 48 treesize of output 39 [2018-11-23 12:23:31,218 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:31,220 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:31,222 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:31,227 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:31,258 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 6 case distinctions, treesize of input 39 treesize of output 95 [2018-11-23 12:23:31,263 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-23 12:23:31,312 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 12:23:31,364 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 3 dim-0 vars, and 2 xjuncts. [2018-11-23 12:23:31,365 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:51, output treesize:86 [2018-11-23 12:23:31,371 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:31,371 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_24|, main_~i~0, v_prenex_7]. (let ((.cse0 (select |v_#memory_int_24| |main_~#a~0.base|)) (.cse1 (* 4 v_prenex_7))) (and (<= 4 v_prenex_7) (= 3 (select .cse0 (+ |main_~#a~0.offset| 12))) (= |#memory_int| (store |v_#memory_int_24| |main_~#a~0.base| (store .cse0 (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0))) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 4)) v_prenex_7) (= (select .cse0 (+ .cse1 |main_~#a~0.offset|)) v_prenex_7))) [2018-11-23 12:23:31,371 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_7, main_~i~0, v_prenex_8]. (let ((.cse1 (select |#memory_int| |main_~#a~0.base|))) (let ((.cse0 (= 3 (select .cse1 (+ |main_~#a~0.offset| 12))))) (or (let ((.cse2 (* 4 v_prenex_8))) (and .cse0 (<= 5 v_prenex_8) (= v_prenex_8 (+ (select .cse1 (+ .cse2 |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_8 (select .cse1 (+ .cse2 |main_~#a~0.offset|))))) (let ((.cse3 (* 4 v_prenex_7))) (and .cse0 (<= 4 v_prenex_7) (= (select .cse1 (+ .cse3 |main_~#a~0.offset|)) v_prenex_7) (= (select .cse1 (+ .cse3 |main_~#a~0.offset| 4)) v_prenex_7) (= main_~i~0 (select .cse1 (+ (* 4 main_~i~0) |main_~#a~0.offset|)))))))) [2018-11-23 12:23:37,305 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 50 treesize of output 42 [2018-11-23 12:23:37,417 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,443 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,456 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,457 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,457 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:23:37,459 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,461 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 4 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 63 [2018-11-23 12:23:37,465 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:37,492 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,529 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 52 treesize of output 44 [2018-11-23 12:23:37,541 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,543 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,545 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,547 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,549 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,549 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:23:37,594 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,596 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,597 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,600 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 38 treesize of output 88 [2018-11-23 12:23:37,602 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:37,630 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:37,652 INFO L267 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 2 dim-2 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2018-11-23 12:23:37,652 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 8 variables, input treesize:103, output treesize:27 [2018-11-23 12:23:37,657 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:37,657 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, |main_~#a~0.offset|, v_prenex_8, v_prenex_22, v_prenex_21, v_prenex_23, v_prenex_7]. (let ((.cse0 (= main_~i~0 3)) (.cse3 (* 4 main_~i~0))) (or (let ((.cse2 (* 4 v_prenex_8)) (.cse1 (select |#memory_int| |main_~#a~0.base|))) (and .cse0 (= 3 (select .cse1 (+ |main_~#a~0.offset| 12))) (= v_prenex_8 (select .cse1 (+ .cse2 |main_~#a~0.offset|))) (= v_prenex_8 (+ (select .cse1 (+ .cse2 |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8) (<= (select .cse1 (+ .cse3 |main_~#a~0.offset|)) |main_#t~mem4|))) (let ((.cse5 (* 4 v_prenex_7)) (.cse4 (select v_prenex_22 v_prenex_21))) (and .cse0 (= (select .cse4 (+ .cse5 v_prenex_23 4)) v_prenex_7) (<= (select .cse4 (+ .cse3 v_prenex_23)) |main_#t~mem4|) (<= 4 v_prenex_7) (= (select .cse4 (+ .cse5 v_prenex_23)) v_prenex_7) (= 3 (select .cse4 (+ v_prenex_23 12))))))) [2018-11-23 12:23:37,657 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_23, |main_~#a~0.offset|]. (let ((.cse1 (<= 3 |main_#t~mem4|)) (.cse0 (* 4 main_~i~0))) (or (and (= (+ v_prenex_23 12) (+ .cse0 v_prenex_23)) .cse1) (and .cse1 (= (+ |main_~#a~0.offset| 12) (+ .cse0 |main_~#a~0.offset|))))) [2018-11-23 12:23:37,778 INFO L256 TraceCheckUtils]: 0: Hoare triple {5468#true} call ULTIMATE.init(); {5468#true} is VALID [2018-11-23 12:23:37,779 INFO L273 TraceCheckUtils]: 1: Hoare triple {5468#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {5468#true} is VALID [2018-11-23 12:23:37,779 INFO L273 TraceCheckUtils]: 2: Hoare triple {5468#true} assume true; {5468#true} is VALID [2018-11-23 12:23:37,779 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5468#true} {5468#true} #63#return; {5468#true} is VALID [2018-11-23 12:23:37,779 INFO L256 TraceCheckUtils]: 4: Hoare triple {5468#true} call #t~ret5 := main(); {5468#true} is VALID [2018-11-23 12:23:37,780 INFO L273 TraceCheckUtils]: 5: Hoare triple {5468#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {5468#true} is VALID [2018-11-23 12:23:37,780 INFO L273 TraceCheckUtils]: 6: Hoare triple {5468#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {5507#(= main_~i~0 0)} is VALID [2018-11-23 12:23:37,781 INFO L273 TraceCheckUtils]: 7: Hoare triple {5507#(= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {5507#(= main_~i~0 0)} is VALID [2018-11-23 12:23:37,781 INFO L273 TraceCheckUtils]: 8: Hoare triple {5507#(= main_~i~0 0)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5507#(= main_~i~0 0)} is VALID [2018-11-23 12:23:37,781 INFO L273 TraceCheckUtils]: 9: Hoare triple {5507#(= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5507#(= main_~i~0 0)} is VALID [2018-11-23 12:23:37,782 INFO L273 TraceCheckUtils]: 10: Hoare triple {5507#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5520#(= main_~i~0 1)} is VALID [2018-11-23 12:23:37,782 INFO L273 TraceCheckUtils]: 11: Hoare triple {5520#(= main_~i~0 1)} assume !!(~i~0 < ~SIZE~0); {5520#(= main_~i~0 1)} is VALID [2018-11-23 12:23:37,782 INFO L273 TraceCheckUtils]: 12: Hoare triple {5520#(= main_~i~0 1)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5520#(= main_~i~0 1)} is VALID [2018-11-23 12:23:37,783 INFO L273 TraceCheckUtils]: 13: Hoare triple {5520#(= main_~i~0 1)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5520#(= main_~i~0 1)} is VALID [2018-11-23 12:23:37,783 INFO L273 TraceCheckUtils]: 14: Hoare triple {5520#(= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5533#(= main_~i~0 2)} is VALID [2018-11-23 12:23:37,784 INFO L273 TraceCheckUtils]: 15: Hoare triple {5533#(= main_~i~0 2)} assume !!(~i~0 < ~SIZE~0); {5533#(= main_~i~0 2)} is VALID [2018-11-23 12:23:37,784 INFO L273 TraceCheckUtils]: 16: Hoare triple {5533#(= main_~i~0 2)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5533#(= main_~i~0 2)} is VALID [2018-11-23 12:23:37,785 INFO L273 TraceCheckUtils]: 17: Hoare triple {5533#(= main_~i~0 2)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5533#(= main_~i~0 2)} is VALID [2018-11-23 12:23:37,786 INFO L273 TraceCheckUtils]: 18: Hoare triple {5533#(= main_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5546#(= main_~i~0 3)} is VALID [2018-11-23 12:23:37,786 INFO L273 TraceCheckUtils]: 19: Hoare triple {5546#(= main_~i~0 3)} assume !!(~i~0 < ~SIZE~0); {5546#(= main_~i~0 3)} is VALID [2018-11-23 12:23:37,787 INFO L273 TraceCheckUtils]: 20: Hoare triple {5546#(= main_~i~0 3)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5546#(= main_~i~0 3)} is VALID [2018-11-23 12:23:37,788 INFO L273 TraceCheckUtils]: 21: Hoare triple {5546#(= main_~i~0 3)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5556#(and (= main_~i~0 3) (= 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:37,789 INFO L273 TraceCheckUtils]: 22: Hoare triple {5556#(and (= main_~i~0 3) (= 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 := 1 + #t~post2;havoc #t~post2; {5560#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (<= 4 main_~i~0))} is VALID [2018-11-23 12:23:37,789 INFO L273 TraceCheckUtils]: 23: Hoare triple {5560#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (<= 4 main_~i~0))} assume !!(~i~0 < ~SIZE~0); {5560#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (<= 4 main_~i~0))} is VALID [2018-11-23 12:23:37,791 INFO L273 TraceCheckUtils]: 24: Hoare triple {5560#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (<= 4 main_~i~0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5567#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= 4 main_~i~0))} is VALID [2018-11-23 12:23:37,793 INFO L273 TraceCheckUtils]: 25: Hoare triple {5567#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= 4 main_~i~0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5571#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((main_~i~0 Int)) (and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= 4 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:37,794 INFO L273 TraceCheckUtils]: 26: Hoare triple {5571#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((main_~i~0 Int)) (and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= 4 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 := 1 + #t~post2;havoc #t~post2; {5571#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((main_~i~0 Int)) (and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= 4 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:37,795 INFO L273 TraceCheckUtils]: 27: Hoare triple {5571#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((main_~i~0 Int)) (and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= 4 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))))} assume !!(~i~0 < ~SIZE~0); {5571#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((main_~i~0 Int)) (and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= 4 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:37,796 INFO L273 TraceCheckUtils]: 28: Hoare triple {5571#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((main_~i~0 Int)) (and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= 4 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))))} assume !(1 + ~i~0 < ~SIZE~0); {5571#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((main_~i~0 Int)) (and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= 4 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:37,800 INFO L273 TraceCheckUtils]: 29: Hoare triple {5571#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((main_~i~0 Int)) (and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= 4 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5584#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7)))) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))))} is VALID [2018-11-23 12:23:37,801 INFO L273 TraceCheckUtils]: 30: Hoare triple {5584#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7)))) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5584#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7)))) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))))} is VALID [2018-11-23 12:23:37,801 INFO L273 TraceCheckUtils]: 31: Hoare triple {5584#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7)))) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))))} assume !(~i~0 < ~SIZE~0); {5584#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7)))) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))))} is VALID [2018-11-23 12:23:37,802 INFO L273 TraceCheckUtils]: 32: Hoare triple {5584#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7)))) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))))} ~i~0 := 0; {5594#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8))) (= main_~i~0 0)) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7))) (= main_~i~0 0)))} is VALID [2018-11-23 12:23:37,802 INFO L273 TraceCheckUtils]: 33: Hoare triple {5594#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8))) (= main_~i~0 0)) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_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); {5594#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8))) (= main_~i~0 0)) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7))) (= main_~i~0 0)))} is VALID [2018-11-23 12:23:37,804 INFO L256 TraceCheckUtils]: 34: Hoare triple {5594#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8))) (= main_~i~0 0)) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7))) (= main_~i~0 0)))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5601#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_10| Int) (|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ |v_main_~#a~0.offset_BEFORE_CALL_10| 12)) 3) (<= 4 v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10| 4)) v_prenex_7))) (exists ((v_prenex_10 Int) (v_prenex_8 Int) (v_prenex_9 Int)) (and (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 12)) 3) (= (+ (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8) (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8))))} is VALID [2018-11-23 12:23:37,805 INFO L273 TraceCheckUtils]: 35: Hoare triple {5601#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_10| Int) (|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ |v_main_~#a~0.offset_BEFORE_CALL_10| 12)) 3) (<= 4 v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10| 4)) v_prenex_7))) (exists ((v_prenex_10 Int) (v_prenex_8 Int) (v_prenex_9 Int)) (and (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 12)) 3) (= (+ (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8) (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8))))} ~cond := #in~cond; {5601#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_10| Int) (|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ |v_main_~#a~0.offset_BEFORE_CALL_10| 12)) 3) (<= 4 v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10| 4)) v_prenex_7))) (exists ((v_prenex_10 Int) (v_prenex_8 Int) (v_prenex_9 Int)) (and (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 12)) 3) (= (+ (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8) (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8))))} is VALID [2018-11-23 12:23:37,805 INFO L273 TraceCheckUtils]: 36: Hoare triple {5601#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_10| Int) (|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ |v_main_~#a~0.offset_BEFORE_CALL_10| 12)) 3) (<= 4 v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10| 4)) v_prenex_7))) (exists ((v_prenex_10 Int) (v_prenex_8 Int) (v_prenex_9 Int)) (and (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 12)) 3) (= (+ (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8) (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8))))} assume !(0 == ~cond); {5601#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_10| Int) (|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ |v_main_~#a~0.offset_BEFORE_CALL_10| 12)) 3) (<= 4 v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10| 4)) v_prenex_7))) (exists ((v_prenex_10 Int) (v_prenex_8 Int) (v_prenex_9 Int)) (and (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 12)) 3) (= (+ (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8) (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8))))} is VALID [2018-11-23 12:23:37,806 INFO L273 TraceCheckUtils]: 37: Hoare triple {5601#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_10| Int) (|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ |v_main_~#a~0.offset_BEFORE_CALL_10| 12)) 3) (<= 4 v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10| 4)) v_prenex_7))) (exists ((v_prenex_10 Int) (v_prenex_8 Int) (v_prenex_9 Int)) (and (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 12)) 3) (= (+ (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8) (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8))))} assume true; {5601#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_10| Int) (|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ |v_main_~#a~0.offset_BEFORE_CALL_10| 12)) 3) (<= 4 v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10| 4)) v_prenex_7))) (exists ((v_prenex_10 Int) (v_prenex_8 Int) (v_prenex_9 Int)) (and (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 12)) 3) (= (+ (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8) (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8))))} is VALID [2018-11-23 12:23:37,807 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {5601#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_10| Int) (|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ |v_main_~#a~0.offset_BEFORE_CALL_10| 12)) 3) (<= 4 v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10| 4)) v_prenex_7))) (exists ((v_prenex_10 Int) (v_prenex_8 Int) (v_prenex_9 Int)) (and (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 12)) 3) (= (+ (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8) (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8))))} {5594#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8))) (= main_~i~0 0)) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7))) (= main_~i~0 0)))} #67#return; {5594#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8))) (= main_~i~0 0)) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7))) (= main_~i~0 0)))} is VALID [2018-11-23 12:23:37,807 INFO L273 TraceCheckUtils]: 39: Hoare triple {5594#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8))) (= main_~i~0 0)) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7))) (= main_~i~0 0)))} havoc #t~mem4; {5594#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8))) (= main_~i~0 0)) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7))) (= main_~i~0 0)))} is VALID [2018-11-23 12:23:37,810 INFO L273 TraceCheckUtils]: 40: Hoare triple {5594#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8))) (= main_~i~0 0)) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7))) (= main_~i~0 0)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5620#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7))) (= main_~i~0 1)))} is VALID [2018-11-23 12:23:37,811 INFO L273 TraceCheckUtils]: 41: Hoare triple {5620#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7))) (= main_~i~0 1)))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5620#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7))) (= main_~i~0 1)))} is VALID [2018-11-23 12:23:37,825 INFO L256 TraceCheckUtils]: 42: Hoare triple {5620#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7))) (= main_~i~0 1)))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5627#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_11| 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_7) |v_main_~#a~0.offset_BEFORE_CALL_11|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_11| 4)) v_prenex_7) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ |v_main_~#a~0.offset_BEFORE_CALL_11| 12))) (<= 4 v_prenex_7))) (exists ((v_prenex_14 Int) (v_prenex_13 Int) (v_prenex_8 Int)) (and (= (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8) (= 3 (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 12))) (= (+ (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8))))} is VALID [2018-11-23 12:23:37,826 INFO L273 TraceCheckUtils]: 43: Hoare triple {5627#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_11| 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_7) |v_main_~#a~0.offset_BEFORE_CALL_11|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_11| 4)) v_prenex_7) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ |v_main_~#a~0.offset_BEFORE_CALL_11| 12))) (<= 4 v_prenex_7))) (exists ((v_prenex_14 Int) (v_prenex_13 Int) (v_prenex_8 Int)) (and (= (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8) (= 3 (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 12))) (= (+ (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8))))} ~cond := #in~cond; {5627#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_11| 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_7) |v_main_~#a~0.offset_BEFORE_CALL_11|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_11| 4)) v_prenex_7) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ |v_main_~#a~0.offset_BEFORE_CALL_11| 12))) (<= 4 v_prenex_7))) (exists ((v_prenex_14 Int) (v_prenex_13 Int) (v_prenex_8 Int)) (and (= (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8) (= 3 (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 12))) (= (+ (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8))))} is VALID [2018-11-23 12:23:37,826 INFO L273 TraceCheckUtils]: 44: Hoare triple {5627#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_11| 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_7) |v_main_~#a~0.offset_BEFORE_CALL_11|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_11| 4)) v_prenex_7) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ |v_main_~#a~0.offset_BEFORE_CALL_11| 12))) (<= 4 v_prenex_7))) (exists ((v_prenex_14 Int) (v_prenex_13 Int) (v_prenex_8 Int)) (and (= (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8) (= 3 (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 12))) (= (+ (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8))))} assume !(0 == ~cond); {5627#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_11| 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_7) |v_main_~#a~0.offset_BEFORE_CALL_11|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_11| 4)) v_prenex_7) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ |v_main_~#a~0.offset_BEFORE_CALL_11| 12))) (<= 4 v_prenex_7))) (exists ((v_prenex_14 Int) (v_prenex_13 Int) (v_prenex_8 Int)) (and (= (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8) (= 3 (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 12))) (= (+ (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8))))} is VALID [2018-11-23 12:23:37,827 INFO L273 TraceCheckUtils]: 45: Hoare triple {5627#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_11| 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_7) |v_main_~#a~0.offset_BEFORE_CALL_11|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_11| 4)) v_prenex_7) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ |v_main_~#a~0.offset_BEFORE_CALL_11| 12))) (<= 4 v_prenex_7))) (exists ((v_prenex_14 Int) (v_prenex_13 Int) (v_prenex_8 Int)) (and (= (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8) (= 3 (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 12))) (= (+ (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8))))} assume true; {5627#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_11| 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_7) |v_main_~#a~0.offset_BEFORE_CALL_11|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_11| 4)) v_prenex_7) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ |v_main_~#a~0.offset_BEFORE_CALL_11| 12))) (<= 4 v_prenex_7))) (exists ((v_prenex_14 Int) (v_prenex_13 Int) (v_prenex_8 Int)) (and (= (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8) (= 3 (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 12))) (= (+ (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8))))} is VALID [2018-11-23 12:23:37,827 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {5627#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_11| 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_7) |v_main_~#a~0.offset_BEFORE_CALL_11|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_11| 4)) v_prenex_7) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ |v_main_~#a~0.offset_BEFORE_CALL_11| 12))) (<= 4 v_prenex_7))) (exists ((v_prenex_14 Int) (v_prenex_13 Int) (v_prenex_8 Int)) (and (= (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8) (= 3 (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 12))) (= (+ (select (select |#memory_int| v_prenex_14) (+ v_prenex_13 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8))))} {5620#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7))) (= main_~i~0 1)))} #67#return; {5620#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7))) (= main_~i~0 1)))} is VALID [2018-11-23 12:23:37,828 INFO L273 TraceCheckUtils]: 47: Hoare triple {5620#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7))) (= main_~i~0 1)))} havoc #t~mem4; {5620#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7))) (= main_~i~0 1)))} is VALID [2018-11-23 12:23:37,830 INFO L273 TraceCheckUtils]: 48: Hoare triple {5620#(or (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))) (and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7))) (= main_~i~0 1)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5646#(or (and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))) (and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7)))))} is VALID [2018-11-23 12:23:37,831 INFO L273 TraceCheckUtils]: 49: Hoare triple {5646#(or (and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))) (and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5646#(or (and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))) (and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7)))))} is VALID [2018-11-23 12:23:37,833 INFO L256 TraceCheckUtils]: 50: Hoare triple {5646#(or (and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))) (and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7)))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5601#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_10| Int) (|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ |v_main_~#a~0.offset_BEFORE_CALL_10| 12)) 3) (<= 4 v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10| 4)) v_prenex_7))) (exists ((v_prenex_10 Int) (v_prenex_8 Int) (v_prenex_9 Int)) (and (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 12)) 3) (= (+ (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8) (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8))))} is VALID [2018-11-23 12:23:37,833 INFO L273 TraceCheckUtils]: 51: Hoare triple {5601#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_10| Int) (|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ |v_main_~#a~0.offset_BEFORE_CALL_10| 12)) 3) (<= 4 v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10| 4)) v_prenex_7))) (exists ((v_prenex_10 Int) (v_prenex_8 Int) (v_prenex_9 Int)) (and (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 12)) 3) (= (+ (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8) (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8))))} ~cond := #in~cond; {5601#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_10| Int) (|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ |v_main_~#a~0.offset_BEFORE_CALL_10| 12)) 3) (<= 4 v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10| 4)) v_prenex_7))) (exists ((v_prenex_10 Int) (v_prenex_8 Int) (v_prenex_9 Int)) (and (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 12)) 3) (= (+ (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8) (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8))))} is VALID [2018-11-23 12:23:37,834 INFO L273 TraceCheckUtils]: 52: Hoare triple {5601#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_10| Int) (|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ |v_main_~#a~0.offset_BEFORE_CALL_10| 12)) 3) (<= 4 v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10| 4)) v_prenex_7))) (exists ((v_prenex_10 Int) (v_prenex_8 Int) (v_prenex_9 Int)) (and (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 12)) 3) (= (+ (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8) (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8))))} assume !(0 == ~cond); {5601#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_10| Int) (|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ |v_main_~#a~0.offset_BEFORE_CALL_10| 12)) 3) (<= 4 v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10| 4)) v_prenex_7))) (exists ((v_prenex_10 Int) (v_prenex_8 Int) (v_prenex_9 Int)) (and (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 12)) 3) (= (+ (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8) (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8))))} is VALID [2018-11-23 12:23:37,834 INFO L273 TraceCheckUtils]: 53: Hoare triple {5601#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_10| Int) (|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ |v_main_~#a~0.offset_BEFORE_CALL_10| 12)) 3) (<= 4 v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10| 4)) v_prenex_7))) (exists ((v_prenex_10 Int) (v_prenex_8 Int) (v_prenex_9 Int)) (and (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 12)) 3) (= (+ (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8) (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8))))} assume true; {5601#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_10| Int) (|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ |v_main_~#a~0.offset_BEFORE_CALL_10| 12)) 3) (<= 4 v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10| 4)) v_prenex_7))) (exists ((v_prenex_10 Int) (v_prenex_8 Int) (v_prenex_9 Int)) (and (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 12)) 3) (= (+ (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8) (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8))))} is VALID [2018-11-23 12:23:37,835 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {5601#(or (exists ((v_prenex_7 Int) (|v_main_~#a~0.offset_BEFORE_CALL_10| Int) (|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10|)) v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ |v_main_~#a~0.offset_BEFORE_CALL_10| 12)) 3) (<= 4 v_prenex_7) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (+ (* 4 v_prenex_7) |v_main_~#a~0.offset_BEFORE_CALL_10| 4)) v_prenex_7))) (exists ((v_prenex_10 Int) (v_prenex_8 Int) (v_prenex_9 Int)) (and (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 12)) 3) (= (+ (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8) (- 4))) 1) v_prenex_8) (= (select (select |#memory_int| v_prenex_10) (+ v_prenex_9 (* 4 v_prenex_8))) v_prenex_8) (<= 5 v_prenex_8))))} {5646#(or (and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))) (and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7)))))} #67#return; {5646#(or (and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))) (and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7)))))} is VALID [2018-11-23 12:23:37,836 INFO L273 TraceCheckUtils]: 55: Hoare triple {5646#(or (and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))) (and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7)))))} havoc #t~mem4; {5646#(or (and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))) (and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7)))))} is VALID [2018-11-23 12:23:37,839 INFO L273 TraceCheckUtils]: 56: Hoare triple {5646#(or (and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))) (and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5671#(or (and (= main_~i~0 3) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7)))) (and (= main_~i~0 3) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))))} is VALID [2018-11-23 12:23:37,840 INFO L273 TraceCheckUtils]: 57: Hoare triple {5671#(or (and (= main_~i~0 3) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_7 Int)) (and (<= 4 v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset|)) v_prenex_7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_7) |main_~#a~0.offset| 4)) v_prenex_7)))) (and (= main_~i~0 3) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (exists ((v_prenex_8 Int)) (and (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (= v_prenex_8 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset| (- 4))) 1)) (<= 5 v_prenex_8)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5675#(and (= 12 (* 4 main_~i~0)) (<= 3 |main_#t~mem4|))} is VALID [2018-11-23 12:23:37,841 INFO L256 TraceCheckUtils]: 58: Hoare triple {5675#(and (= 12 (* 4 main_~i~0)) (<= 3 |main_#t~mem4|))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5679#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:23:37,842 INFO L273 TraceCheckUtils]: 59: Hoare triple {5679#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {5683#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:23:37,843 INFO L273 TraceCheckUtils]: 60: Hoare triple {5683#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5469#false} is VALID [2018-11-23 12:23:37,843 INFO L273 TraceCheckUtils]: 61: Hoare triple {5469#false} assume !false; {5469#false} is VALID [2018-11-23 12:23:37,871 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 4 proven. 90 refuted. 4 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:23:37,890 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:37,890 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 20] total 36 [2018-11-23 12:23:37,891 INFO L78 Accepts]: Start accepts. Automaton has 36 states. Word has length 62 [2018-11-23 12:23:37,891 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:37,891 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 36 states. [2018-11-23 12:23:38,452 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:38,452 INFO L459 AbstractCegarLoop]: Interpolant automaton has 36 states [2018-11-23 12:23:38,452 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2018-11-23 12:23:38,453 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=116, Invalid=1143, Unknown=1, NotChecked=0, Total=1260 [2018-11-23 12:23:38,453 INFO L87 Difference]: Start difference. First operand 77 states and 79 transitions. Second operand 36 states. [2018-11-23 12:23:49,952 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:49,952 INFO L93 Difference]: Finished difference Result 123 states and 125 transitions. [2018-11-23 12:23:49,952 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 45 states. [2018-11-23 12:23:49,952 INFO L78 Accepts]: Start accepts. Automaton has 36 states. Word has length 62 [2018-11-23 12:23:49,952 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:49,952 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-23 12:23:49,954 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 107 transitions. [2018-11-23 12:23:49,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-23 12:23:49,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 107 transitions. [2018-11-23 12:23:49,956 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 45 states and 107 transitions. [2018-11-23 12:23:50,859 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:50,861 INFO L225 Difference]: With dead ends: 123 [2018-11-23 12:23:50,862 INFO L226 Difference]: Without dead ends: 121 [2018-11-23 12:23:50,863 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 117 GetRequests, 43 SyntacticMatches, 7 SemanticMatches, 67 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1225 ImplicationChecksByTransitivity, 6.4s TimeCoverageRelationStatistics Valid=441, Invalid=4250, Unknown=1, NotChecked=0, Total=4692 [2018-11-23 12:23:50,863 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2018-11-23 12:23:51,242 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 69. [2018-11-23 12:23:51,242 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:51,242 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand 69 states. [2018-11-23 12:23:51,243 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 69 states. [2018-11-23 12:23:51,243 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 69 states. [2018-11-23 12:23:51,246 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:51,246 INFO L93 Difference]: Finished difference Result 121 states and 123 transitions. [2018-11-23 12:23:51,246 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 123 transitions. [2018-11-23 12:23:51,247 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:51,247 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:51,247 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 121 states. [2018-11-23 12:23:51,247 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 121 states. [2018-11-23 12:23:51,249 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:51,250 INFO L93 Difference]: Finished difference Result 121 states and 123 transitions. [2018-11-23 12:23:51,250 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 123 transitions. [2018-11-23 12:23:51,250 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:51,250 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:51,250 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:51,251 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:51,251 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2018-11-23 12:23:51,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 70 transitions. [2018-11-23 12:23:51,252 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 70 transitions. Word has length 62 [2018-11-23 12:23:51,253 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:51,253 INFO L480 AbstractCegarLoop]: Abstraction has 69 states and 70 transitions. [2018-11-23 12:23:51,253 INFO L481 AbstractCegarLoop]: Interpolant automaton has 36 states. [2018-11-23 12:23:51,253 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 70 transitions. [2018-11-23 12:23:51,254 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2018-11-23 12:23:51,254 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:51,254 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:51,254 INFO L423 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:51,254 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:51,254 INFO L82 PathProgramCache]: Analyzing trace with hash 827230584, now seen corresponding path program 10 times [2018-11-23 12:23:51,255 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:51,255 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:51,255 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:51,255 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:51,256 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:51,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:52,195 INFO L256 TraceCheckUtils]: 0: Hoare triple {6257#true} call ULTIMATE.init(); {6257#true} is VALID [2018-11-23 12:23:52,195 INFO L273 TraceCheckUtils]: 1: Hoare triple {6257#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {6257#true} is VALID [2018-11-23 12:23:52,195 INFO L273 TraceCheckUtils]: 2: Hoare triple {6257#true} assume true; {6257#true} is VALID [2018-11-23 12:23:52,196 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6257#true} {6257#true} #63#return; {6257#true} is VALID [2018-11-23 12:23:52,196 INFO L256 TraceCheckUtils]: 4: Hoare triple {6257#true} call #t~ret5 := main(); {6257#true} is VALID [2018-11-23 12:23:52,196 INFO L273 TraceCheckUtils]: 5: Hoare triple {6257#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {6257#true} is VALID [2018-11-23 12:23:52,197 INFO L273 TraceCheckUtils]: 6: Hoare triple {6257#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {6259#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,197 INFO L273 TraceCheckUtils]: 7: Hoare triple {6259#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {6259#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,197 INFO L273 TraceCheckUtils]: 8: Hoare triple {6259#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6259#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,198 INFO L273 TraceCheckUtils]: 9: Hoare triple {6259#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6259#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,198 INFO L273 TraceCheckUtils]: 10: Hoare triple {6259#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6260#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,199 INFO L273 TraceCheckUtils]: 11: Hoare triple {6260#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {6260#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,199 INFO L273 TraceCheckUtils]: 12: Hoare triple {6260#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6260#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,200 INFO L273 TraceCheckUtils]: 13: Hoare triple {6260#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6260#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,201 INFO L273 TraceCheckUtils]: 14: Hoare triple {6260#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6261#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,202 INFO L273 TraceCheckUtils]: 15: Hoare triple {6261#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {6261#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,203 INFO L273 TraceCheckUtils]: 16: Hoare triple {6261#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6261#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,203 INFO L273 TraceCheckUtils]: 17: Hoare triple {6261#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6261#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,204 INFO L273 TraceCheckUtils]: 18: Hoare triple {6261#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6262#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,205 INFO L273 TraceCheckUtils]: 19: Hoare triple {6262#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {6262#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,206 INFO L273 TraceCheckUtils]: 20: Hoare triple {6262#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6262#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,207 INFO L273 TraceCheckUtils]: 21: Hoare triple {6262#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6262#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,208 INFO L273 TraceCheckUtils]: 22: Hoare triple {6262#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6263#(and (= (* 4 main_~i~0) 16) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,208 INFO L273 TraceCheckUtils]: 23: Hoare triple {6263#(and (= (* 4 main_~i~0) 16) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {6263#(and (= (* 4 main_~i~0) 16) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,209 INFO L273 TraceCheckUtils]: 24: Hoare triple {6263#(and (= (* 4 main_~i~0) 16) (= |main_~#a~0.offset| 0))} assume !(1 + ~i~0 < ~SIZE~0); {6263#(and (= (* 4 main_~i~0) 16) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,210 INFO L273 TraceCheckUtils]: 25: Hoare triple {6263#(and (= (* 4 main_~i~0) 16) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6264#(and (= (* 4 main_~i~0) 16) (<= (+ |main_~#a~0.offset| 4) (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:52,211 INFO L273 TraceCheckUtils]: 26: Hoare triple {6264#(and (= (* 4 main_~i~0) 16) (<= (+ |main_~#a~0.offset| 4) (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 := 1 + #t~post2;havoc #t~post2; {6265#(and (<= (+ |main_~#a~0.offset| 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,212 INFO L273 TraceCheckUtils]: 27: Hoare triple {6265#(and (<= (+ |main_~#a~0.offset| 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {6265#(and (<= (+ |main_~#a~0.offset| 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,213 INFO L273 TraceCheckUtils]: 28: Hoare triple {6265#(and (<= (+ |main_~#a~0.offset| 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {6266#(and (<= (+ |main_~#a~0.offset| 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,213 INFO L273 TraceCheckUtils]: 29: Hoare triple {6266#(and (<= (+ |main_~#a~0.offset| 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 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); {6266#(and (<= (+ |main_~#a~0.offset| 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,214 INFO L256 TraceCheckUtils]: 30: Hoare triple {6266#(and (<= (+ |main_~#a~0.offset| 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6257#true} is VALID [2018-11-23 12:23:52,214 INFO L273 TraceCheckUtils]: 31: Hoare triple {6257#true} ~cond := #in~cond; {6267#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:23:52,215 INFO L273 TraceCheckUtils]: 32: Hoare triple {6267#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {6268#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:52,215 INFO L273 TraceCheckUtils]: 33: Hoare triple {6268#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6268#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:52,216 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {6268#(not (= |__VERIFIER_assert_#in~cond| 0))} {6266#(and (<= (+ |main_~#a~0.offset| 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #67#return; {6266#(and (<= (+ |main_~#a~0.offset| 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,217 INFO L273 TraceCheckUtils]: 35: Hoare triple {6266#(and (<= (+ |main_~#a~0.offset| 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6266#(and (<= (+ |main_~#a~0.offset| 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,218 INFO L273 TraceCheckUtils]: 36: Hoare triple {6266#(and (<= (+ |main_~#a~0.offset| 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6269#(and (<= (+ main_~i~0 |main_~#a~0.offset| 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,219 INFO L273 TraceCheckUtils]: 37: Hoare triple {6269#(and (<= (+ main_~i~0 |main_~#a~0.offset| 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 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); {6269#(and (<= (+ main_~i~0 |main_~#a~0.offset| 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,219 INFO L256 TraceCheckUtils]: 38: Hoare triple {6269#(and (<= (+ main_~i~0 |main_~#a~0.offset| 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6257#true} is VALID [2018-11-23 12:23:52,220 INFO L273 TraceCheckUtils]: 39: Hoare triple {6257#true} ~cond := #in~cond; {6257#true} is VALID [2018-11-23 12:23:52,220 INFO L273 TraceCheckUtils]: 40: Hoare triple {6257#true} assume !(0 == ~cond); {6257#true} is VALID [2018-11-23 12:23:52,220 INFO L273 TraceCheckUtils]: 41: Hoare triple {6257#true} assume true; {6257#true} is VALID [2018-11-23 12:23:52,221 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {6257#true} {6269#(and (<= (+ main_~i~0 |main_~#a~0.offset| 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} #67#return; {6269#(and (<= (+ main_~i~0 |main_~#a~0.offset| 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,222 INFO L273 TraceCheckUtils]: 43: Hoare triple {6269#(and (<= (+ main_~i~0 |main_~#a~0.offset| 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6269#(and (<= (+ main_~i~0 |main_~#a~0.offset| 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,223 INFO L273 TraceCheckUtils]: 44: Hoare triple {6269#(and (<= (+ main_~i~0 |main_~#a~0.offset| 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6270#(and (<= (+ main_~i~0 |main_~#a~0.offset| 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,224 INFO L273 TraceCheckUtils]: 45: Hoare triple {6270#(and (<= (+ main_~i~0 |main_~#a~0.offset| 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 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); {6270#(and (<= (+ main_~i~0 |main_~#a~0.offset| 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,224 INFO L256 TraceCheckUtils]: 46: Hoare triple {6270#(and (<= (+ main_~i~0 |main_~#a~0.offset| 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6257#true} is VALID [2018-11-23 12:23:52,224 INFO L273 TraceCheckUtils]: 47: Hoare triple {6257#true} ~cond := #in~cond; {6257#true} is VALID [2018-11-23 12:23:52,224 INFO L273 TraceCheckUtils]: 48: Hoare triple {6257#true} assume !(0 == ~cond); {6257#true} is VALID [2018-11-23 12:23:52,225 INFO L273 TraceCheckUtils]: 49: Hoare triple {6257#true} assume true; {6257#true} is VALID [2018-11-23 12:23:52,225 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {6257#true} {6270#(and (<= (+ main_~i~0 |main_~#a~0.offset| 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} #67#return; {6270#(and (<= (+ main_~i~0 |main_~#a~0.offset| 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,226 INFO L273 TraceCheckUtils]: 51: Hoare triple {6270#(and (<= (+ main_~i~0 |main_~#a~0.offset| 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6270#(and (<= (+ main_~i~0 |main_~#a~0.offset| 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:52,227 INFO L273 TraceCheckUtils]: 52: Hoare triple {6270#(and (<= (+ main_~i~0 |main_~#a~0.offset| 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6271#(and (<= (+ main_~i~0 |main_~#a~0.offset| 1) (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:23:52,227 INFO L273 TraceCheckUtils]: 53: Hoare triple {6271#(and (<= (+ main_~i~0 |main_~#a~0.offset| 1) (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); {6271#(and (<= (+ main_~i~0 |main_~#a~0.offset| 1) (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:23:52,228 INFO L256 TraceCheckUtils]: 54: Hoare triple {6271#(and (<= (+ main_~i~0 |main_~#a~0.offset| 1) (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)); {6257#true} is VALID [2018-11-23 12:23:52,228 INFO L273 TraceCheckUtils]: 55: Hoare triple {6257#true} ~cond := #in~cond; {6257#true} is VALID [2018-11-23 12:23:52,228 INFO L273 TraceCheckUtils]: 56: Hoare triple {6257#true} assume !(0 == ~cond); {6257#true} is VALID [2018-11-23 12:23:52,228 INFO L273 TraceCheckUtils]: 57: Hoare triple {6257#true} assume true; {6257#true} is VALID [2018-11-23 12:23:52,228 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {6257#true} {6271#(and (<= (+ main_~i~0 |main_~#a~0.offset| 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4)))) (= |main_~#a~0.offset| 0))} #67#return; {6271#(and (<= (+ main_~i~0 |main_~#a~0.offset| 1) (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:23:52,229 INFO L273 TraceCheckUtils]: 59: Hoare triple {6271#(and (<= (+ main_~i~0 |main_~#a~0.offset| 1) (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; {6271#(and (<= (+ main_~i~0 |main_~#a~0.offset| 1) (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:23:52,230 INFO L273 TraceCheckUtils]: 60: Hoare triple {6271#(and (<= (+ main_~i~0 |main_~#a~0.offset| 1) (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; {6272#(and (<= (+ main_~i~0 |main_~#a~0.offset|) (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:52,231 INFO L273 TraceCheckUtils]: 61: Hoare triple {6272#(and (<= (+ main_~i~0 |main_~#a~0.offset|) (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); {6273#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:23:52,232 INFO L256 TraceCheckUtils]: 62: Hoare triple {6273#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6268#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:52,232 INFO L273 TraceCheckUtils]: 63: Hoare triple {6268#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {6274#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:23:52,233 INFO L273 TraceCheckUtils]: 64: Hoare triple {6274#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {6258#false} is VALID [2018-11-23 12:23:52,233 INFO L273 TraceCheckUtils]: 65: Hoare triple {6258#false} assume !false; {6258#false} is VALID [2018-11-23 12:23:52,244 INFO L134 CoverageAnalysis]: Checked inductivity of 109 backedges. 7 proven. 87 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 12:23:52,244 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:52,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 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:23:52,253 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:23:52,273 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:23:52,273 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:52,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:52,287 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:52,433 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 13 treesize of output 10 [2018-11-23 12:23:52,439 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 10 treesize of output 9 [2018-11-23 12:23:52,440 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:52,442 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:52,447 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:52,448 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 12:23:53,287 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 17 treesize of output 13 [2018-11-23 12:23:53,292 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:23:53,293 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-23 12:23:53,295 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:53,299 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:53,303 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:53,303 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-23 12:23:53,306 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:53,306 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= 4 (select .cse0 16)) (<= (select .cse0 (* 4 main_~i~0)) |main_#t~mem4|) (= main_~i~0 4))) [2018-11-23 12:23:53,307 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 4 |main_#t~mem4|) (= main_~i~0 4)) [2018-11-23 12:23:53,383 INFO L256 TraceCheckUtils]: 0: Hoare triple {6257#true} call ULTIMATE.init(); {6257#true} is VALID [2018-11-23 12:23:53,384 INFO L273 TraceCheckUtils]: 1: Hoare triple {6257#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {6257#true} is VALID [2018-11-23 12:23:53,384 INFO L273 TraceCheckUtils]: 2: Hoare triple {6257#true} assume true; {6257#true} is VALID [2018-11-23 12:23:53,384 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6257#true} {6257#true} #63#return; {6257#true} is VALID [2018-11-23 12:23:53,384 INFO L256 TraceCheckUtils]: 4: Hoare triple {6257#true} call #t~ret5 := main(); {6257#true} is VALID [2018-11-23 12:23:53,385 INFO L273 TraceCheckUtils]: 5: Hoare triple {6257#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {6257#true} is VALID [2018-11-23 12:23:53,385 INFO L273 TraceCheckUtils]: 6: Hoare triple {6257#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {6259#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,386 INFO L273 TraceCheckUtils]: 7: Hoare triple {6259#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {6259#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,386 INFO L273 TraceCheckUtils]: 8: Hoare triple {6259#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6259#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,387 INFO L273 TraceCheckUtils]: 9: Hoare triple {6259#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6259#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,387 INFO L273 TraceCheckUtils]: 10: Hoare triple {6259#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6260#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,388 INFO L273 TraceCheckUtils]: 11: Hoare triple {6260#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {6260#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,388 INFO L273 TraceCheckUtils]: 12: Hoare triple {6260#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6260#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,389 INFO L273 TraceCheckUtils]: 13: Hoare triple {6260#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6260#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,390 INFO L273 TraceCheckUtils]: 14: Hoare triple {6260#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6261#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,390 INFO L273 TraceCheckUtils]: 15: Hoare triple {6261#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {6261#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,391 INFO L273 TraceCheckUtils]: 16: Hoare triple {6261#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6261#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,392 INFO L273 TraceCheckUtils]: 17: Hoare triple {6261#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6261#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,393 INFO L273 TraceCheckUtils]: 18: Hoare triple {6261#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6262#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,394 INFO L273 TraceCheckUtils]: 19: Hoare triple {6262#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {6262#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,394 INFO L273 TraceCheckUtils]: 20: Hoare triple {6262#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6262#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,395 INFO L273 TraceCheckUtils]: 21: Hoare triple {6262#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6262#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,396 INFO L273 TraceCheckUtils]: 22: Hoare triple {6262#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6263#(and (= (* 4 main_~i~0) 16) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,397 INFO L273 TraceCheckUtils]: 23: Hoare triple {6263#(and (= (* 4 main_~i~0) 16) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {6263#(and (= (* 4 main_~i~0) 16) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,398 INFO L273 TraceCheckUtils]: 24: Hoare triple {6263#(and (= (* 4 main_~i~0) 16) (= |main_~#a~0.offset| 0))} assume !(1 + ~i~0 < ~SIZE~0); {6263#(and (= (* 4 main_~i~0) 16) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,399 INFO L273 TraceCheckUtils]: 25: Hoare triple {6263#(and (= (* 4 main_~i~0) 16) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6353#(and (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,399 INFO L273 TraceCheckUtils]: 26: Hoare triple {6353#(and (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6353#(and (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,400 INFO L273 TraceCheckUtils]: 27: Hoare triple {6353#(and (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {6353#(and (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,401 INFO L273 TraceCheckUtils]: 28: Hoare triple {6353#(and (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {6363#(and (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,402 INFO L273 TraceCheckUtils]: 29: Hoare triple {6363#(and (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 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); {6363#(and (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,403 INFO L256 TraceCheckUtils]: 30: Hoare triple {6363#(and (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} is VALID [2018-11-23 12:23:53,404 INFO L273 TraceCheckUtils]: 31: Hoare triple {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} ~cond := #in~cond; {6374#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4)) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:23:53,425 INFO L273 TraceCheckUtils]: 32: Hoare triple {6374#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4)) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {6378#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4)) (not (= |__VERIFIER_assert_#in~cond| 0)))} is VALID [2018-11-23 12:23:53,426 INFO L273 TraceCheckUtils]: 33: Hoare triple {6378#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4)) (not (= |__VERIFIER_assert_#in~cond| 0)))} assume true; {6378#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4)) (not (= |__VERIFIER_assert_#in~cond| 0)))} is VALID [2018-11-23 12:23:53,427 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {6378#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4)) (not (= |__VERIFIER_assert_#in~cond| 0)))} {6363#(and (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #67#return; {6363#(and (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,427 INFO L273 TraceCheckUtils]: 35: Hoare triple {6363#(and (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6363#(and (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,428 INFO L273 TraceCheckUtils]: 36: Hoare triple {6363#(and (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6391#(and (= main_~i~0 1) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,429 INFO L273 TraceCheckUtils]: 37: Hoare triple {6391#(and (= main_~i~0 1) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |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); {6391#(and (= main_~i~0 1) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,431 INFO L256 TraceCheckUtils]: 38: Hoare triple {6391#(and (= main_~i~0 1) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} is VALID [2018-11-23 12:23:53,431 INFO L273 TraceCheckUtils]: 39: Hoare triple {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} ~cond := #in~cond; {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} is VALID [2018-11-23 12:23:53,432 INFO L273 TraceCheckUtils]: 40: Hoare triple {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} assume !(0 == ~cond); {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} is VALID [2018-11-23 12:23:53,432 INFO L273 TraceCheckUtils]: 41: Hoare triple {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} assume true; {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} is VALID [2018-11-23 12:23:53,433 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} {6391#(and (= main_~i~0 1) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} #67#return; {6391#(and (= main_~i~0 1) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,434 INFO L273 TraceCheckUtils]: 43: Hoare triple {6391#(and (= main_~i~0 1) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6391#(and (= main_~i~0 1) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,435 INFO L273 TraceCheckUtils]: 44: Hoare triple {6391#(and (= main_~i~0 1) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6416#(and (= main_~i~0 2) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,436 INFO L273 TraceCheckUtils]: 45: Hoare triple {6416#(and (= main_~i~0 2) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |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); {6416#(and (= main_~i~0 2) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,437 INFO L256 TraceCheckUtils]: 46: Hoare triple {6416#(and (= main_~i~0 2) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} is VALID [2018-11-23 12:23:53,438 INFO L273 TraceCheckUtils]: 47: Hoare triple {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} ~cond := #in~cond; {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} is VALID [2018-11-23 12:23:53,438 INFO L273 TraceCheckUtils]: 48: Hoare triple {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} assume !(0 == ~cond); {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} is VALID [2018-11-23 12:23:53,439 INFO L273 TraceCheckUtils]: 49: Hoare triple {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} assume true; {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} is VALID [2018-11-23 12:23:53,440 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} {6416#(and (= main_~i~0 2) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} #67#return; {6416#(and (= main_~i~0 2) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,441 INFO L273 TraceCheckUtils]: 51: Hoare triple {6416#(and (= main_~i~0 2) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6416#(and (= main_~i~0 2) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,441 INFO L273 TraceCheckUtils]: 52: Hoare triple {6416#(and (= main_~i~0 2) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6441#(and (= main_~i~0 3) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,442 INFO L273 TraceCheckUtils]: 53: Hoare triple {6441#(and (= main_~i~0 3) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |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); {6441#(and (= main_~i~0 3) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,444 INFO L256 TraceCheckUtils]: 54: Hoare triple {6441#(and (= main_~i~0 3) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} is VALID [2018-11-23 12:23:53,444 INFO L273 TraceCheckUtils]: 55: Hoare triple {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} ~cond := #in~cond; {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} is VALID [2018-11-23 12:23:53,445 INFO L273 TraceCheckUtils]: 56: Hoare triple {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} assume !(0 == ~cond); {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} is VALID [2018-11-23 12:23:53,445 INFO L273 TraceCheckUtils]: 57: Hoare triple {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} assume true; {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} is VALID [2018-11-23 12:23:53,446 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {6370#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 16) 4))} {6441#(and (= main_~i~0 3) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} #67#return; {6441#(and (= main_~i~0 3) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,447 INFO L273 TraceCheckUtils]: 59: Hoare triple {6441#(and (= main_~i~0 3) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6441#(and (= main_~i~0 3) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,448 INFO L273 TraceCheckUtils]: 60: Hoare triple {6441#(and (= main_~i~0 3) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6466#(and (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:53,449 INFO L273 TraceCheckUtils]: 61: Hoare triple {6466#(and (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 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); {6470#(and (<= 4 |main_#t~mem4|) (= main_~i~0 4))} is VALID [2018-11-23 12:23:53,450 INFO L256 TraceCheckUtils]: 62: Hoare triple {6470#(and (<= 4 |main_#t~mem4|) (= main_~i~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6474#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:23:53,451 INFO L273 TraceCheckUtils]: 63: Hoare triple {6474#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {6478#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:23:53,451 INFO L273 TraceCheckUtils]: 64: Hoare triple {6478#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6258#false} is VALID [2018-11-23 12:23:53,451 INFO L273 TraceCheckUtils]: 65: Hoare triple {6258#false} assume !false; {6258#false} is VALID [2018-11-23 12:23:53,462 INFO L134 CoverageAnalysis]: Checked inductivity of 109 backedges. 0 proven. 94 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 12:23:53,481 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:53,481 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 19] total 30 [2018-11-23 12:23:53,481 INFO L78 Accepts]: Start accepts. Automaton has 30 states. Word has length 66 [2018-11-23 12:23:53,482 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:53,482 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 30 states. [2018-11-23 12:23:53,595 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:53,595 INFO L459 AbstractCegarLoop]: Interpolant automaton has 30 states [2018-11-23 12:23:53,595 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2018-11-23 12:23:53,596 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=773, Unknown=0, NotChecked=0, Total=870 [2018-11-23 12:23:53,596 INFO L87 Difference]: Start difference. First operand 69 states and 70 transitions. Second operand 30 states. [2018-11-23 12:23:58,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:58,008 INFO L93 Difference]: Finished difference Result 135 states and 138 transitions. [2018-11-23 12:23:58,008 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2018-11-23 12:23:58,008 INFO L78 Accepts]: Start accepts. Automaton has 30 states. Word has length 66 [2018-11-23 12:23:58,009 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:58,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-23 12:23:58,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 92 transitions. [2018-11-23 12:23:58,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-23 12:23:58,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 92 transitions. [2018-11-23 12:23:58,012 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 32 states and 92 transitions. [2018-11-23 12:23:58,502 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:58,506 INFO L225 Difference]: With dead ends: 135 [2018-11-23 12:23:58,506 INFO L226 Difference]: Without dead ends: 133 [2018-11-23 12:23:58,507 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 47 SyntacticMatches, 10 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 494 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=212, Invalid=1768, Unknown=0, NotChecked=0, Total=1980 [2018-11-23 12:23:58,507 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2018-11-23 12:23:59,254 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 89. [2018-11-23 12:23:59,254 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:59,254 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand 89 states. [2018-11-23 12:23:59,254 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 89 states. [2018-11-23 12:23:59,255 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 89 states. [2018-11-23 12:23:59,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:59,258 INFO L93 Difference]: Finished difference Result 133 states and 136 transitions. [2018-11-23 12:23:59,258 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 136 transitions. [2018-11-23 12:23:59,258 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:59,258 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:59,259 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 133 states. [2018-11-23 12:23:59,259 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 133 states. [2018-11-23 12:23:59,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:59,262 INFO L93 Difference]: Finished difference Result 133 states and 136 transitions. [2018-11-23 12:23:59,262 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 136 transitions. [2018-11-23 12:23:59,262 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:59,263 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:59,263 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:59,263 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:59,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 89 states. [2018-11-23 12:23:59,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 92 transitions. [2018-11-23 12:23:59,265 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 92 transitions. Word has length 66 [2018-11-23 12:23:59,265 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:59,265 INFO L480 AbstractCegarLoop]: Abstraction has 89 states and 92 transitions. [2018-11-23 12:23:59,265 INFO L481 AbstractCegarLoop]: Interpolant automaton has 30 states. [2018-11-23 12:23:59,265 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 92 transitions. [2018-11-23 12:23:59,266 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2018-11-23 12:23:59,266 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:59,266 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:59,267 INFO L423 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:59,267 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:59,267 INFO L82 PathProgramCache]: Analyzing trace with hash 1420793131, now seen corresponding path program 11 times [2018-11-23 12:23:59,267 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:59,267 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:59,268 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:59,268 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:59,268 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:59,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:59,787 INFO L256 TraceCheckUtils]: 0: Hoare triple {7081#true} call ULTIMATE.init(); {7081#true} is VALID [2018-11-23 12:23:59,788 INFO L273 TraceCheckUtils]: 1: Hoare triple {7081#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {7081#true} is VALID [2018-11-23 12:23:59,788 INFO L273 TraceCheckUtils]: 2: Hoare triple {7081#true} assume true; {7081#true} is VALID [2018-11-23 12:23:59,788 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7081#true} {7081#true} #63#return; {7081#true} is VALID [2018-11-23 12:23:59,788 INFO L256 TraceCheckUtils]: 4: Hoare triple {7081#true} call #t~ret5 := main(); {7081#true} is VALID [2018-11-23 12:23:59,788 INFO L273 TraceCheckUtils]: 5: Hoare triple {7081#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {7081#true} is VALID [2018-11-23 12:23:59,789 INFO L273 TraceCheckUtils]: 6: Hoare triple {7081#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {7083#(= main_~i~0 0)} is VALID [2018-11-23 12:23:59,789 INFO L273 TraceCheckUtils]: 7: Hoare triple {7083#(= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {7083#(= main_~i~0 0)} is VALID [2018-11-23 12:23:59,790 INFO L273 TraceCheckUtils]: 8: Hoare triple {7083#(= main_~i~0 0)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7083#(= main_~i~0 0)} is VALID [2018-11-23 12:23:59,790 INFO L273 TraceCheckUtils]: 9: Hoare triple {7083#(= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7083#(= main_~i~0 0)} is VALID [2018-11-23 12:23:59,791 INFO L273 TraceCheckUtils]: 10: Hoare triple {7083#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7084#(<= main_~i~0 1)} is VALID [2018-11-23 12:23:59,791 INFO L273 TraceCheckUtils]: 11: Hoare triple {7084#(<= main_~i~0 1)} assume !!(~i~0 < ~SIZE~0); {7084#(<= main_~i~0 1)} is VALID [2018-11-23 12:23:59,791 INFO L273 TraceCheckUtils]: 12: Hoare triple {7084#(<= main_~i~0 1)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7084#(<= main_~i~0 1)} is VALID [2018-11-23 12:23:59,792 INFO L273 TraceCheckUtils]: 13: Hoare triple {7084#(<= main_~i~0 1)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7084#(<= main_~i~0 1)} is VALID [2018-11-23 12:23:59,792 INFO L273 TraceCheckUtils]: 14: Hoare triple {7084#(<= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7085#(<= main_~i~0 2)} is VALID [2018-11-23 12:23:59,793 INFO L273 TraceCheckUtils]: 15: Hoare triple {7085#(<= main_~i~0 2)} assume !!(~i~0 < ~SIZE~0); {7085#(<= main_~i~0 2)} is VALID [2018-11-23 12:23:59,793 INFO L273 TraceCheckUtils]: 16: Hoare triple {7085#(<= main_~i~0 2)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7085#(<= main_~i~0 2)} is VALID [2018-11-23 12:23:59,793 INFO L273 TraceCheckUtils]: 17: Hoare triple {7085#(<= main_~i~0 2)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7085#(<= main_~i~0 2)} is VALID [2018-11-23 12:23:59,794 INFO L273 TraceCheckUtils]: 18: Hoare triple {7085#(<= main_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7086#(<= main_~i~0 3)} is VALID [2018-11-23 12:23:59,794 INFO L273 TraceCheckUtils]: 19: Hoare triple {7086#(<= main_~i~0 3)} assume !!(~i~0 < ~SIZE~0); {7086#(<= main_~i~0 3)} is VALID [2018-11-23 12:23:59,795 INFO L273 TraceCheckUtils]: 20: Hoare triple {7086#(<= main_~i~0 3)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7086#(<= main_~i~0 3)} is VALID [2018-11-23 12:23:59,795 INFO L273 TraceCheckUtils]: 21: Hoare triple {7086#(<= main_~i~0 3)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7086#(<= main_~i~0 3)} is VALID [2018-11-23 12:23:59,796 INFO L273 TraceCheckUtils]: 22: Hoare triple {7086#(<= main_~i~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7087#(<= main_~i~0 4)} is VALID [2018-11-23 12:23:59,797 INFO L273 TraceCheckUtils]: 23: Hoare triple {7087#(<= main_~i~0 4)} assume !!(~i~0 < ~SIZE~0); {7087#(<= main_~i~0 4)} is VALID [2018-11-23 12:23:59,797 INFO L273 TraceCheckUtils]: 24: Hoare triple {7087#(<= main_~i~0 4)} assume !(1 + ~i~0 < ~SIZE~0); {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:59,798 INFO L273 TraceCheckUtils]: 25: Hoare triple {7088#(<= ~SIZE~0 5)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:59,798 INFO L273 TraceCheckUtils]: 26: Hoare triple {7088#(<= ~SIZE~0 5)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:59,799 INFO L273 TraceCheckUtils]: 27: Hoare triple {7088#(<= ~SIZE~0 5)} assume !(~i~0 < ~SIZE~0); {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:59,800 INFO L273 TraceCheckUtils]: 28: Hoare triple {7088#(<= ~SIZE~0 5)} ~i~0 := 0; {7089#(and (<= ~SIZE~0 5) (= main_~i~0 0))} is VALID [2018-11-23 12:23:59,800 INFO L273 TraceCheckUtils]: 29: Hoare triple {7089#(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); {7089#(and (<= ~SIZE~0 5) (= main_~i~0 0))} is VALID [2018-11-23 12:23:59,801 INFO L256 TraceCheckUtils]: 30: Hoare triple {7089#(and (<= ~SIZE~0 5) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7081#true} is VALID [2018-11-23 12:23:59,801 INFO L273 TraceCheckUtils]: 31: Hoare triple {7081#true} ~cond := #in~cond; {7081#true} is VALID [2018-11-23 12:23:59,801 INFO L273 TraceCheckUtils]: 32: Hoare triple {7081#true} assume !(0 == ~cond); {7081#true} is VALID [2018-11-23 12:23:59,801 INFO L273 TraceCheckUtils]: 33: Hoare triple {7081#true} assume true; {7081#true} is VALID [2018-11-23 12:23:59,802 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {7081#true} {7089#(and (<= ~SIZE~0 5) (= main_~i~0 0))} #67#return; {7089#(and (<= ~SIZE~0 5) (= main_~i~0 0))} is VALID [2018-11-23 12:23:59,803 INFO L273 TraceCheckUtils]: 35: Hoare triple {7089#(and (<= ~SIZE~0 5) (= main_~i~0 0))} havoc #t~mem4; {7089#(and (<= ~SIZE~0 5) (= main_~i~0 0))} is VALID [2018-11-23 12:23:59,803 INFO L273 TraceCheckUtils]: 36: Hoare triple {7089#(and (<= ~SIZE~0 5) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7090#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:59,803 INFO L273 TraceCheckUtils]: 37: Hoare triple {7090#(<= ~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); {7090#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:59,803 INFO L256 TraceCheckUtils]: 38: Hoare triple {7090#(<= ~SIZE~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7081#true} is VALID [2018-11-23 12:23:59,804 INFO L273 TraceCheckUtils]: 39: Hoare triple {7081#true} ~cond := #in~cond; {7081#true} is VALID [2018-11-23 12:23:59,804 INFO L273 TraceCheckUtils]: 40: Hoare triple {7081#true} assume !(0 == ~cond); {7081#true} is VALID [2018-11-23 12:23:59,804 INFO L273 TraceCheckUtils]: 41: Hoare triple {7081#true} assume true; {7081#true} is VALID [2018-11-23 12:23:59,804 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {7081#true} {7090#(<= ~SIZE~0 (+ main_~i~0 4))} #67#return; {7090#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:59,805 INFO L273 TraceCheckUtils]: 43: Hoare triple {7090#(<= ~SIZE~0 (+ main_~i~0 4))} havoc #t~mem4; {7090#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:59,806 INFO L273 TraceCheckUtils]: 44: Hoare triple {7090#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7091#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:59,806 INFO L273 TraceCheckUtils]: 45: Hoare triple {7091#(<= ~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); {7091#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:59,806 INFO L256 TraceCheckUtils]: 46: Hoare triple {7091#(<= ~SIZE~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7081#true} is VALID [2018-11-23 12:23:59,807 INFO L273 TraceCheckUtils]: 47: Hoare triple {7081#true} ~cond := #in~cond; {7081#true} is VALID [2018-11-23 12:23:59,807 INFO L273 TraceCheckUtils]: 48: Hoare triple {7081#true} assume !(0 == ~cond); {7081#true} is VALID [2018-11-23 12:23:59,807 INFO L273 TraceCheckUtils]: 49: Hoare triple {7081#true} assume true; {7081#true} is VALID [2018-11-23 12:23:59,808 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {7081#true} {7091#(<= ~SIZE~0 (+ main_~i~0 3))} #67#return; {7091#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:59,808 INFO L273 TraceCheckUtils]: 51: Hoare triple {7091#(<= ~SIZE~0 (+ main_~i~0 3))} havoc #t~mem4; {7091#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:59,809 INFO L273 TraceCheckUtils]: 52: Hoare triple {7091#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7092#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:59,810 INFO L273 TraceCheckUtils]: 53: Hoare triple {7092#(<= ~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); {7092#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:59,810 INFO L256 TraceCheckUtils]: 54: Hoare triple {7092#(<= ~SIZE~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7081#true} is VALID [2018-11-23 12:23:59,810 INFO L273 TraceCheckUtils]: 55: Hoare triple {7081#true} ~cond := #in~cond; {7081#true} is VALID [2018-11-23 12:23:59,810 INFO L273 TraceCheckUtils]: 56: Hoare triple {7081#true} assume !(0 == ~cond); {7081#true} is VALID [2018-11-23 12:23:59,810 INFO L273 TraceCheckUtils]: 57: Hoare triple {7081#true} assume true; {7081#true} is VALID [2018-11-23 12:23:59,811 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {7081#true} {7092#(<= ~SIZE~0 (+ main_~i~0 2))} #67#return; {7092#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:59,812 INFO L273 TraceCheckUtils]: 59: Hoare triple {7092#(<= ~SIZE~0 (+ main_~i~0 2))} havoc #t~mem4; {7092#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:59,812 INFO L273 TraceCheckUtils]: 60: Hoare triple {7092#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7093#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:59,813 INFO L273 TraceCheckUtils]: 61: Hoare triple {7093#(<= ~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); {7093#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:59,813 INFO L256 TraceCheckUtils]: 62: Hoare triple {7093#(<= ~SIZE~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7081#true} is VALID [2018-11-23 12:23:59,813 INFO L273 TraceCheckUtils]: 63: Hoare triple {7081#true} ~cond := #in~cond; {7081#true} is VALID [2018-11-23 12:23:59,814 INFO L273 TraceCheckUtils]: 64: Hoare triple {7081#true} assume !(0 == ~cond); {7081#true} is VALID [2018-11-23 12:23:59,814 INFO L273 TraceCheckUtils]: 65: Hoare triple {7081#true} assume true; {7081#true} is VALID [2018-11-23 12:23:59,815 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {7081#true} {7093#(<= ~SIZE~0 (+ main_~i~0 1))} #67#return; {7093#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:59,815 INFO L273 TraceCheckUtils]: 67: Hoare triple {7093#(<= ~SIZE~0 (+ main_~i~0 1))} havoc #t~mem4; {7093#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:59,816 INFO L273 TraceCheckUtils]: 68: Hoare triple {7093#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7094#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-23 12:23:59,817 INFO L273 TraceCheckUtils]: 69: Hoare triple {7094#(<= ~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); {7082#false} is VALID [2018-11-23 12:23:59,817 INFO L256 TraceCheckUtils]: 70: Hoare triple {7082#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7082#false} is VALID [2018-11-23 12:23:59,817 INFO L273 TraceCheckUtils]: 71: Hoare triple {7082#false} ~cond := #in~cond; {7082#false} is VALID [2018-11-23 12:23:59,817 INFO L273 TraceCheckUtils]: 72: Hoare triple {7082#false} assume 0 == ~cond; {7082#false} is VALID [2018-11-23 12:23:59,817 INFO L273 TraceCheckUtils]: 73: Hoare triple {7082#false} assume !false; {7082#false} is VALID [2018-11-23 12:23:59,822 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:59,822 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:59,822 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:23:59,830 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:23:59,883 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 6 check-sat command(s) [2018-11-23 12:23:59,883 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:59,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:59,900 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:24:00,153 INFO L256 TraceCheckUtils]: 0: Hoare triple {7081#true} call ULTIMATE.init(); {7081#true} is VALID [2018-11-23 12:24:00,154 INFO L273 TraceCheckUtils]: 1: Hoare triple {7081#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {7081#true} is VALID [2018-11-23 12:24:00,154 INFO L273 TraceCheckUtils]: 2: Hoare triple {7081#true} assume true; {7081#true} is VALID [2018-11-23 12:24:00,154 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7081#true} {7081#true} #63#return; {7081#true} is VALID [2018-11-23 12:24:00,154 INFO L256 TraceCheckUtils]: 4: Hoare triple {7081#true} call #t~ret5 := main(); {7081#true} is VALID [2018-11-23 12:24:00,154 INFO L273 TraceCheckUtils]: 5: Hoare triple {7081#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {7081#true} is VALID [2018-11-23 12:24:00,155 INFO L273 TraceCheckUtils]: 6: Hoare triple {7081#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {7116#(<= main_~i~0 0)} is VALID [2018-11-23 12:24:00,155 INFO L273 TraceCheckUtils]: 7: Hoare triple {7116#(<= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {7116#(<= main_~i~0 0)} is VALID [2018-11-23 12:24:00,156 INFO L273 TraceCheckUtils]: 8: Hoare triple {7116#(<= main_~i~0 0)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7116#(<= main_~i~0 0)} is VALID [2018-11-23 12:24:00,156 INFO L273 TraceCheckUtils]: 9: Hoare triple {7116#(<= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7116#(<= main_~i~0 0)} is VALID [2018-11-23 12:24:00,157 INFO L273 TraceCheckUtils]: 10: Hoare triple {7116#(<= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7084#(<= main_~i~0 1)} is VALID [2018-11-23 12:24:00,157 INFO L273 TraceCheckUtils]: 11: Hoare triple {7084#(<= main_~i~0 1)} assume !!(~i~0 < ~SIZE~0); {7084#(<= main_~i~0 1)} is VALID [2018-11-23 12:24:00,157 INFO L273 TraceCheckUtils]: 12: Hoare triple {7084#(<= main_~i~0 1)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7084#(<= main_~i~0 1)} is VALID [2018-11-23 12:24:00,157 INFO L273 TraceCheckUtils]: 13: Hoare triple {7084#(<= main_~i~0 1)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7084#(<= main_~i~0 1)} is VALID [2018-11-23 12:24:00,158 INFO L273 TraceCheckUtils]: 14: Hoare triple {7084#(<= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7085#(<= main_~i~0 2)} is VALID [2018-11-23 12:24:00,158 INFO L273 TraceCheckUtils]: 15: Hoare triple {7085#(<= main_~i~0 2)} assume !!(~i~0 < ~SIZE~0); {7085#(<= main_~i~0 2)} is VALID [2018-11-23 12:24:00,159 INFO L273 TraceCheckUtils]: 16: Hoare triple {7085#(<= main_~i~0 2)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7085#(<= main_~i~0 2)} is VALID [2018-11-23 12:24:00,159 INFO L273 TraceCheckUtils]: 17: Hoare triple {7085#(<= main_~i~0 2)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7085#(<= main_~i~0 2)} is VALID [2018-11-23 12:24:00,160 INFO L273 TraceCheckUtils]: 18: Hoare triple {7085#(<= main_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7086#(<= main_~i~0 3)} is VALID [2018-11-23 12:24:00,161 INFO L273 TraceCheckUtils]: 19: Hoare triple {7086#(<= main_~i~0 3)} assume !!(~i~0 < ~SIZE~0); {7086#(<= main_~i~0 3)} is VALID [2018-11-23 12:24:00,161 INFO L273 TraceCheckUtils]: 20: Hoare triple {7086#(<= main_~i~0 3)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7086#(<= main_~i~0 3)} is VALID [2018-11-23 12:24:00,162 INFO L273 TraceCheckUtils]: 21: Hoare triple {7086#(<= main_~i~0 3)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7086#(<= main_~i~0 3)} is VALID [2018-11-23 12:24:00,162 INFO L273 TraceCheckUtils]: 22: Hoare triple {7086#(<= main_~i~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7087#(<= main_~i~0 4)} is VALID [2018-11-23 12:24:00,163 INFO L273 TraceCheckUtils]: 23: Hoare triple {7087#(<= main_~i~0 4)} assume !!(~i~0 < ~SIZE~0); {7087#(<= main_~i~0 4)} is VALID [2018-11-23 12:24:00,164 INFO L273 TraceCheckUtils]: 24: Hoare triple {7087#(<= main_~i~0 4)} assume !(1 + ~i~0 < ~SIZE~0); {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,164 INFO L273 TraceCheckUtils]: 25: Hoare triple {7088#(<= ~SIZE~0 5)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,165 INFO L273 TraceCheckUtils]: 26: Hoare triple {7088#(<= ~SIZE~0 5)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,165 INFO L273 TraceCheckUtils]: 27: Hoare triple {7088#(<= ~SIZE~0 5)} assume !(~i~0 < ~SIZE~0); {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,166 INFO L273 TraceCheckUtils]: 28: Hoare triple {7088#(<= ~SIZE~0 5)} ~i~0 := 0; {7183#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:24:00,167 INFO L273 TraceCheckUtils]: 29: Hoare triple {7183#(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); {7183#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:24:00,168 INFO L256 TraceCheckUtils]: 30: Hoare triple {7183#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,168 INFO L273 TraceCheckUtils]: 31: Hoare triple {7088#(<= ~SIZE~0 5)} ~cond := #in~cond; {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,169 INFO L273 TraceCheckUtils]: 32: Hoare triple {7088#(<= ~SIZE~0 5)} assume !(0 == ~cond); {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,169 INFO L273 TraceCheckUtils]: 33: Hoare triple {7088#(<= ~SIZE~0 5)} assume true; {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,170 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {7088#(<= ~SIZE~0 5)} {7183#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} #67#return; {7183#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:24:00,171 INFO L273 TraceCheckUtils]: 35: Hoare triple {7183#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} havoc #t~mem4; {7183#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:24:00,171 INFO L273 TraceCheckUtils]: 36: Hoare triple {7183#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7208#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:24:00,172 INFO L273 TraceCheckUtils]: 37: Hoare triple {7208#(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); {7208#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:24:00,173 INFO L256 TraceCheckUtils]: 38: Hoare triple {7208#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,174 INFO L273 TraceCheckUtils]: 39: Hoare triple {7088#(<= ~SIZE~0 5)} ~cond := #in~cond; {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,174 INFO L273 TraceCheckUtils]: 40: Hoare triple {7088#(<= ~SIZE~0 5)} assume !(0 == ~cond); {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,175 INFO L273 TraceCheckUtils]: 41: Hoare triple {7088#(<= ~SIZE~0 5)} assume true; {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,175 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {7088#(<= ~SIZE~0 5)} {7208#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} #67#return; {7208#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:24:00,176 INFO L273 TraceCheckUtils]: 43: Hoare triple {7208#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} havoc #t~mem4; {7208#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:24:00,177 INFO L273 TraceCheckUtils]: 44: Hoare triple {7208#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7233#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:24:00,178 INFO L273 TraceCheckUtils]: 45: Hoare triple {7233#(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); {7233#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:24:00,179 INFO L256 TraceCheckUtils]: 46: Hoare triple {7233#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,179 INFO L273 TraceCheckUtils]: 47: Hoare triple {7088#(<= ~SIZE~0 5)} ~cond := #in~cond; {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,180 INFO L273 TraceCheckUtils]: 48: Hoare triple {7088#(<= ~SIZE~0 5)} assume !(0 == ~cond); {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,180 INFO L273 TraceCheckUtils]: 49: Hoare triple {7088#(<= ~SIZE~0 5)} assume true; {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,181 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {7088#(<= ~SIZE~0 5)} {7233#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} #67#return; {7233#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:24:00,182 INFO L273 TraceCheckUtils]: 51: Hoare triple {7233#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} havoc #t~mem4; {7233#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:24:00,182 INFO L273 TraceCheckUtils]: 52: Hoare triple {7233#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7258#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} is VALID [2018-11-23 12:24:00,183 INFO L273 TraceCheckUtils]: 53: Hoare triple {7258#(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); {7258#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} is VALID [2018-11-23 12:24:00,184 INFO L256 TraceCheckUtils]: 54: Hoare triple {7258#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,185 INFO L273 TraceCheckUtils]: 55: Hoare triple {7088#(<= ~SIZE~0 5)} ~cond := #in~cond; {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,185 INFO L273 TraceCheckUtils]: 56: Hoare triple {7088#(<= ~SIZE~0 5)} assume !(0 == ~cond); {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,186 INFO L273 TraceCheckUtils]: 57: Hoare triple {7088#(<= ~SIZE~0 5)} assume true; {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,186 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {7088#(<= ~SIZE~0 5)} {7258#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} #67#return; {7258#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} is VALID [2018-11-23 12:24:00,187 INFO L273 TraceCheckUtils]: 59: Hoare triple {7258#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} havoc #t~mem4; {7258#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} is VALID [2018-11-23 12:24:00,188 INFO L273 TraceCheckUtils]: 60: Hoare triple {7258#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7283#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:24:00,189 INFO L273 TraceCheckUtils]: 61: Hoare triple {7283#(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); {7283#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:24:00,189 INFO L256 TraceCheckUtils]: 62: Hoare triple {7283#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,190 INFO L273 TraceCheckUtils]: 63: Hoare triple {7088#(<= ~SIZE~0 5)} ~cond := #in~cond; {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,190 INFO L273 TraceCheckUtils]: 64: Hoare triple {7088#(<= ~SIZE~0 5)} assume !(0 == ~cond); {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,191 INFO L273 TraceCheckUtils]: 65: Hoare triple {7088#(<= ~SIZE~0 5)} assume true; {7088#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:24:00,192 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {7088#(<= ~SIZE~0 5)} {7283#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} #67#return; {7283#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:24:00,192 INFO L273 TraceCheckUtils]: 67: Hoare triple {7283#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} havoc #t~mem4; {7283#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:24:00,193 INFO L273 TraceCheckUtils]: 68: Hoare triple {7283#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7308#(and (<= 5 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:24:00,194 INFO L273 TraceCheckUtils]: 69: Hoare triple {7308#(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); {7082#false} is VALID [2018-11-23 12:24:00,194 INFO L256 TraceCheckUtils]: 70: Hoare triple {7082#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7082#false} is VALID [2018-11-23 12:24:00,195 INFO L273 TraceCheckUtils]: 71: Hoare triple {7082#false} ~cond := #in~cond; {7082#false} is VALID [2018-11-23 12:24:00,195 INFO L273 TraceCheckUtils]: 72: Hoare triple {7082#false} assume 0 == ~cond; {7082#false} is VALID [2018-11-23 12:24:00,195 INFO L273 TraceCheckUtils]: 73: Hoare triple {7082#false} assume !false; {7082#false} is VALID [2018-11-23 12:24:00,201 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:24:00,219 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:24:00,219 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 21 [2018-11-23 12:24:00,220 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 74 [2018-11-23 12:24:00,220 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:24:00,220 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-23 12:24:00,311 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:24:00,312 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-23 12:24:00,312 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-23 12:24:00,312 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=108, Invalid=312, Unknown=0, NotChecked=0, Total=420 [2018-11-23 12:24:00,313 INFO L87 Difference]: Start difference. First operand 89 states and 92 transitions. Second operand 21 states. [2018-11-23 12:24:03,462 WARN L180 SmtUtils]: Spent 109.00 ms on a formula simplification that was a NOOP. DAG size: 8 [2018-11-23 12:24:04,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:04,284 INFO L93 Difference]: Finished difference Result 164 states and 172 transitions. [2018-11-23 12:24:04,284 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-23 12:24:04,284 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 74 [2018-11-23 12:24:04,284 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:24:04,285 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:24:04,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 115 transitions. [2018-11-23 12:24:04,288 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:24:04,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 115 transitions. [2018-11-23 12:24:04,290 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 115 transitions. [2018-11-23 12:24:04,933 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:24:04,936 INFO L225 Difference]: With dead ends: 164 [2018-11-23 12:24:04,936 INFO L226 Difference]: Without dead ends: 109 [2018-11-23 12:24:04,937 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 68 SyntacticMatches, 0 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 157 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=172, Invalid=530, Unknown=0, NotChecked=0, Total=702 [2018-11-23 12:24:04,937 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2018-11-23 12:24:05,914 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 89. [2018-11-23 12:24:05,915 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:24:05,915 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand 89 states. [2018-11-23 12:24:05,915 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand 89 states. [2018-11-23 12:24:05,915 INFO L87 Difference]: Start difference. First operand 109 states. Second operand 89 states. [2018-11-23 12:24:05,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:05,921 INFO L93 Difference]: Finished difference Result 109 states and 116 transitions. [2018-11-23 12:24:05,921 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 116 transitions. [2018-11-23 12:24:05,921 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:05,922 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:05,922 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 109 states. [2018-11-23 12:24:05,922 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 109 states. [2018-11-23 12:24:05,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:05,926 INFO L93 Difference]: Finished difference Result 109 states and 116 transitions. [2018-11-23 12:24:05,926 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 116 transitions. [2018-11-23 12:24:05,926 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:05,927 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:05,927 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:24:05,927 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:24:05,927 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 89 states. [2018-11-23 12:24:05,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 91 transitions. [2018-11-23 12:24:05,930 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 91 transitions. Word has length 74 [2018-11-23 12:24:05,931 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:24:05,931 INFO L480 AbstractCegarLoop]: Abstraction has 89 states and 91 transitions. [2018-11-23 12:24:05,931 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-23 12:24:05,931 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 91 transitions. [2018-11-23 12:24:05,932 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2018-11-23 12:24:05,932 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:24:05,932 INFO L402 BasicCegarLoop]: trace histogram [7, 7, 7, 6, 5, 5, 5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:24:05,932 INFO L423 AbstractCegarLoop]: === Iteration 16 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:24:05,932 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:24:05,932 INFO L82 PathProgramCache]: Analyzing trace with hash -1537335442, now seen corresponding path program 12 times [2018-11-23 12:24:05,933 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:24:05,933 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:24:05,933 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:05,933 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:24:05,934 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:05,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:07,030 INFO L256 TraceCheckUtils]: 0: Hoare triple {7898#true} call ULTIMATE.init(); {7898#true} is VALID [2018-11-23 12:24:07,030 INFO L273 TraceCheckUtils]: 1: Hoare triple {7898#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {7898#true} is VALID [2018-11-23 12:24:07,030 INFO L273 TraceCheckUtils]: 2: Hoare triple {7898#true} assume true; {7898#true} is VALID [2018-11-23 12:24:07,030 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7898#true} {7898#true} #63#return; {7898#true} is VALID [2018-11-23 12:24:07,031 INFO L256 TraceCheckUtils]: 4: Hoare triple {7898#true} call #t~ret5 := main(); {7898#true} is VALID [2018-11-23 12:24:07,031 INFO L273 TraceCheckUtils]: 5: Hoare triple {7898#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {7898#true} is VALID [2018-11-23 12:24:07,032 INFO L273 TraceCheckUtils]: 6: Hoare triple {7898#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {7900#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,032 INFO L273 TraceCheckUtils]: 7: Hoare triple {7900#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {7900#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,033 INFO L273 TraceCheckUtils]: 8: Hoare triple {7900#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7900#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,033 INFO L273 TraceCheckUtils]: 9: Hoare triple {7900#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7900#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,034 INFO L273 TraceCheckUtils]: 10: Hoare triple {7900#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7901#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,034 INFO L273 TraceCheckUtils]: 11: Hoare triple {7901#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {7901#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,035 INFO L273 TraceCheckUtils]: 12: Hoare triple {7901#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7901#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,036 INFO L273 TraceCheckUtils]: 13: Hoare triple {7901#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7901#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,037 INFO L273 TraceCheckUtils]: 14: Hoare triple {7901#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7902#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,037 INFO L273 TraceCheckUtils]: 15: Hoare triple {7902#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {7902#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,038 INFO L273 TraceCheckUtils]: 16: Hoare triple {7902#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7902#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,039 INFO L273 TraceCheckUtils]: 17: Hoare triple {7902#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7902#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,040 INFO L273 TraceCheckUtils]: 18: Hoare triple {7902#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7903#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,041 INFO L273 TraceCheckUtils]: 19: Hoare triple {7903#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {7903#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,041 INFO L273 TraceCheckUtils]: 20: Hoare triple {7903#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7903#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,042 INFO L273 TraceCheckUtils]: 21: Hoare triple {7903#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7903#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,043 INFO L273 TraceCheckUtils]: 22: Hoare triple {7903#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7904#(and (<= 4 main_~i~0) (<= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,044 INFO L273 TraceCheckUtils]: 23: Hoare triple {7904#(and (<= 4 main_~i~0) (<= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {7904#(and (<= 4 main_~i~0) (<= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,045 INFO L273 TraceCheckUtils]: 24: Hoare triple {7904#(and (<= 4 main_~i~0) (<= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7904#(and (<= 4 main_~i~0) (<= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,046 INFO L273 TraceCheckUtils]: 25: Hoare triple {7904#(and (<= 4 main_~i~0) (<= main_~i~0 4) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7905#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (<= 4 main_~i~0) (<= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,047 INFO L273 TraceCheckUtils]: 26: Hoare triple {7905#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (<= 4 main_~i~0) (<= main_~i~0 4) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7906#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 3) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,048 INFO L273 TraceCheckUtils]: 27: Hoare triple {7906#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 3) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {7906#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 3) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,049 INFO L273 TraceCheckUtils]: 28: Hoare triple {7906#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 3) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7906#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 3) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,051 INFO L273 TraceCheckUtils]: 29: Hoare triple {7906#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 3) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7906#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 3) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,052 INFO L273 TraceCheckUtils]: 30: Hoare triple {7906#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 3) 4))) 4) 1) 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) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7907#(and (= |main_~#a~0.offset| 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 3) 4)))))} is VALID [2018-11-23 12:24:07,053 INFO L273 TraceCheckUtils]: 31: Hoare triple {7907#(and (= |main_~#a~0.offset| 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 3) 4)))))} assume !!(~i~0 < ~SIZE~0); {7907#(and (= |main_~#a~0.offset| 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 3) 4)))))} is VALID [2018-11-23 12:24:07,054 INFO L273 TraceCheckUtils]: 32: Hoare triple {7907#(and (= |main_~#a~0.offset| 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 3) 4)))))} assume !(1 + ~i~0 < ~SIZE~0); {7907#(and (= |main_~#a~0.offset| 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 3) 4)))))} is VALID [2018-11-23 12:24:07,055 INFO L273 TraceCheckUtils]: 33: Hoare triple {7907#(and (= |main_~#a~0.offset| 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 3) 4)))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7908#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,056 INFO L273 TraceCheckUtils]: 34: Hoare triple {7908#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7908#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,056 INFO L273 TraceCheckUtils]: 35: Hoare triple {7908#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {7908#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,057 INFO L273 TraceCheckUtils]: 36: Hoare triple {7908#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {7909#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,058 INFO L273 TraceCheckUtils]: 37: Hoare triple {7909#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 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); {7909#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,058 INFO L256 TraceCheckUtils]: 38: Hoare triple {7909#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7898#true} is VALID [2018-11-23 12:24:07,059 INFO L273 TraceCheckUtils]: 39: Hoare triple {7898#true} ~cond := #in~cond; {7910#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:24:07,059 INFO L273 TraceCheckUtils]: 40: Hoare triple {7910#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {7911#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:24:07,060 INFO L273 TraceCheckUtils]: 41: Hoare triple {7911#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7911#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:24:07,061 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {7911#(not (= |__VERIFIER_assert_#in~cond| 0))} {7909#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #67#return; {7909#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,062 INFO L273 TraceCheckUtils]: 43: Hoare triple {7909#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7909#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,063 INFO L273 TraceCheckUtils]: 44: Hoare triple {7909#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7912#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,064 INFO L273 TraceCheckUtils]: 45: Hoare triple {7912#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 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); {7912#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,064 INFO L256 TraceCheckUtils]: 46: Hoare triple {7912#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7898#true} is VALID [2018-11-23 12:24:07,064 INFO L273 TraceCheckUtils]: 47: Hoare triple {7898#true} ~cond := #in~cond; {7898#true} is VALID [2018-11-23 12:24:07,064 INFO L273 TraceCheckUtils]: 48: Hoare triple {7898#true} assume !(0 == ~cond); {7898#true} is VALID [2018-11-23 12:24:07,065 INFO L273 TraceCheckUtils]: 49: Hoare triple {7898#true} assume true; {7898#true} is VALID [2018-11-23 12:24:07,066 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {7898#true} {7912#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} #67#return; {7912#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,066 INFO L273 TraceCheckUtils]: 51: Hoare triple {7912#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7912#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,067 INFO L273 TraceCheckUtils]: 52: Hoare triple {7912#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7913#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,068 INFO L273 TraceCheckUtils]: 53: Hoare triple {7913#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 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); {7913#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,069 INFO L256 TraceCheckUtils]: 54: Hoare triple {7913#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7898#true} is VALID [2018-11-23 12:24:07,069 INFO L273 TraceCheckUtils]: 55: Hoare triple {7898#true} ~cond := #in~cond; {7898#true} is VALID [2018-11-23 12:24:07,069 INFO L273 TraceCheckUtils]: 56: Hoare triple {7898#true} assume !(0 == ~cond); {7898#true} is VALID [2018-11-23 12:24:07,069 INFO L273 TraceCheckUtils]: 57: Hoare triple {7898#true} assume true; {7898#true} is VALID [2018-11-23 12:24:07,070 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {7898#true} {7913#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} #67#return; {7913#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,071 INFO L273 TraceCheckUtils]: 59: Hoare triple {7913#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7913#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:07,072 INFO L273 TraceCheckUtils]: 60: Hoare triple {7913#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7914#(and (<= (+ main_~i~0 1) (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:07,073 INFO L273 TraceCheckUtils]: 61: Hoare triple {7914#(and (<= (+ main_~i~0 1) (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); {7914#(and (<= (+ main_~i~0 1) (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:07,073 INFO L256 TraceCheckUtils]: 62: Hoare triple {7914#(and (<= (+ main_~i~0 1) (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)); {7898#true} is VALID [2018-11-23 12:24:07,073 INFO L273 TraceCheckUtils]: 63: Hoare triple {7898#true} ~cond := #in~cond; {7898#true} is VALID [2018-11-23 12:24:07,074 INFO L273 TraceCheckUtils]: 64: Hoare triple {7898#true} assume !(0 == ~cond); {7898#true} is VALID [2018-11-23 12:24:07,074 INFO L273 TraceCheckUtils]: 65: Hoare triple {7898#true} assume true; {7898#true} is VALID [2018-11-23 12:24:07,075 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {7898#true} {7914#(and (<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4)))) (= |main_~#a~0.offset| 0))} #67#return; {7914#(and (<= (+ main_~i~0 1) (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:07,076 INFO L273 TraceCheckUtils]: 67: Hoare triple {7914#(and (<= (+ main_~i~0 1) (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; {7914#(and (<= (+ main_~i~0 1) (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:07,077 INFO L273 TraceCheckUtils]: 68: Hoare triple {7914#(and (<= (+ main_~i~0 1) (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; {7915#(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:07,077 INFO L273 TraceCheckUtils]: 69: Hoare triple {7915#(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); {7916#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:24:07,078 INFO L256 TraceCheckUtils]: 70: Hoare triple {7916#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7911#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:24:07,079 INFO L273 TraceCheckUtils]: 71: Hoare triple {7911#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {7917#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:24:07,080 INFO L273 TraceCheckUtils]: 72: Hoare triple {7917#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {7899#false} is VALID [2018-11-23 12:24:07,080 INFO L273 TraceCheckUtils]: 73: Hoare triple {7899#false} assume !false; {7899#false} is VALID [2018-11-23 12:24:07,094 INFO L134 CoverageAnalysis]: Checked inductivity of 155 backedges. 8 proven. 132 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 12:24:07,094 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:24:07,094 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:24:07,137 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:24:07,217 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2018-11-23 12:24:07,217 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:24:07,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:07,235 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:24:07,306 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:07,310 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:07,312 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:07,315 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,323 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:07,324 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:25, output treesize:21 [2018-11-23 12:24:07,393 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 31 treesize of output 26 [2018-11-23 12:24:07,402 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,403 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,404 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 26 treesize of output 54 [2018-11-23 12:24:07,406 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:07,416 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,427 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:07,427 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:40, output treesize:36 [2018-11-23 12:24:07,483 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 42 treesize of output 35 [2018-11-23 12:24:07,490 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,491 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,492 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,493 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,494 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 100 [2018-11-23 12:24:07,496 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:07,511 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,525 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:07,525 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:51, output treesize:47 [2018-11-23 12:24:07,664 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,665 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:24:07,677 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,678 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,679 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,681 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,682 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,684 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 121 [2018-11-23 12:24:07,686 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:07,704 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,723 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,724 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:66, output treesize:49 [2018-11-23 12:24:07,823 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:24:07,824 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_29|, main_~i~0]. (let ((.cse1 (* 4 main_~i~0))) (let ((.cse0 (select |v_#memory_int_29| |main_~#a~0.base|)) (.cse2 (+ .cse1 |main_~#a~0.offset|))) (and (= main_~i~0 (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 1)) (= |#memory_int| (store |v_#memory_int_29| |main_~#a~0.base| (store .cse0 .cse2 main_~i~0))) (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 8))) 2) main_~i~0) (= main_~i~0 (+ (select .cse0 .cse2) 1)) (<= 6 main_~i~0) (<= main_~i~0 6) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:24:07,824 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [main_~i~0]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 8))) 2) main_~i~0) (<= 6 main_~i~0) (<= main_~i~0 6) (= main_~i~0 (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))) [2018-11-23 12:24:10,098 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:24:10,109 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:10,110 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:10,111 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:10,113 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:10,113 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:24:10,115 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:10,116 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:10,118 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:10,120 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:24:10,128 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:10,141 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:10,152 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:10,153 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:54, output treesize:7 [2018-11-23 12:24:10,155 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:24:10,156 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, v_prenex_24]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 v_prenex_24))) (and (<= 6 v_prenex_24) (= (select .cse0 .cse1) v_prenex_24) (= (+ (select .cse0 (+ .cse1 (- 8))) 2) v_prenex_24) (<= (select .cse0 (* 4 main_~i~0)) |main_#t~mem4|) (= v_prenex_24 (+ (select .cse0 (+ .cse1 (- 4))) 1)) (= main_~i~0 4) (<= v_prenex_24 6))) [2018-11-23 12:24:10,156 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 4 |main_#t~mem4|) (= main_~i~0 4)) [2018-11-23 12:24:10,251 INFO L256 TraceCheckUtils]: 0: Hoare triple {7898#true} call ULTIMATE.init(); {7898#true} is VALID [2018-11-23 12:24:10,251 INFO L273 TraceCheckUtils]: 1: Hoare triple {7898#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {7898#true} is VALID [2018-11-23 12:24:10,251 INFO L273 TraceCheckUtils]: 2: Hoare triple {7898#true} assume true; {7898#true} is VALID [2018-11-23 12:24:10,251 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7898#true} {7898#true} #63#return; {7898#true} is VALID [2018-11-23 12:24:10,252 INFO L256 TraceCheckUtils]: 4: Hoare triple {7898#true} call #t~ret5 := main(); {7898#true} is VALID [2018-11-23 12:24:10,252 INFO L273 TraceCheckUtils]: 5: Hoare triple {7898#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {7898#true} is VALID [2018-11-23 12:24:10,253 INFO L273 TraceCheckUtils]: 6: Hoare triple {7898#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {7900#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,253 INFO L273 TraceCheckUtils]: 7: Hoare triple {7900#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {7900#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,254 INFO L273 TraceCheckUtils]: 8: Hoare triple {7900#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7900#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,255 INFO L273 TraceCheckUtils]: 9: Hoare triple {7900#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7900#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,256 INFO L273 TraceCheckUtils]: 10: Hoare triple {7900#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7901#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,256 INFO L273 TraceCheckUtils]: 11: Hoare triple {7901#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {7901#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,257 INFO L273 TraceCheckUtils]: 12: Hoare triple {7901#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7901#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,258 INFO L273 TraceCheckUtils]: 13: Hoare triple {7901#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7901#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,259 INFO L273 TraceCheckUtils]: 14: Hoare triple {7901#(and (<= 1 main_~i~0) (<= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7902#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,260 INFO L273 TraceCheckUtils]: 15: Hoare triple {7902#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {7902#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,260 INFO L273 TraceCheckUtils]: 16: Hoare triple {7902#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7902#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,261 INFO L273 TraceCheckUtils]: 17: Hoare triple {7902#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7902#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,262 INFO L273 TraceCheckUtils]: 18: Hoare triple {7902#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7903#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,263 INFO L273 TraceCheckUtils]: 19: Hoare triple {7903#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {7903#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,264 INFO L273 TraceCheckUtils]: 20: Hoare triple {7903#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7903#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,264 INFO L273 TraceCheckUtils]: 21: Hoare triple {7903#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7903#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,265 INFO L273 TraceCheckUtils]: 22: Hoare triple {7903#(and (<= main_~i~0 3) (<= 3 main_~i~0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7904#(and (<= 4 main_~i~0) (<= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,266 INFO L273 TraceCheckUtils]: 23: Hoare triple {7904#(and (<= 4 main_~i~0) (<= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {7904#(and (<= 4 main_~i~0) (<= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,267 INFO L273 TraceCheckUtils]: 24: Hoare triple {7904#(and (<= 4 main_~i~0) (<= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7904#(and (<= 4 main_~i~0) (<= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,268 INFO L273 TraceCheckUtils]: 25: Hoare triple {7904#(and (<= 4 main_~i~0) (<= main_~i~0 4) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7905#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (<= 4 main_~i~0) (<= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,269 INFO L273 TraceCheckUtils]: 26: Hoare triple {7905#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (<= 4 main_~i~0) (<= main_~i~0 4) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7999#(and (<= 5 main_~i~0) (<= main_~i~0 5) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,270 INFO L273 TraceCheckUtils]: 27: Hoare triple {7999#(and (<= 5 main_~i~0) (<= main_~i~0 5) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {7999#(and (<= 5 main_~i~0) (<= main_~i~0 5) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,271 INFO L273 TraceCheckUtils]: 28: Hoare triple {7999#(and (<= 5 main_~i~0) (<= main_~i~0 5) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {8006#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= 5 main_~i~0) (<= main_~i~0 5) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,273 INFO L273 TraceCheckUtils]: 29: Hoare triple {8006#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= 5 main_~i~0) (<= main_~i~0 5) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8010#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= 5 main_~i~0) (<= main_~i~0 5) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= 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:10,275 INFO L273 TraceCheckUtils]: 30: Hoare triple {8010#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= 5 main_~i~0) (<= main_~i~0 5) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= 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 := 1 + #t~post2;havoc #t~post2; {8014#(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| (- 8))) 2)) (<= 6 main_~i~0) (<= main_~i~0 6) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,276 INFO L273 TraceCheckUtils]: 31: Hoare triple {8014#(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| (- 8))) 2)) (<= 6 main_~i~0) (<= main_~i~0 6) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {8014#(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| (- 8))) 2)) (<= 6 main_~i~0) (<= main_~i~0 6) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,277 INFO L273 TraceCheckUtils]: 32: Hoare triple {8014#(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| (- 8))) 2)) (<= 6 main_~i~0) (<= main_~i~0 6) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} assume !(1 + ~i~0 < ~SIZE~0); {8014#(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| (- 8))) 2)) (<= 6 main_~i~0) (<= main_~i~0 6) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,279 INFO L273 TraceCheckUtils]: 33: Hoare triple {8014#(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| (- 8))) 2)) (<= 6 main_~i~0) (<= main_~i~0 6) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8024#(and (exists ((main_~i~0 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2) main_~i~0) (<= 6 main_~i~0) (<= main_~i~0 6) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= 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:10,280 INFO L273 TraceCheckUtils]: 34: Hoare triple {8024#(and (exists ((main_~i~0 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2) main_~i~0) (<= 6 main_~i~0) (<= main_~i~0 6) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= 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 := 1 + #t~post2;havoc #t~post2; {8024#(and (exists ((main_~i~0 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2) main_~i~0) (<= 6 main_~i~0) (<= main_~i~0 6) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= 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:10,281 INFO L273 TraceCheckUtils]: 35: Hoare triple {8024#(and (exists ((main_~i~0 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2) main_~i~0) (<= 6 main_~i~0) (<= main_~i~0 6) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= 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 < ~SIZE~0); {8024#(and (exists ((main_~i~0 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2) main_~i~0) (<= 6 main_~i~0) (<= main_~i~0 6) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= 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:10,283 INFO L273 TraceCheckUtils]: 36: Hoare triple {8024#(and (exists ((main_~i~0 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2) main_~i~0) (<= 6 main_~i~0) (<= main_~i~0 6) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= 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; {8034#(and (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,284 INFO L273 TraceCheckUtils]: 37: Hoare triple {8034#(and (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 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); {8034#(and (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,287 INFO L256 TraceCheckUtils]: 38: Hoare triple {8034#(and (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} is VALID [2018-11-23 12:24:10,287 INFO L273 TraceCheckUtils]: 39: Hoare triple {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} ~cond := #in~cond; {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} is VALID [2018-11-23 12:24:10,288 INFO L273 TraceCheckUtils]: 40: Hoare triple {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} assume !(0 == ~cond); {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} is VALID [2018-11-23 12:24:10,288 INFO L273 TraceCheckUtils]: 41: Hoare triple {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} assume true; {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} is VALID [2018-11-23 12:24:10,289 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} {8034#(and (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #67#return; {8034#(and (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,290 INFO L273 TraceCheckUtils]: 43: Hoare triple {8034#(and (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {8034#(and (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,292 INFO L273 TraceCheckUtils]: 44: Hoare triple {8034#(and (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8060#(and (= main_~i~0 1) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,293 INFO L273 TraceCheckUtils]: 45: Hoare triple {8060#(and (= main_~i~0 1) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 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); {8060#(and (= main_~i~0 1) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,311 INFO L256 TraceCheckUtils]: 46: Hoare triple {8060#(and (= main_~i~0 1) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} is VALID [2018-11-23 12:24:10,315 INFO L273 TraceCheckUtils]: 47: Hoare triple {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} ~cond := #in~cond; {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} is VALID [2018-11-23 12:24:10,315 INFO L273 TraceCheckUtils]: 48: Hoare triple {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} assume !(0 == ~cond); {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} is VALID [2018-11-23 12:24:10,315 INFO L273 TraceCheckUtils]: 49: Hoare triple {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} assume true; {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} is VALID [2018-11-23 12:24:10,316 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} {8060#(and (= main_~i~0 1) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} #67#return; {8060#(and (= main_~i~0 1) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,317 INFO L273 TraceCheckUtils]: 51: Hoare triple {8060#(and (= main_~i~0 1) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {8060#(and (= main_~i~0 1) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,317 INFO L273 TraceCheckUtils]: 52: Hoare triple {8060#(and (= main_~i~0 1) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8085#(and (= main_~i~0 2) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,321 INFO L273 TraceCheckUtils]: 53: Hoare triple {8085#(and (= main_~i~0 2) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 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); {8085#(and (= main_~i~0 2) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,322 INFO L256 TraceCheckUtils]: 54: Hoare triple {8085#(and (= main_~i~0 2) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} is VALID [2018-11-23 12:24:10,323 INFO L273 TraceCheckUtils]: 55: Hoare triple {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} ~cond := #in~cond; {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} is VALID [2018-11-23 12:24:10,323 INFO L273 TraceCheckUtils]: 56: Hoare triple {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} assume !(0 == ~cond); {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} is VALID [2018-11-23 12:24:10,323 INFO L273 TraceCheckUtils]: 57: Hoare triple {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} assume true; {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} is VALID [2018-11-23 12:24:10,324 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} {8085#(and (= main_~i~0 2) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} #67#return; {8085#(and (= main_~i~0 2) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,326 INFO L273 TraceCheckUtils]: 59: Hoare triple {8085#(and (= main_~i~0 2) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {8085#(and (= main_~i~0 2) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,328 INFO L273 TraceCheckUtils]: 60: Hoare triple {8085#(and (= main_~i~0 2) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8110#(and (= main_~i~0 3) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,329 INFO L273 TraceCheckUtils]: 61: Hoare triple {8110#(and (= main_~i~0 3) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 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); {8110#(and (= main_~i~0 3) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,331 INFO L256 TraceCheckUtils]: 62: Hoare triple {8110#(and (= main_~i~0 3) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} is VALID [2018-11-23 12:24:10,332 INFO L273 TraceCheckUtils]: 63: Hoare triple {8041#(exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6)))} ~cond := #in~cond; {8120#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:24:10,333 INFO L273 TraceCheckUtils]: 64: Hoare triple {8120#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {8124#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6))) (not (= |__VERIFIER_assert_#in~cond| 0)))} is VALID [2018-11-23 12:24:10,334 INFO L273 TraceCheckUtils]: 65: Hoare triple {8124#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6))) (not (= |__VERIFIER_assert_#in~cond| 0)))} assume true; {8124#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6))) (not (= |__VERIFIER_assert_#in~cond| 0)))} is VALID [2018-11-23 12:24:10,335 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {8124#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_17| Int) (v_prenex_24 Int)) (and (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 8))) 2)) (= v_prenex_24 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (+ (* 4 v_prenex_24) (- 4))) 1)) (<= 6 v_prenex_24) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_17|) (* 4 v_prenex_24)) v_prenex_24) (<= v_prenex_24 6))) (not (= |__VERIFIER_assert_#in~cond| 0)))} {8110#(and (= main_~i~0 3) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} #67#return; {8110#(and (= main_~i~0 3) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,336 INFO L273 TraceCheckUtils]: 67: Hoare triple {8110#(and (= main_~i~0 3) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {8110#(and (= main_~i~0 3) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,337 INFO L273 TraceCheckUtils]: 68: Hoare triple {8110#(and (= main_~i~0 3) (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8137#(and (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:10,339 INFO L273 TraceCheckUtils]: 69: Hoare triple {8137#(and (exists ((v_prenex_24 Int)) (and (<= 6 v_prenex_24) (= v_prenex_24 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset|))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 8))) 2) v_prenex_24) (= v_prenex_24 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_24) |main_~#a~0.offset| (- 4))) 1)) (<= v_prenex_24 6))) (= 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); {8141#(and (<= 4 |main_#t~mem4|) (= main_~i~0 4))} is VALID [2018-11-23 12:24:10,340 INFO L256 TraceCheckUtils]: 70: Hoare triple {8141#(and (<= 4 |main_#t~mem4|) (= main_~i~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8145#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:24:10,341 INFO L273 TraceCheckUtils]: 71: Hoare triple {8145#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {8149#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:24:10,341 INFO L273 TraceCheckUtils]: 72: Hoare triple {8149#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7899#false} is VALID [2018-11-23 12:24:10,341 INFO L273 TraceCheckUtils]: 73: Hoare triple {7899#false} assume !false; {7899#false} is VALID [2018-11-23 12:24:10,371 INFO L134 CoverageAnalysis]: Checked inductivity of 155 backedges. 9 proven. 131 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 12:24:10,390 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:24:10,390 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 24] total 36 [2018-11-23 12:24:10,390 INFO L78 Accepts]: Start accepts. Automaton has 36 states. Word has length 74 [2018-11-23 12:24:10,391 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:24:10,391 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 36 states. [2018-11-23 12:24:10,560 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:24:10,560 INFO L459 AbstractCegarLoop]: Interpolant automaton has 36 states [2018-11-23 12:24:10,560 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2018-11-23 12:24:10,561 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=142, Invalid=1118, Unknown=0, NotChecked=0, Total=1260 [2018-11-23 12:24:10,561 INFO L87 Difference]: Start difference. First operand 89 states and 91 transitions. Second operand 36 states. [2018-11-23 12:24:16,450 WARN L180 SmtUtils]: Spent 241.00 ms on a formula simplification. DAG size of input: 26 DAG size of output: 20 [2018-11-23 12:24:22,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:22,786 INFO L93 Difference]: Finished difference Result 190 states and 200 transitions. [2018-11-23 12:24:22,786 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 55 states. [2018-11-23 12:24:22,786 INFO L78 Accepts]: Start accepts. Automaton has 36 states. Word has length 74 [2018-11-23 12:24:22,787 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:24:22,787 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-23 12:24:22,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 141 transitions. [2018-11-23 12:24:22,790 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-23 12:24:22,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 141 transitions. [2018-11-23 12:24:22,794 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 55 states and 141 transitions. [2018-11-23 12:24:23,415 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:24:23,419 INFO L225 Difference]: With dead ends: 190 [2018-11-23 12:24:23,419 INFO L226 Difference]: Without dead ends: 188 [2018-11-23 12:24:23,421 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 130 GetRequests, 52 SyntacticMatches, 12 SemanticMatches, 66 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1314 ImplicationChecksByTransitivity, 3.5s TimeCoverageRelationStatistics Valid=431, Invalid=4125, Unknown=0, NotChecked=0, Total=4556 [2018-11-23 12:24:23,421 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states. [2018-11-23 12:24:25,312 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 165. [2018-11-23 12:24:25,313 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:24:25,313 INFO L82 GeneralOperation]: Start isEquivalent. First operand 188 states. Second operand 165 states. [2018-11-23 12:24:25,313 INFO L74 IsIncluded]: Start isIncluded. First operand 188 states. Second operand 165 states. [2018-11-23 12:24:25,313 INFO L87 Difference]: Start difference. First operand 188 states. Second operand 165 states. [2018-11-23 12:24:25,319 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:25,319 INFO L93 Difference]: Finished difference Result 188 states and 197 transitions. [2018-11-23 12:24:25,320 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 197 transitions. [2018-11-23 12:24:25,320 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:25,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:25,320 INFO L74 IsIncluded]: Start isIncluded. First operand 165 states. Second operand 188 states. [2018-11-23 12:24:25,320 INFO L87 Difference]: Start difference. First operand 165 states. Second operand 188 states. [2018-11-23 12:24:25,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:25,325 INFO L93 Difference]: Finished difference Result 188 states and 197 transitions. [2018-11-23 12:24:25,325 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 197 transitions. [2018-11-23 12:24:25,325 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:25,326 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:25,326 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:24:25,326 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:24:25,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 165 states. [2018-11-23 12:24:25,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 165 states to 165 states and 174 transitions. [2018-11-23 12:24:25,330 INFO L78 Accepts]: Start accepts. Automaton has 165 states and 174 transitions. Word has length 74 [2018-11-23 12:24:25,330 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:24:25,330 INFO L480 AbstractCegarLoop]: Abstraction has 165 states and 174 transitions. [2018-11-23 12:24:25,330 INFO L481 AbstractCegarLoop]: Interpolant automaton has 36 states. [2018-11-23 12:24:25,330 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 174 transitions. [2018-11-23 12:24:25,331 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2018-11-23 12:24:25,331 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:24:25,331 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:25,332 INFO L423 AbstractCegarLoop]: === Iteration 17 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:24:25,332 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:24:25,332 INFO L82 PathProgramCache]: Analyzing trace with hash 2133532646, now seen corresponding path program 13 times [2018-11-23 12:24:25,332 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:24:25,332 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:24:25,333 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:25,333 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:24:25,333 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:25,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:25,934 INFO L256 TraceCheckUtils]: 0: Hoare triple {9081#true} call ULTIMATE.init(); {9081#true} is VALID [2018-11-23 12:24:25,934 INFO L273 TraceCheckUtils]: 1: Hoare triple {9081#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {9081#true} is VALID [2018-11-23 12:24:25,935 INFO L273 TraceCheckUtils]: 2: Hoare triple {9081#true} assume true; {9081#true} is VALID [2018-11-23 12:24:25,935 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9081#true} {9081#true} #63#return; {9081#true} is VALID [2018-11-23 12:24:25,935 INFO L256 TraceCheckUtils]: 4: Hoare triple {9081#true} call #t~ret5 := main(); {9081#true} is VALID [2018-11-23 12:24:25,935 INFO L273 TraceCheckUtils]: 5: Hoare triple {9081#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {9081#true} is VALID [2018-11-23 12:24:25,936 INFO L273 TraceCheckUtils]: 6: Hoare triple {9081#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {9083#(= main_~i~0 0)} is VALID [2018-11-23 12:24:25,936 INFO L273 TraceCheckUtils]: 7: Hoare triple {9083#(= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {9083#(= main_~i~0 0)} is VALID [2018-11-23 12:24:25,937 INFO L273 TraceCheckUtils]: 8: Hoare triple {9083#(= main_~i~0 0)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {9083#(= main_~i~0 0)} is VALID [2018-11-23 12:24:25,937 INFO L273 TraceCheckUtils]: 9: Hoare triple {9083#(= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9083#(= main_~i~0 0)} is VALID [2018-11-23 12:24:25,938 INFO L273 TraceCheckUtils]: 10: Hoare triple {9083#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9084#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 12:24:25,939 INFO L273 TraceCheckUtils]: 11: Hoare triple {9084#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume !!(~i~0 < ~SIZE~0); {9084#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 12:24:25,940 INFO L273 TraceCheckUtils]: 12: Hoare triple {9084#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {9084#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 12:24:25,941 INFO L273 TraceCheckUtils]: 13: Hoare triple {9084#(and (<= 1 main_~i~0) (<= main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9084#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 12:24:25,942 INFO L273 TraceCheckUtils]: 14: Hoare triple {9084#(and (<= 1 main_~i~0) (<= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9085#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:24:25,942 INFO L273 TraceCheckUtils]: 15: Hoare triple {9085#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !!(~i~0 < ~SIZE~0); {9085#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:24:25,943 INFO L273 TraceCheckUtils]: 16: Hoare triple {9085#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {9085#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:24:25,944 INFO L273 TraceCheckUtils]: 17: Hoare triple {9085#(and (<= 2 main_~i~0) (<= main_~i~0 2))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9085#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:24:25,945 INFO L273 TraceCheckUtils]: 18: Hoare triple {9085#(and (<= 2 main_~i~0) (<= main_~i~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9086#(and (<= main_~i~0 3) (<= 3 main_~i~0))} is VALID [2018-11-23 12:24:25,946 INFO L273 TraceCheckUtils]: 19: Hoare triple {9086#(and (<= main_~i~0 3) (<= 3 main_~i~0))} assume !!(~i~0 < ~SIZE~0); {9086#(and (<= main_~i~0 3) (<= 3 main_~i~0))} is VALID [2018-11-23 12:24:25,946 INFO L273 TraceCheckUtils]: 20: Hoare triple {9086#(and (<= main_~i~0 3) (<= 3 main_~i~0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {9086#(and (<= main_~i~0 3) (<= 3 main_~i~0))} is VALID [2018-11-23 12:24:25,947 INFO L273 TraceCheckUtils]: 21: Hoare triple {9086#(and (<= main_~i~0 3) (<= 3 main_~i~0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9086#(and (<= main_~i~0 3) (<= 3 main_~i~0))} is VALID [2018-11-23 12:24:25,948 INFO L273 TraceCheckUtils]: 22: Hoare triple {9086#(and (<= main_~i~0 3) (<= 3 main_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9087#(and (<= 4 main_~i~0) (<= main_~i~0 4))} is VALID [2018-11-23 12:24:25,949 INFO L273 TraceCheckUtils]: 23: Hoare triple {9087#(and (<= 4 main_~i~0) (<= main_~i~0 4))} assume !!(~i~0 < ~SIZE~0); {9087#(and (<= 4 main_~i~0) (<= main_~i~0 4))} is VALID [2018-11-23 12:24:25,949 INFO L273 TraceCheckUtils]: 24: Hoare triple {9087#(and (<= 4 main_~i~0) (<= main_~i~0 4))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {9087#(and (<= 4 main_~i~0) (<= main_~i~0 4))} is VALID [2018-11-23 12:24:25,950 INFO L273 TraceCheckUtils]: 25: Hoare triple {9087#(and (<= 4 main_~i~0) (<= main_~i~0 4))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9087#(and (<= 4 main_~i~0) (<= main_~i~0 4))} is VALID [2018-11-23 12:24:25,951 INFO L273 TraceCheckUtils]: 26: Hoare triple {9087#(and (<= 4 main_~i~0) (<= main_~i~0 4))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9088#(= (* 4 main_~i~0) 20)} is VALID [2018-11-23 12:24:25,952 INFO L273 TraceCheckUtils]: 27: Hoare triple {9088#(= (* 4 main_~i~0) 20)} assume !!(~i~0 < ~SIZE~0); {9088#(= (* 4 main_~i~0) 20)} is VALID [2018-11-23 12:24:25,952 INFO L273 TraceCheckUtils]: 28: Hoare triple {9088#(= (* 4 main_~i~0) 20)} assume !(1 + ~i~0 < ~SIZE~0); {9088#(= (* 4 main_~i~0) 20)} is VALID [2018-11-23 12:24:25,953 INFO L273 TraceCheckUtils]: 29: Hoare triple {9088#(= (* 4 main_~i~0) 20)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9089#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= (* 4 main_~i~0) 20))} is VALID [2018-11-23 12:24:25,954 INFO L273 TraceCheckUtils]: 30: Hoare triple {9089#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= (* 4 main_~i~0) 20))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9090#(<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4))))} is VALID [2018-11-23 12:24:25,955 INFO L273 TraceCheckUtils]: 31: Hoare triple {9090#(<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4))))} assume !(~i~0 < ~SIZE~0); {9090#(<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4))))} is VALID [2018-11-23 12:24:25,955 INFO L273 TraceCheckUtils]: 32: Hoare triple {9090#(<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4))))} ~i~0 := 0; {9091#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0))} is VALID [2018-11-23 12:24:25,956 INFO L273 TraceCheckUtils]: 33: Hoare triple {9091#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 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); {9091#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0))} is VALID [2018-11-23 12:24:25,956 INFO L256 TraceCheckUtils]: 34: Hoare triple {9091#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9081#true} is VALID [2018-11-23 12:24:25,957 INFO L273 TraceCheckUtils]: 35: Hoare triple {9081#true} ~cond := #in~cond; {9092#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:24:25,958 INFO L273 TraceCheckUtils]: 36: Hoare triple {9092#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {9093#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:24:25,958 INFO L273 TraceCheckUtils]: 37: Hoare triple {9093#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9093#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:24:25,959 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {9093#(not (= |__VERIFIER_assert_#in~cond| 0))} {9091#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0))} #67#return; {9091#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0))} is VALID [2018-11-23 12:24:25,960 INFO L273 TraceCheckUtils]: 39: Hoare triple {9091#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0))} havoc #t~mem4; {9091#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0))} is VALID [2018-11-23 12:24:25,961 INFO L273 TraceCheckUtils]: 40: Hoare triple {9091#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9094#(<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4))))} is VALID [2018-11-23 12:24:25,962 INFO L273 TraceCheckUtils]: 41: Hoare triple {9094#(<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9094#(<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4))))} is VALID [2018-11-23 12:24:25,962 INFO L256 TraceCheckUtils]: 42: Hoare triple {9094#(<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9081#true} is VALID [2018-11-23 12:24:25,962 INFO L273 TraceCheckUtils]: 43: Hoare triple {9081#true} ~cond := #in~cond; {9081#true} is VALID [2018-11-23 12:24:25,962 INFO L273 TraceCheckUtils]: 44: Hoare triple {9081#true} assume !(0 == ~cond); {9081#true} is VALID [2018-11-23 12:24:25,962 INFO L273 TraceCheckUtils]: 45: Hoare triple {9081#true} assume true; {9081#true} is VALID [2018-11-23 12:24:25,963 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {9081#true} {9094#(<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4))))} #67#return; {9094#(<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4))))} is VALID [2018-11-23 12:24:25,964 INFO L273 TraceCheckUtils]: 47: Hoare triple {9094#(<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4))))} havoc #t~mem4; {9094#(<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4))))} is VALID [2018-11-23 12:24:25,965 INFO L273 TraceCheckUtils]: 48: Hoare triple {9094#(<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9095#(<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4))))} is VALID [2018-11-23 12:24:25,966 INFO L273 TraceCheckUtils]: 49: Hoare triple {9095#(<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9095#(<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4))))} is VALID [2018-11-23 12:24:25,966 INFO L256 TraceCheckUtils]: 50: Hoare triple {9095#(<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9081#true} is VALID [2018-11-23 12:24:25,966 INFO L273 TraceCheckUtils]: 51: Hoare triple {9081#true} ~cond := #in~cond; {9081#true} is VALID [2018-11-23 12:24:25,966 INFO L273 TraceCheckUtils]: 52: Hoare triple {9081#true} assume !(0 == ~cond); {9081#true} is VALID [2018-11-23 12:24:25,967 INFO L273 TraceCheckUtils]: 53: Hoare triple {9081#true} assume true; {9081#true} is VALID [2018-11-23 12:24:25,967 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {9081#true} {9095#(<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4))))} #67#return; {9095#(<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4))))} is VALID [2018-11-23 12:24:25,968 INFO L273 TraceCheckUtils]: 55: Hoare triple {9095#(<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4))))} havoc #t~mem4; {9095#(<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4))))} is VALID [2018-11-23 12:24:25,969 INFO L273 TraceCheckUtils]: 56: Hoare triple {9095#(<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9096#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} is VALID [2018-11-23 12:24:25,970 INFO L273 TraceCheckUtils]: 57: Hoare triple {9096#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9096#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} is VALID [2018-11-23 12:24:25,970 INFO L256 TraceCheckUtils]: 58: Hoare triple {9096#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9081#true} is VALID [2018-11-23 12:24:25,970 INFO L273 TraceCheckUtils]: 59: Hoare triple {9081#true} ~cond := #in~cond; {9081#true} is VALID [2018-11-23 12:24:25,971 INFO L273 TraceCheckUtils]: 60: Hoare triple {9081#true} assume !(0 == ~cond); {9081#true} is VALID [2018-11-23 12:24:25,971 INFO L273 TraceCheckUtils]: 61: Hoare triple {9081#true} assume true; {9081#true} is VALID [2018-11-23 12:24:25,972 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {9081#true} {9096#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} #67#return; {9096#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} is VALID [2018-11-23 12:24:25,972 INFO L273 TraceCheckUtils]: 63: Hoare triple {9096#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} havoc #t~mem4; {9096#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} is VALID [2018-11-23 12:24:25,973 INFO L273 TraceCheckUtils]: 64: Hoare triple {9096#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9097#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-23 12:24:25,974 INFO L273 TraceCheckUtils]: 65: Hoare triple {9097#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |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); {9097#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-23 12:24:25,974 INFO L256 TraceCheckUtils]: 66: Hoare triple {9097#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9081#true} is VALID [2018-11-23 12:24:25,974 INFO L273 TraceCheckUtils]: 67: Hoare triple {9081#true} ~cond := #in~cond; {9081#true} is VALID [2018-11-23 12:24:25,975 INFO L273 TraceCheckUtils]: 68: Hoare triple {9081#true} assume !(0 == ~cond); {9081#true} is VALID [2018-11-23 12:24:25,975 INFO L273 TraceCheckUtils]: 69: Hoare triple {9081#true} assume true; {9081#true} is VALID [2018-11-23 12:24:25,976 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {9081#true} {9097#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} #67#return; {9097#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-23 12:24:25,976 INFO L273 TraceCheckUtils]: 71: Hoare triple {9097#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} havoc #t~mem4; {9097#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-23 12:24:25,977 INFO L273 TraceCheckUtils]: 72: Hoare triple {9097#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9098#(<= 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:24:25,978 INFO L273 TraceCheckUtils]: 73: Hoare triple {9098#(<= 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); {9099#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:24:25,979 INFO L256 TraceCheckUtils]: 74: Hoare triple {9099#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9093#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:24:25,980 INFO L273 TraceCheckUtils]: 75: Hoare triple {9093#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {9100#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:24:25,980 INFO L273 TraceCheckUtils]: 76: Hoare triple {9100#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {9082#false} is VALID [2018-11-23 12:24:25,981 INFO L273 TraceCheckUtils]: 77: Hoare triple {9082#false} assume !false; {9082#false} is VALID [2018-11-23 12:24:25,992 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 9 proven. 129 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2018-11-23 12:24:25,992 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:24:25,993 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:24:26,001 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:24:26,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:26,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:26,050 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:24:26,364 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 13 treesize of output 10 [2018-11-23 12:24:26,370 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 10 treesize of output 9 [2018-11-23 12:24:26,372 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:26,375 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:26,382 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:26,382 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 12:24:27,294 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 17 treesize of output 13 [2018-11-23 12:24:27,299 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:24:27,301 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-23 12:24:27,303 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:27,305 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:27,310 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:27,310 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-23 12:24:27,313 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:24:27,313 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= 5 (select .cse0 20)) (<= (select .cse0 (* 4 main_~i~0)) |main_#t~mem4|) (= main_~i~0 5))) [2018-11-23 12:24:27,313 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 5 |main_#t~mem4|) (= main_~i~0 5)) [2018-11-23 12:24:27,404 INFO L256 TraceCheckUtils]: 0: Hoare triple {9081#true} call ULTIMATE.init(); {9081#true} is VALID [2018-11-23 12:24:27,405 INFO L273 TraceCheckUtils]: 1: Hoare triple {9081#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {9081#true} is VALID [2018-11-23 12:24:27,405 INFO L273 TraceCheckUtils]: 2: Hoare triple {9081#true} assume true; {9081#true} is VALID [2018-11-23 12:24:27,405 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9081#true} {9081#true} #63#return; {9081#true} is VALID [2018-11-23 12:24:27,405 INFO L256 TraceCheckUtils]: 4: Hoare triple {9081#true} call #t~ret5 := main(); {9081#true} is VALID [2018-11-23 12:24:27,405 INFO L273 TraceCheckUtils]: 5: Hoare triple {9081#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {9081#true} is VALID [2018-11-23 12:24:27,406 INFO L273 TraceCheckUtils]: 6: Hoare triple {9081#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {9122#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,407 INFO L273 TraceCheckUtils]: 7: Hoare triple {9122#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {9122#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,407 INFO L273 TraceCheckUtils]: 8: Hoare triple {9122#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {9122#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,408 INFO L273 TraceCheckUtils]: 9: Hoare triple {9122#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9122#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,408 INFO L273 TraceCheckUtils]: 10: Hoare triple {9122#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9135#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,409 INFO L273 TraceCheckUtils]: 11: Hoare triple {9135#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {9135#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,409 INFO L273 TraceCheckUtils]: 12: Hoare triple {9135#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {9135#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,409 INFO L273 TraceCheckUtils]: 13: Hoare triple {9135#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9135#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,410 INFO L273 TraceCheckUtils]: 14: Hoare triple {9135#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9148#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,411 INFO L273 TraceCheckUtils]: 15: Hoare triple {9148#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {9148#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,412 INFO L273 TraceCheckUtils]: 16: Hoare triple {9148#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {9148#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,412 INFO L273 TraceCheckUtils]: 17: Hoare triple {9148#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9148#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,413 INFO L273 TraceCheckUtils]: 18: Hoare triple {9148#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9161#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,414 INFO L273 TraceCheckUtils]: 19: Hoare triple {9161#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {9161#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,415 INFO L273 TraceCheckUtils]: 20: Hoare triple {9161#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {9161#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,415 INFO L273 TraceCheckUtils]: 21: Hoare triple {9161#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9161#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,416 INFO L273 TraceCheckUtils]: 22: Hoare triple {9161#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9174#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,417 INFO L273 TraceCheckUtils]: 23: Hoare triple {9174#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {9174#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,418 INFO L273 TraceCheckUtils]: 24: Hoare triple {9174#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {9174#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,418 INFO L273 TraceCheckUtils]: 25: Hoare triple {9174#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9174#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,419 INFO L273 TraceCheckUtils]: 26: Hoare triple {9174#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9187#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,420 INFO L273 TraceCheckUtils]: 27: Hoare triple {9187#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {9187#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,421 INFO L273 TraceCheckUtils]: 28: Hoare triple {9187#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0))} assume !(1 + ~i~0 < ~SIZE~0); {9187#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,422 INFO L273 TraceCheckUtils]: 29: Hoare triple {9187#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9197#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,422 INFO L273 TraceCheckUtils]: 30: Hoare triple {9197#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9197#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,423 INFO L273 TraceCheckUtils]: 31: Hoare triple {9197#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {9197#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,424 INFO L273 TraceCheckUtils]: 32: Hoare triple {9197#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {9207#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,425 INFO L273 TraceCheckUtils]: 33: Hoare triple {9207#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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); {9207#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,437 INFO L256 TraceCheckUtils]: 34: Hoare triple {9207#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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)); {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:24:27,438 INFO L273 TraceCheckUtils]: 35: Hoare triple {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} ~cond := #in~cond; {9218#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:24:27,439 INFO L273 TraceCheckUtils]: 36: Hoare triple {9218#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {9222#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20))))} is VALID [2018-11-23 12:24:27,439 INFO L273 TraceCheckUtils]: 37: Hoare triple {9222#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20))))} assume true; {9222#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20))))} is VALID [2018-11-23 12:24:27,440 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {9222#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20))))} {9207#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #67#return; {9207#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,440 INFO L273 TraceCheckUtils]: 39: Hoare triple {9207#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {9207#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,441 INFO L273 TraceCheckUtils]: 40: Hoare triple {9207#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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; {9235#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,441 INFO L273 TraceCheckUtils]: 41: Hoare triple {9235#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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); {9235#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,442 INFO L256 TraceCheckUtils]: 42: Hoare triple {9235#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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)); {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:24:27,443 INFO L273 TraceCheckUtils]: 43: Hoare triple {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} ~cond := #in~cond; {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:24:27,443 INFO L273 TraceCheckUtils]: 44: Hoare triple {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} assume !(0 == ~cond); {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:24:27,444 INFO L273 TraceCheckUtils]: 45: Hoare triple {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} assume true; {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:24:27,445 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} {9235#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #67#return; {9235#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,446 INFO L273 TraceCheckUtils]: 47: Hoare triple {9235#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {9235#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,447 INFO L273 TraceCheckUtils]: 48: Hoare triple {9235#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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; {9260#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,448 INFO L273 TraceCheckUtils]: 49: Hoare triple {9260#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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); {9260#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,449 INFO L256 TraceCheckUtils]: 50: Hoare triple {9260#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:24:27,450 INFO L273 TraceCheckUtils]: 51: Hoare triple {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} ~cond := #in~cond; {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:24:27,450 INFO L273 TraceCheckUtils]: 52: Hoare triple {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} assume !(0 == ~cond); {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:24:27,451 INFO L273 TraceCheckUtils]: 53: Hoare triple {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} assume true; {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:24:27,451 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} {9260#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} #67#return; {9260#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,452 INFO L273 TraceCheckUtils]: 55: Hoare triple {9260#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {9260#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,453 INFO L273 TraceCheckUtils]: 56: Hoare triple {9260#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9285#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,454 INFO L273 TraceCheckUtils]: 57: Hoare triple {9285#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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); {9285#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,455 INFO L256 TraceCheckUtils]: 58: Hoare triple {9285#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:24:27,456 INFO L273 TraceCheckUtils]: 59: Hoare triple {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} ~cond := #in~cond; {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:24:27,457 INFO L273 TraceCheckUtils]: 60: Hoare triple {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} assume !(0 == ~cond); {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:24:27,457 INFO L273 TraceCheckUtils]: 61: Hoare triple {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} assume true; {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:24:27,458 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} {9285#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} #67#return; {9285#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,459 INFO L273 TraceCheckUtils]: 63: Hoare triple {9285#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {9285#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,460 INFO L273 TraceCheckUtils]: 64: Hoare triple {9285#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9310#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,461 INFO L273 TraceCheckUtils]: 65: Hoare triple {9310#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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); {9310#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,462 INFO L256 TraceCheckUtils]: 66: Hoare triple {9310#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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)); {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:24:27,463 INFO L273 TraceCheckUtils]: 67: Hoare triple {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} ~cond := #in~cond; {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:24:27,463 INFO L273 TraceCheckUtils]: 68: Hoare triple {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} assume !(0 == ~cond); {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:24:27,463 INFO L273 TraceCheckUtils]: 69: Hoare triple {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} assume true; {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:24:27,464 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {9214#(exists ((|v_main_~#a~0.base_BEFORE_CALL_21| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_21|) 20)))} {9310#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} #67#return; {9310#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,464 INFO L273 TraceCheckUtils]: 71: Hoare triple {9310#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {9310#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,465 INFO L273 TraceCheckUtils]: 72: Hoare triple {9310#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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; {9335#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:27,465 INFO L273 TraceCheckUtils]: 73: Hoare triple {9335#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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); {9339#(and (<= 5 |main_#t~mem4|) (= main_~i~0 5))} is VALID [2018-11-23 12:24:27,466 INFO L256 TraceCheckUtils]: 74: Hoare triple {9339#(and (<= 5 |main_#t~mem4|) (= main_~i~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9343#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:24:27,466 INFO L273 TraceCheckUtils]: 75: Hoare triple {9343#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {9347#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:24:27,467 INFO L273 TraceCheckUtils]: 76: Hoare triple {9347#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9082#false} is VALID [2018-11-23 12:24:27,467 INFO L273 TraceCheckUtils]: 77: Hoare triple {9082#false} assume !false; {9082#false} is VALID [2018-11-23 12:24:27,480 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 0 proven. 138 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2018-11-23 12:24:27,500 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:24:27,500 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 21] total 39 [2018-11-23 12:24:27,500 INFO L78 Accepts]: Start accepts. Automaton has 39 states. Word has length 78 [2018-11-23 12:24:27,501 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:24:27,501 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 39 states. [2018-11-23 12:24:27,652 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:24:27,652 INFO L459 AbstractCegarLoop]: Interpolant automaton has 39 states [2018-11-23 12:24:27,652 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2018-11-23 12:24:27,653 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=133, Invalid=1349, Unknown=0, NotChecked=0, Total=1482 [2018-11-23 12:24:27,653 INFO L87 Difference]: Start difference. First operand 165 states and 174 transitions. Second operand 39 states. [2018-11-23 12:24:36,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:36,492 INFO L93 Difference]: Finished difference Result 267 states and 275 transitions. [2018-11-23 12:24:36,492 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 49 states. [2018-11-23 12:24:36,492 INFO L78 Accepts]: Start accepts. Automaton has 39 states. Word has length 78 [2018-11-23 12:24:36,492 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:24:36,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-23 12:24:36,494 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 131 transitions. [2018-11-23 12:24:36,494 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-23 12:24:36,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 131 transitions. [2018-11-23 12:24:36,496 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 49 states and 131 transitions. [2018-11-23 12:24:36,679 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:24:36,686 INFO L225 Difference]: With dead ends: 267 [2018-11-23 12:24:36,687 INFO L226 Difference]: Without dead ends: 265 [2018-11-23 12:24:36,688 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 52 SyntacticMatches, 10 SemanticMatches, 59 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1056 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=298, Invalid=3362, Unknown=0, NotChecked=0, Total=3660 [2018-11-23 12:24:36,689 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 265 states. [2018-11-23 12:24:39,352 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 265 to 209. [2018-11-23 12:24:39,353 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:24:39,353 INFO L82 GeneralOperation]: Start isEquivalent. First operand 265 states. Second operand 209 states. [2018-11-23 12:24:39,353 INFO L74 IsIncluded]: Start isIncluded. First operand 265 states. Second operand 209 states. [2018-11-23 12:24:39,353 INFO L87 Difference]: Start difference. First operand 265 states. Second operand 209 states. [2018-11-23 12:24:39,360 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:39,360 INFO L93 Difference]: Finished difference Result 265 states and 273 transitions. [2018-11-23 12:24:39,360 INFO L276 IsEmpty]: Start isEmpty. Operand 265 states and 273 transitions. [2018-11-23 12:24:39,360 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:39,360 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:39,361 INFO L74 IsIncluded]: Start isIncluded. First operand 209 states. Second operand 265 states. [2018-11-23 12:24:39,361 INFO L87 Difference]: Start difference. First operand 209 states. Second operand 265 states. [2018-11-23 12:24:39,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:39,367 INFO L93 Difference]: Finished difference Result 265 states and 273 transitions. [2018-11-23 12:24:39,367 INFO L276 IsEmpty]: Start isEmpty. Operand 265 states and 273 transitions. [2018-11-23 12:24:39,368 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:39,368 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:39,369 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:24:39,369 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:24:39,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 209 states. [2018-11-23 12:24:39,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 209 states to 209 states and 216 transitions. [2018-11-23 12:24:39,374 INFO L78 Accepts]: Start accepts. Automaton has 209 states and 216 transitions. Word has length 78 [2018-11-23 12:24:39,374 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:24:39,374 INFO L480 AbstractCegarLoop]: Abstraction has 209 states and 216 transitions. [2018-11-23 12:24:39,374 INFO L481 AbstractCegarLoop]: Interpolant automaton has 39 states. [2018-11-23 12:24:39,374 INFO L276 IsEmpty]: Start isEmpty. Operand 209 states and 216 transitions. [2018-11-23 12:24:39,375 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2018-11-23 12:24:39,375 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:24:39,376 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:39,376 INFO L423 AbstractCegarLoop]: === Iteration 18 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:24:39,376 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:24:39,376 INFO L82 PathProgramCache]: Analyzing trace with hash -721560167, now seen corresponding path program 14 times [2018-11-23 12:24:39,376 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:24:39,376 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:24:39,377 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:39,377 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:24:39,377 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:39,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:39,890 INFO L256 TraceCheckUtils]: 0: Hoare triple {10577#true} call ULTIMATE.init(); {10577#true} is VALID [2018-11-23 12:24:39,891 INFO L273 TraceCheckUtils]: 1: Hoare triple {10577#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {10577#true} is VALID [2018-11-23 12:24:39,891 INFO L273 TraceCheckUtils]: 2: Hoare triple {10577#true} assume true; {10577#true} is VALID [2018-11-23 12:24:39,891 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10577#true} {10577#true} #63#return; {10577#true} is VALID [2018-11-23 12:24:39,891 INFO L256 TraceCheckUtils]: 4: Hoare triple {10577#true} call #t~ret5 := main(); {10577#true} is VALID [2018-11-23 12:24:39,892 INFO L273 TraceCheckUtils]: 5: Hoare triple {10577#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {10577#true} is VALID [2018-11-23 12:24:39,892 INFO L273 TraceCheckUtils]: 6: Hoare triple {10577#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {10579#(= main_~i~0 0)} is VALID [2018-11-23 12:24:39,892 INFO L273 TraceCheckUtils]: 7: Hoare triple {10579#(= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {10579#(= main_~i~0 0)} is VALID [2018-11-23 12:24:39,893 INFO L273 TraceCheckUtils]: 8: Hoare triple {10579#(= main_~i~0 0)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {10579#(= main_~i~0 0)} is VALID [2018-11-23 12:24:39,893 INFO L273 TraceCheckUtils]: 9: Hoare triple {10579#(= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10579#(= main_~i~0 0)} is VALID [2018-11-23 12:24:39,894 INFO L273 TraceCheckUtils]: 10: Hoare triple {10579#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10580#(<= main_~i~0 1)} is VALID [2018-11-23 12:24:39,894 INFO L273 TraceCheckUtils]: 11: Hoare triple {10580#(<= main_~i~0 1)} assume !!(~i~0 < ~SIZE~0); {10580#(<= main_~i~0 1)} is VALID [2018-11-23 12:24:39,894 INFO L273 TraceCheckUtils]: 12: Hoare triple {10580#(<= main_~i~0 1)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {10580#(<= main_~i~0 1)} is VALID [2018-11-23 12:24:39,894 INFO L273 TraceCheckUtils]: 13: Hoare triple {10580#(<= main_~i~0 1)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10580#(<= main_~i~0 1)} is VALID [2018-11-23 12:24:39,895 INFO L273 TraceCheckUtils]: 14: Hoare triple {10580#(<= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10581#(<= main_~i~0 2)} is VALID [2018-11-23 12:24:39,895 INFO L273 TraceCheckUtils]: 15: Hoare triple {10581#(<= main_~i~0 2)} assume !!(~i~0 < ~SIZE~0); {10581#(<= main_~i~0 2)} is VALID [2018-11-23 12:24:39,896 INFO L273 TraceCheckUtils]: 16: Hoare triple {10581#(<= main_~i~0 2)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {10581#(<= main_~i~0 2)} is VALID [2018-11-23 12:24:39,896 INFO L273 TraceCheckUtils]: 17: Hoare triple {10581#(<= main_~i~0 2)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10581#(<= main_~i~0 2)} is VALID [2018-11-23 12:24:39,897 INFO L273 TraceCheckUtils]: 18: Hoare triple {10581#(<= main_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10582#(<= main_~i~0 3)} is VALID [2018-11-23 12:24:39,897 INFO L273 TraceCheckUtils]: 19: Hoare triple {10582#(<= main_~i~0 3)} assume !!(~i~0 < ~SIZE~0); {10582#(<= main_~i~0 3)} is VALID [2018-11-23 12:24:39,898 INFO L273 TraceCheckUtils]: 20: Hoare triple {10582#(<= main_~i~0 3)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {10582#(<= main_~i~0 3)} is VALID [2018-11-23 12:24:39,898 INFO L273 TraceCheckUtils]: 21: Hoare triple {10582#(<= main_~i~0 3)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10582#(<= main_~i~0 3)} is VALID [2018-11-23 12:24:39,899 INFO L273 TraceCheckUtils]: 22: Hoare triple {10582#(<= main_~i~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10583#(<= main_~i~0 4)} is VALID [2018-11-23 12:24:39,900 INFO L273 TraceCheckUtils]: 23: Hoare triple {10583#(<= main_~i~0 4)} assume !!(~i~0 < ~SIZE~0); {10583#(<= main_~i~0 4)} is VALID [2018-11-23 12:24:39,900 INFO L273 TraceCheckUtils]: 24: Hoare triple {10583#(<= main_~i~0 4)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {10583#(<= main_~i~0 4)} is VALID [2018-11-23 12:24:39,901 INFO L273 TraceCheckUtils]: 25: Hoare triple {10583#(<= main_~i~0 4)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10583#(<= main_~i~0 4)} is VALID [2018-11-23 12:24:39,902 INFO L273 TraceCheckUtils]: 26: Hoare triple {10583#(<= main_~i~0 4)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10584#(<= main_~i~0 5)} is VALID [2018-11-23 12:24:39,902 INFO L273 TraceCheckUtils]: 27: Hoare triple {10584#(<= main_~i~0 5)} assume !!(~i~0 < ~SIZE~0); {10584#(<= main_~i~0 5)} is VALID [2018-11-23 12:24:39,903 INFO L273 TraceCheckUtils]: 28: Hoare triple {10584#(<= main_~i~0 5)} assume !(1 + ~i~0 < ~SIZE~0); {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:39,903 INFO L273 TraceCheckUtils]: 29: Hoare triple {10585#(<= ~SIZE~0 6)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:39,904 INFO L273 TraceCheckUtils]: 30: Hoare triple {10585#(<= ~SIZE~0 6)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:39,904 INFO L273 TraceCheckUtils]: 31: Hoare triple {10585#(<= ~SIZE~0 6)} assume !(~i~0 < ~SIZE~0); {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:39,905 INFO L273 TraceCheckUtils]: 32: Hoare triple {10585#(<= ~SIZE~0 6)} ~i~0 := 0; {10586#(and (<= ~SIZE~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:24:39,906 INFO L273 TraceCheckUtils]: 33: Hoare triple {10586#(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); {10586#(and (<= ~SIZE~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:24:39,906 INFO L256 TraceCheckUtils]: 34: Hoare triple {10586#(and (<= ~SIZE~0 6) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10577#true} is VALID [2018-11-23 12:24:39,906 INFO L273 TraceCheckUtils]: 35: Hoare triple {10577#true} ~cond := #in~cond; {10577#true} is VALID [2018-11-23 12:24:39,906 INFO L273 TraceCheckUtils]: 36: Hoare triple {10577#true} assume !(0 == ~cond); {10577#true} is VALID [2018-11-23 12:24:39,906 INFO L273 TraceCheckUtils]: 37: Hoare triple {10577#true} assume true; {10577#true} is VALID [2018-11-23 12:24:39,907 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {10577#true} {10586#(and (<= ~SIZE~0 6) (= main_~i~0 0))} #67#return; {10586#(and (<= ~SIZE~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:24:39,908 INFO L273 TraceCheckUtils]: 39: Hoare triple {10586#(and (<= ~SIZE~0 6) (= main_~i~0 0))} havoc #t~mem4; {10586#(and (<= ~SIZE~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:24:39,908 INFO L273 TraceCheckUtils]: 40: Hoare triple {10586#(and (<= ~SIZE~0 6) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10587#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:39,909 INFO L273 TraceCheckUtils]: 41: Hoare triple {10587#(<= ~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); {10587#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:39,909 INFO L256 TraceCheckUtils]: 42: Hoare triple {10587#(<= ~SIZE~0 (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10577#true} is VALID [2018-11-23 12:24:39,909 INFO L273 TraceCheckUtils]: 43: Hoare triple {10577#true} ~cond := #in~cond; {10577#true} is VALID [2018-11-23 12:24:39,909 INFO L273 TraceCheckUtils]: 44: Hoare triple {10577#true} assume !(0 == ~cond); {10577#true} is VALID [2018-11-23 12:24:39,910 INFO L273 TraceCheckUtils]: 45: Hoare triple {10577#true} assume true; {10577#true} is VALID [2018-11-23 12:24:39,910 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {10577#true} {10587#(<= ~SIZE~0 (+ main_~i~0 5))} #67#return; {10587#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:39,910 INFO L273 TraceCheckUtils]: 47: Hoare triple {10587#(<= ~SIZE~0 (+ main_~i~0 5))} havoc #t~mem4; {10587#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:39,911 INFO L273 TraceCheckUtils]: 48: Hoare triple {10587#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10588#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:39,911 INFO L273 TraceCheckUtils]: 49: Hoare triple {10588#(<= ~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); {10588#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:39,911 INFO L256 TraceCheckUtils]: 50: Hoare triple {10588#(<= ~SIZE~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10577#true} is VALID [2018-11-23 12:24:39,911 INFO L273 TraceCheckUtils]: 51: Hoare triple {10577#true} ~cond := #in~cond; {10577#true} is VALID [2018-11-23 12:24:39,912 INFO L273 TraceCheckUtils]: 52: Hoare triple {10577#true} assume !(0 == ~cond); {10577#true} is VALID [2018-11-23 12:24:39,912 INFO L273 TraceCheckUtils]: 53: Hoare triple {10577#true} assume true; {10577#true} is VALID [2018-11-23 12:24:39,912 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {10577#true} {10588#(<= ~SIZE~0 (+ main_~i~0 4))} #67#return; {10588#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:39,913 INFO L273 TraceCheckUtils]: 55: Hoare triple {10588#(<= ~SIZE~0 (+ main_~i~0 4))} havoc #t~mem4; {10588#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:39,914 INFO L273 TraceCheckUtils]: 56: Hoare triple {10588#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10589#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:39,914 INFO L273 TraceCheckUtils]: 57: Hoare triple {10589#(<= ~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); {10589#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:39,914 INFO L256 TraceCheckUtils]: 58: Hoare triple {10589#(<= ~SIZE~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10577#true} is VALID [2018-11-23 12:24:39,915 INFO L273 TraceCheckUtils]: 59: Hoare triple {10577#true} ~cond := #in~cond; {10577#true} is VALID [2018-11-23 12:24:39,915 INFO L273 TraceCheckUtils]: 60: Hoare triple {10577#true} assume !(0 == ~cond); {10577#true} is VALID [2018-11-23 12:24:39,915 INFO L273 TraceCheckUtils]: 61: Hoare triple {10577#true} assume true; {10577#true} is VALID [2018-11-23 12:24:39,916 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {10577#true} {10589#(<= ~SIZE~0 (+ main_~i~0 3))} #67#return; {10589#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:39,916 INFO L273 TraceCheckUtils]: 63: Hoare triple {10589#(<= ~SIZE~0 (+ main_~i~0 3))} havoc #t~mem4; {10589#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:39,917 INFO L273 TraceCheckUtils]: 64: Hoare triple {10589#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10590#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:39,917 INFO L273 TraceCheckUtils]: 65: Hoare triple {10590#(<= ~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); {10590#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:39,918 INFO L256 TraceCheckUtils]: 66: Hoare triple {10590#(<= ~SIZE~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10577#true} is VALID [2018-11-23 12:24:39,918 INFO L273 TraceCheckUtils]: 67: Hoare triple {10577#true} ~cond := #in~cond; {10577#true} is VALID [2018-11-23 12:24:39,918 INFO L273 TraceCheckUtils]: 68: Hoare triple {10577#true} assume !(0 == ~cond); {10577#true} is VALID [2018-11-23 12:24:39,918 INFO L273 TraceCheckUtils]: 69: Hoare triple {10577#true} assume true; {10577#true} is VALID [2018-11-23 12:24:39,919 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {10577#true} {10590#(<= ~SIZE~0 (+ main_~i~0 2))} #67#return; {10590#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:39,919 INFO L273 TraceCheckUtils]: 71: Hoare triple {10590#(<= ~SIZE~0 (+ main_~i~0 2))} havoc #t~mem4; {10590#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:39,920 INFO L273 TraceCheckUtils]: 72: Hoare triple {10590#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10591#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:24:39,921 INFO L273 TraceCheckUtils]: 73: Hoare triple {10591#(<= ~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); {10591#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:24:39,921 INFO L256 TraceCheckUtils]: 74: Hoare triple {10591#(<= ~SIZE~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10577#true} is VALID [2018-11-23 12:24:39,921 INFO L273 TraceCheckUtils]: 75: Hoare triple {10577#true} ~cond := #in~cond; {10577#true} is VALID [2018-11-23 12:24:39,921 INFO L273 TraceCheckUtils]: 76: Hoare triple {10577#true} assume !(0 == ~cond); {10577#true} is VALID [2018-11-23 12:24:39,921 INFO L273 TraceCheckUtils]: 77: Hoare triple {10577#true} assume true; {10577#true} is VALID [2018-11-23 12:24:39,922 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {10577#true} {10591#(<= ~SIZE~0 (+ main_~i~0 1))} #67#return; {10591#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:24:39,923 INFO L273 TraceCheckUtils]: 79: Hoare triple {10591#(<= ~SIZE~0 (+ main_~i~0 1))} havoc #t~mem4; {10591#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:24:39,923 INFO L273 TraceCheckUtils]: 80: Hoare triple {10591#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10592#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-23 12:24:39,924 INFO L273 TraceCheckUtils]: 81: Hoare triple {10592#(<= ~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); {10578#false} is VALID [2018-11-23 12:24:39,924 INFO L256 TraceCheckUtils]: 82: Hoare triple {10578#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10578#false} is VALID [2018-11-23 12:24:39,924 INFO L273 TraceCheckUtils]: 83: Hoare triple {10578#false} ~cond := #in~cond; {10578#false} is VALID [2018-11-23 12:24:39,924 INFO L273 TraceCheckUtils]: 84: Hoare triple {10578#false} assume 0 == ~cond; {10578#false} is VALID [2018-11-23 12:24:39,925 INFO L273 TraceCheckUtils]: 85: Hoare triple {10578#false} assume !false; {10578#false} is VALID [2018-11-23 12:24:39,932 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:39,932 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:24:39,932 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:24:39,941 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:24:39,973 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:24:39,973 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:24:39,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:39,989 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:24:40,284 INFO L256 TraceCheckUtils]: 0: Hoare triple {10577#true} call ULTIMATE.init(); {10577#true} is VALID [2018-11-23 12:24:40,284 INFO L273 TraceCheckUtils]: 1: Hoare triple {10577#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {10577#true} is VALID [2018-11-23 12:24:40,284 INFO L273 TraceCheckUtils]: 2: Hoare triple {10577#true} assume true; {10577#true} is VALID [2018-11-23 12:24:40,284 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10577#true} {10577#true} #63#return; {10577#true} is VALID [2018-11-23 12:24:40,285 INFO L256 TraceCheckUtils]: 4: Hoare triple {10577#true} call #t~ret5 := main(); {10577#true} is VALID [2018-11-23 12:24:40,285 INFO L273 TraceCheckUtils]: 5: Hoare triple {10577#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {10577#true} is VALID [2018-11-23 12:24:40,286 INFO L273 TraceCheckUtils]: 6: Hoare triple {10577#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {10614#(<= main_~i~0 0)} is VALID [2018-11-23 12:24:40,286 INFO L273 TraceCheckUtils]: 7: Hoare triple {10614#(<= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {10614#(<= main_~i~0 0)} is VALID [2018-11-23 12:24:40,286 INFO L273 TraceCheckUtils]: 8: Hoare triple {10614#(<= main_~i~0 0)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {10614#(<= main_~i~0 0)} is VALID [2018-11-23 12:24:40,287 INFO L273 TraceCheckUtils]: 9: Hoare triple {10614#(<= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10614#(<= main_~i~0 0)} is VALID [2018-11-23 12:24:40,287 INFO L273 TraceCheckUtils]: 10: Hoare triple {10614#(<= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10580#(<= main_~i~0 1)} is VALID [2018-11-23 12:24:40,287 INFO L273 TraceCheckUtils]: 11: Hoare triple {10580#(<= main_~i~0 1)} assume !!(~i~0 < ~SIZE~0); {10580#(<= main_~i~0 1)} is VALID [2018-11-23 12:24:40,288 INFO L273 TraceCheckUtils]: 12: Hoare triple {10580#(<= main_~i~0 1)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {10580#(<= main_~i~0 1)} is VALID [2018-11-23 12:24:40,288 INFO L273 TraceCheckUtils]: 13: Hoare triple {10580#(<= main_~i~0 1)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10580#(<= main_~i~0 1)} is VALID [2018-11-23 12:24:40,289 INFO L273 TraceCheckUtils]: 14: Hoare triple {10580#(<= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10581#(<= main_~i~0 2)} is VALID [2018-11-23 12:24:40,289 INFO L273 TraceCheckUtils]: 15: Hoare triple {10581#(<= main_~i~0 2)} assume !!(~i~0 < ~SIZE~0); {10581#(<= main_~i~0 2)} is VALID [2018-11-23 12:24:40,290 INFO L273 TraceCheckUtils]: 16: Hoare triple {10581#(<= main_~i~0 2)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {10581#(<= main_~i~0 2)} is VALID [2018-11-23 12:24:40,290 INFO L273 TraceCheckUtils]: 17: Hoare triple {10581#(<= main_~i~0 2)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10581#(<= main_~i~0 2)} is VALID [2018-11-23 12:24:40,291 INFO L273 TraceCheckUtils]: 18: Hoare triple {10581#(<= main_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10582#(<= main_~i~0 3)} is VALID [2018-11-23 12:24:40,292 INFO L273 TraceCheckUtils]: 19: Hoare triple {10582#(<= main_~i~0 3)} assume !!(~i~0 < ~SIZE~0); {10582#(<= main_~i~0 3)} is VALID [2018-11-23 12:24:40,292 INFO L273 TraceCheckUtils]: 20: Hoare triple {10582#(<= main_~i~0 3)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {10582#(<= main_~i~0 3)} is VALID [2018-11-23 12:24:40,292 INFO L273 TraceCheckUtils]: 21: Hoare triple {10582#(<= main_~i~0 3)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10582#(<= main_~i~0 3)} is VALID [2018-11-23 12:24:40,293 INFO L273 TraceCheckUtils]: 22: Hoare triple {10582#(<= main_~i~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10583#(<= main_~i~0 4)} is VALID [2018-11-23 12:24:40,294 INFO L273 TraceCheckUtils]: 23: Hoare triple {10583#(<= main_~i~0 4)} assume !!(~i~0 < ~SIZE~0); {10583#(<= main_~i~0 4)} is VALID [2018-11-23 12:24:40,294 INFO L273 TraceCheckUtils]: 24: Hoare triple {10583#(<= main_~i~0 4)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {10583#(<= main_~i~0 4)} is VALID [2018-11-23 12:24:40,295 INFO L273 TraceCheckUtils]: 25: Hoare triple {10583#(<= main_~i~0 4)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10583#(<= main_~i~0 4)} is VALID [2018-11-23 12:24:40,295 INFO L273 TraceCheckUtils]: 26: Hoare triple {10583#(<= main_~i~0 4)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10584#(<= main_~i~0 5)} is VALID [2018-11-23 12:24:40,296 INFO L273 TraceCheckUtils]: 27: Hoare triple {10584#(<= main_~i~0 5)} assume !!(~i~0 < ~SIZE~0); {10584#(<= main_~i~0 5)} is VALID [2018-11-23 12:24:40,297 INFO L273 TraceCheckUtils]: 28: Hoare triple {10584#(<= main_~i~0 5)} assume !(1 + ~i~0 < ~SIZE~0); {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,297 INFO L273 TraceCheckUtils]: 29: Hoare triple {10585#(<= ~SIZE~0 6)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,297 INFO L273 TraceCheckUtils]: 30: Hoare triple {10585#(<= ~SIZE~0 6)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,298 INFO L273 TraceCheckUtils]: 31: Hoare triple {10585#(<= ~SIZE~0 6)} assume !(~i~0 < ~SIZE~0); {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,299 INFO L273 TraceCheckUtils]: 32: Hoare triple {10585#(<= ~SIZE~0 6)} ~i~0 := 0; {10693#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:40,299 INFO L273 TraceCheckUtils]: 33: Hoare triple {10693#(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); {10693#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:40,300 INFO L256 TraceCheckUtils]: 34: Hoare triple {10693#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,301 INFO L273 TraceCheckUtils]: 35: Hoare triple {10585#(<= ~SIZE~0 6)} ~cond := #in~cond; {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,301 INFO L273 TraceCheckUtils]: 36: Hoare triple {10585#(<= ~SIZE~0 6)} assume !(0 == ~cond); {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,302 INFO L273 TraceCheckUtils]: 37: Hoare triple {10585#(<= ~SIZE~0 6)} assume true; {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,302 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {10585#(<= ~SIZE~0 6)} {10693#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} #67#return; {10693#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:40,303 INFO L273 TraceCheckUtils]: 39: Hoare triple {10693#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} havoc #t~mem4; {10693#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:40,304 INFO L273 TraceCheckUtils]: 40: Hoare triple {10693#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10718#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:40,305 INFO L273 TraceCheckUtils]: 41: Hoare triple {10718#(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); {10718#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:40,305 INFO L256 TraceCheckUtils]: 42: Hoare triple {10718#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,306 INFO L273 TraceCheckUtils]: 43: Hoare triple {10585#(<= ~SIZE~0 6)} ~cond := #in~cond; {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,306 INFO L273 TraceCheckUtils]: 44: Hoare triple {10585#(<= ~SIZE~0 6)} assume !(0 == ~cond); {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,307 INFO L273 TraceCheckUtils]: 45: Hoare triple {10585#(<= ~SIZE~0 6)} assume true; {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,308 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {10585#(<= ~SIZE~0 6)} {10718#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} #67#return; {10718#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:40,308 INFO L273 TraceCheckUtils]: 47: Hoare triple {10718#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} havoc #t~mem4; {10718#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:40,309 INFO L273 TraceCheckUtils]: 48: Hoare triple {10718#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10743#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:40,310 INFO L273 TraceCheckUtils]: 49: Hoare triple {10743#(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); {10743#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:40,310 INFO L256 TraceCheckUtils]: 50: Hoare triple {10743#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,311 INFO L273 TraceCheckUtils]: 51: Hoare triple {10585#(<= ~SIZE~0 6)} ~cond := #in~cond; {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,311 INFO L273 TraceCheckUtils]: 52: Hoare triple {10585#(<= ~SIZE~0 6)} assume !(0 == ~cond); {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,312 INFO L273 TraceCheckUtils]: 53: Hoare triple {10585#(<= ~SIZE~0 6)} assume true; {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,313 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {10585#(<= ~SIZE~0 6)} {10743#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} #67#return; {10743#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:40,313 INFO L273 TraceCheckUtils]: 55: Hoare triple {10743#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} havoc #t~mem4; {10743#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:40,314 INFO L273 TraceCheckUtils]: 56: Hoare triple {10743#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10768#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} is VALID [2018-11-23 12:24:40,315 INFO L273 TraceCheckUtils]: 57: Hoare triple {10768#(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); {10768#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} is VALID [2018-11-23 12:24:40,316 INFO L256 TraceCheckUtils]: 58: Hoare triple {10768#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,316 INFO L273 TraceCheckUtils]: 59: Hoare triple {10585#(<= ~SIZE~0 6)} ~cond := #in~cond; {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,316 INFO L273 TraceCheckUtils]: 60: Hoare triple {10585#(<= ~SIZE~0 6)} assume !(0 == ~cond); {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,317 INFO L273 TraceCheckUtils]: 61: Hoare triple {10585#(<= ~SIZE~0 6)} assume true; {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,318 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {10585#(<= ~SIZE~0 6)} {10768#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} #67#return; {10768#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} is VALID [2018-11-23 12:24:40,318 INFO L273 TraceCheckUtils]: 63: Hoare triple {10768#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} havoc #t~mem4; {10768#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} is VALID [2018-11-23 12:24:40,319 INFO L273 TraceCheckUtils]: 64: Hoare triple {10768#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10793#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:40,320 INFO L273 TraceCheckUtils]: 65: Hoare triple {10793#(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); {10793#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:40,321 INFO L256 TraceCheckUtils]: 66: Hoare triple {10793#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,321 INFO L273 TraceCheckUtils]: 67: Hoare triple {10585#(<= ~SIZE~0 6)} ~cond := #in~cond; {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,322 INFO L273 TraceCheckUtils]: 68: Hoare triple {10585#(<= ~SIZE~0 6)} assume !(0 == ~cond); {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,322 INFO L273 TraceCheckUtils]: 69: Hoare triple {10585#(<= ~SIZE~0 6)} assume true; {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,323 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {10585#(<= ~SIZE~0 6)} {10793#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} #67#return; {10793#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:40,323 INFO L273 TraceCheckUtils]: 71: Hoare triple {10793#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} havoc #t~mem4; {10793#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:40,324 INFO L273 TraceCheckUtils]: 72: Hoare triple {10793#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10818#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:40,325 INFO L273 TraceCheckUtils]: 73: Hoare triple {10818#(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); {10818#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:40,326 INFO L256 TraceCheckUtils]: 74: Hoare triple {10818#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,326 INFO L273 TraceCheckUtils]: 75: Hoare triple {10585#(<= ~SIZE~0 6)} ~cond := #in~cond; {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,327 INFO L273 TraceCheckUtils]: 76: Hoare triple {10585#(<= ~SIZE~0 6)} assume !(0 == ~cond); {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,327 INFO L273 TraceCheckUtils]: 77: Hoare triple {10585#(<= ~SIZE~0 6)} assume true; {10585#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:40,328 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {10585#(<= ~SIZE~0 6)} {10818#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} #67#return; {10818#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:40,328 INFO L273 TraceCheckUtils]: 79: Hoare triple {10818#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} havoc #t~mem4; {10818#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:40,329 INFO L273 TraceCheckUtils]: 80: Hoare triple {10818#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10843#(and (<= ~SIZE~0 6) (<= 6 main_~i~0))} is VALID [2018-11-23 12:24:40,330 INFO L273 TraceCheckUtils]: 81: Hoare triple {10843#(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); {10578#false} is VALID [2018-11-23 12:24:40,330 INFO L256 TraceCheckUtils]: 82: Hoare triple {10578#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10578#false} is VALID [2018-11-23 12:24:40,330 INFO L273 TraceCheckUtils]: 83: Hoare triple {10578#false} ~cond := #in~cond; {10578#false} is VALID [2018-11-23 12:24:40,331 INFO L273 TraceCheckUtils]: 84: Hoare triple {10578#false} assume 0 == ~cond; {10578#false} is VALID [2018-11-23 12:24:40,331 INFO L273 TraceCheckUtils]: 85: Hoare triple {10578#false} assume !false; {10578#false} is VALID [2018-11-23 12:24:40,339 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:40,357 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:24:40,357 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16] total 24 [2018-11-23 12:24:40,358 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 86 [2018-11-23 12:24:40,358 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:24:40,359 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-23 12:24:40,466 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:24:40,466 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-23 12:24:40,466 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-23 12:24:40,467 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=139, Invalid=413, Unknown=0, NotChecked=0, Total=552 [2018-11-23 12:24:40,467 INFO L87 Difference]: Start difference. First operand 209 states and 216 transitions. Second operand 24 states. [2018-11-23 12:24:45,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:45,330 INFO L93 Difference]: Finished difference Result 266 states and 274 transitions. [2018-11-23 12:24:45,330 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2018-11-23 12:24:45,330 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 86 [2018-11-23 12:24:45,331 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:24:45,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:24:45,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 129 transitions. [2018-11-23 12:24:45,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:24:45,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 129 transitions. [2018-11-23 12:24:45,335 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 129 transitions. [2018-11-23 12:24:45,472 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:24:45,476 INFO L225 Difference]: With dead ends: 266 [2018-11-23 12:24:45,476 INFO L226 Difference]: Without dead ends: 203 [2018-11-23 12:24:45,477 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 108 GetRequests, 79 SyntacticMatches, 0 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 213 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=224, Invalid=706, Unknown=0, NotChecked=0, Total=930 [2018-11-23 12:24:45,477 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 203 states. [2018-11-23 12:24:47,855 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 203 to 197. [2018-11-23 12:24:47,855 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:24:47,856 INFO L82 GeneralOperation]: Start isEquivalent. First operand 203 states. Second operand 197 states. [2018-11-23 12:24:47,856 INFO L74 IsIncluded]: Start isIncluded. First operand 203 states. Second operand 197 states. [2018-11-23 12:24:47,856 INFO L87 Difference]: Start difference. First operand 203 states. Second operand 197 states. [2018-11-23 12:24:47,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:47,861 INFO L93 Difference]: Finished difference Result 203 states and 210 transitions. [2018-11-23 12:24:47,861 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 210 transitions. [2018-11-23 12:24:47,862 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:47,862 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:47,862 INFO L74 IsIncluded]: Start isIncluded. First operand 197 states. Second operand 203 states. [2018-11-23 12:24:47,862 INFO L87 Difference]: Start difference. First operand 197 states. Second operand 203 states. [2018-11-23 12:24:47,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:47,867 INFO L93 Difference]: Finished difference Result 203 states and 210 transitions. [2018-11-23 12:24:47,867 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 210 transitions. [2018-11-23 12:24:47,868 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:47,868 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:47,868 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:24:47,868 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:24:47,868 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 197 states. [2018-11-23 12:24:47,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 197 states to 197 states and 203 transitions. [2018-11-23 12:24:47,873 INFO L78 Accepts]: Start accepts. Automaton has 197 states and 203 transitions. Word has length 86 [2018-11-23 12:24:47,873 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:24:47,873 INFO L480 AbstractCegarLoop]: Abstraction has 197 states and 203 transitions. [2018-11-23 12:24:47,873 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-23 12:24:47,874 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 203 transitions. [2018-11-23 12:24:47,875 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2018-11-23 12:24:47,875 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:24:47,875 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 9, 8, 6, 6, 6, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:24:47,875 INFO L423 AbstractCegarLoop]: === Iteration 19 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:24:47,875 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:24:47,876 INFO L82 PathProgramCache]: Analyzing trace with hash 1839054615, now seen corresponding path program 15 times [2018-11-23 12:24:47,876 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:24:47,876 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:24:47,876 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:47,877 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:24:47,877 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:47,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:48,939 INFO L256 TraceCheckUtils]: 0: Hoare triple {11912#true} call ULTIMATE.init(); {11912#true} is VALID [2018-11-23 12:24:48,939 INFO L273 TraceCheckUtils]: 1: Hoare triple {11912#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {11912#true} is VALID [2018-11-23 12:24:48,939 INFO L273 TraceCheckUtils]: 2: Hoare triple {11912#true} assume true; {11912#true} is VALID [2018-11-23 12:24:48,939 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11912#true} {11912#true} #63#return; {11912#true} is VALID [2018-11-23 12:24:48,940 INFO L256 TraceCheckUtils]: 4: Hoare triple {11912#true} call #t~ret5 := main(); {11912#true} is VALID [2018-11-23 12:24:48,940 INFO L273 TraceCheckUtils]: 5: Hoare triple {11912#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {11912#true} is VALID [2018-11-23 12:24:48,940 INFO L273 TraceCheckUtils]: 6: Hoare triple {11912#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {11914#(= main_~i~0 0)} is VALID [2018-11-23 12:24:48,941 INFO L273 TraceCheckUtils]: 7: Hoare triple {11914#(= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {11914#(= main_~i~0 0)} is VALID [2018-11-23 12:24:48,941 INFO L273 TraceCheckUtils]: 8: Hoare triple {11914#(= main_~i~0 0)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {11914#(= main_~i~0 0)} is VALID [2018-11-23 12:24:48,942 INFO L273 TraceCheckUtils]: 9: Hoare triple {11914#(= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11914#(= main_~i~0 0)} is VALID [2018-11-23 12:24:48,943 INFO L273 TraceCheckUtils]: 10: Hoare triple {11914#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11915#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 12:24:48,943 INFO L273 TraceCheckUtils]: 11: Hoare triple {11915#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume !!(~i~0 < ~SIZE~0); {11915#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 12:24:48,944 INFO L273 TraceCheckUtils]: 12: Hoare triple {11915#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {11915#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 12:24:48,944 INFO L273 TraceCheckUtils]: 13: Hoare triple {11915#(and (<= 1 main_~i~0) (<= main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11915#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 12:24:48,945 INFO L273 TraceCheckUtils]: 14: Hoare triple {11915#(and (<= 1 main_~i~0) (<= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11916#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:24:48,945 INFO L273 TraceCheckUtils]: 15: Hoare triple {11916#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !!(~i~0 < ~SIZE~0); {11916#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:24:48,946 INFO L273 TraceCheckUtils]: 16: Hoare triple {11916#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {11916#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:24:48,947 INFO L273 TraceCheckUtils]: 17: Hoare triple {11916#(and (<= 2 main_~i~0) (<= main_~i~0 2))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11916#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:24:48,948 INFO L273 TraceCheckUtils]: 18: Hoare triple {11916#(and (<= 2 main_~i~0) (<= main_~i~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11917#(and (<= main_~i~0 3) (<= 3 main_~i~0))} is VALID [2018-11-23 12:24:48,948 INFO L273 TraceCheckUtils]: 19: Hoare triple {11917#(and (<= main_~i~0 3) (<= 3 main_~i~0))} assume !!(~i~0 < ~SIZE~0); {11917#(and (<= main_~i~0 3) (<= 3 main_~i~0))} is VALID [2018-11-23 12:24:48,949 INFO L273 TraceCheckUtils]: 20: Hoare triple {11917#(and (<= main_~i~0 3) (<= 3 main_~i~0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {11917#(and (<= main_~i~0 3) (<= 3 main_~i~0))} is VALID [2018-11-23 12:24:48,950 INFO L273 TraceCheckUtils]: 21: Hoare triple {11917#(and (<= main_~i~0 3) (<= 3 main_~i~0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11917#(and (<= main_~i~0 3) (<= 3 main_~i~0))} is VALID [2018-11-23 12:24:48,951 INFO L273 TraceCheckUtils]: 22: Hoare triple {11917#(and (<= main_~i~0 3) (<= 3 main_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11918#(and (<= 4 main_~i~0) (<= main_~i~0 4))} is VALID [2018-11-23 12:24:48,951 INFO L273 TraceCheckUtils]: 23: Hoare triple {11918#(and (<= 4 main_~i~0) (<= main_~i~0 4))} assume !!(~i~0 < ~SIZE~0); {11918#(and (<= 4 main_~i~0) (<= main_~i~0 4))} is VALID [2018-11-23 12:24:48,952 INFO L273 TraceCheckUtils]: 24: Hoare triple {11918#(and (<= 4 main_~i~0) (<= main_~i~0 4))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {11918#(and (<= 4 main_~i~0) (<= main_~i~0 4))} is VALID [2018-11-23 12:24:48,953 INFO L273 TraceCheckUtils]: 25: Hoare triple {11918#(and (<= 4 main_~i~0) (<= main_~i~0 4))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11918#(and (<= 4 main_~i~0) (<= main_~i~0 4))} is VALID [2018-11-23 12:24:48,954 INFO L273 TraceCheckUtils]: 26: Hoare triple {11918#(and (<= 4 main_~i~0) (<= main_~i~0 4))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11919#(= (* 4 main_~i~0) 20)} is VALID [2018-11-23 12:24:48,954 INFO L273 TraceCheckUtils]: 27: Hoare triple {11919#(= (* 4 main_~i~0) 20)} assume !!(~i~0 < ~SIZE~0); {11919#(= (* 4 main_~i~0) 20)} is VALID [2018-11-23 12:24:48,955 INFO L273 TraceCheckUtils]: 28: Hoare triple {11919#(= (* 4 main_~i~0) 20)} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {11919#(= (* 4 main_~i~0) 20)} is VALID [2018-11-23 12:24:48,956 INFO L273 TraceCheckUtils]: 29: Hoare triple {11919#(= (* 4 main_~i~0) 20)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11920#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= (* 4 main_~i~0) 20))} is VALID [2018-11-23 12:24:48,957 INFO L273 TraceCheckUtils]: 30: Hoare triple {11920#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= (* 4 main_~i~0) 20))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11921#(and (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 4) 4))) 4) 1) main_~i~0))} is VALID [2018-11-23 12:24:48,958 INFO L273 TraceCheckUtils]: 31: Hoare triple {11921#(and (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 4) 4))) 4) 1) main_~i~0))} assume !!(~i~0 < ~SIZE~0); {11921#(and (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 4) 4))) 4) 1) main_~i~0))} is VALID [2018-11-23 12:24:48,959 INFO L273 TraceCheckUtils]: 32: Hoare triple {11921#(and (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 4) 4))) 4) 1) main_~i~0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {11921#(and (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 4) 4))) 4) 1) main_~i~0))} is VALID [2018-11-23 12:24:48,961 INFO L273 TraceCheckUtils]: 33: Hoare triple {11921#(and (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 4) 4))) 4) 1) main_~i~0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11921#(and (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 4) 4))) 4) 1) main_~i~0))} is VALID [2018-11-23 12:24:48,962 INFO L273 TraceCheckUtils]: 34: Hoare triple {11921#(and (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 4) 4))) 4) 1) main_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11922#(and (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (not (= (* 4 main_~i~0) 20)))} is VALID [2018-11-23 12:24:48,963 INFO L273 TraceCheckUtils]: 35: Hoare triple {11922#(and (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (not (= (* 4 main_~i~0) 20)))} assume !!(~i~0 < ~SIZE~0); {11922#(and (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (not (= (* 4 main_~i~0) 20)))} is VALID [2018-11-23 12:24:48,965 INFO L273 TraceCheckUtils]: 36: Hoare triple {11922#(and (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (not (= (* 4 main_~i~0) 20)))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {11923#(and (not (= 16 (* 4 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 4) 4)))))} is VALID [2018-11-23 12:24:48,966 INFO L273 TraceCheckUtils]: 37: Hoare triple {11923#(and (not (= 16 (* 4 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 4) 4)))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11924#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (not (= 16 (* 4 main_~i~0))))} is VALID [2018-11-23 12:24:48,967 INFO L273 TraceCheckUtils]: 38: Hoare triple {11924#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (not (= 16 (* 4 main_~i~0))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11925#(<= 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 4) 4))))} is VALID [2018-11-23 12:24:48,968 INFO L273 TraceCheckUtils]: 39: Hoare triple {11925#(<= 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 4) 4))))} assume !!(~i~0 < ~SIZE~0); {11925#(<= 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 4) 4))))} is VALID [2018-11-23 12:24:48,969 INFO L273 TraceCheckUtils]: 40: Hoare triple {11925#(<= 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 4) 4))))} assume !(1 + ~i~0 < ~SIZE~0); {11925#(<= 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 4) 4))))} is VALID [2018-11-23 12:24:48,970 INFO L273 TraceCheckUtils]: 41: Hoare triple {11925#(<= 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 4) 4))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11926#(<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4))))} is VALID [2018-11-23 12:24:48,970 INFO L273 TraceCheckUtils]: 42: Hoare triple {11926#(<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11926#(<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4))))} is VALID [2018-11-23 12:24:48,971 INFO L273 TraceCheckUtils]: 43: Hoare triple {11926#(<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4))))} assume !(~i~0 < ~SIZE~0); {11926#(<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4))))} is VALID [2018-11-23 12:24:48,972 INFO L273 TraceCheckUtils]: 44: Hoare triple {11926#(<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4))))} ~i~0 := 0; {11927#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0))} is VALID [2018-11-23 12:24:48,972 INFO L273 TraceCheckUtils]: 45: Hoare triple {11927#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 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); {11927#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0))} is VALID [2018-11-23 12:24:48,973 INFO L256 TraceCheckUtils]: 46: Hoare triple {11927#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {11912#true} is VALID [2018-11-23 12:24:48,973 INFO L273 TraceCheckUtils]: 47: Hoare triple {11912#true} ~cond := #in~cond; {11928#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:24:48,974 INFO L273 TraceCheckUtils]: 48: Hoare triple {11928#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {11929#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:24:48,974 INFO L273 TraceCheckUtils]: 49: Hoare triple {11929#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11929#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:24:48,975 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {11929#(not (= |__VERIFIER_assert_#in~cond| 0))} {11927#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0))} #67#return; {11927#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0))} is VALID [2018-11-23 12:24:48,976 INFO L273 TraceCheckUtils]: 51: Hoare triple {11927#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0))} havoc #t~mem4; {11927#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0))} is VALID [2018-11-23 12:24:48,977 INFO L273 TraceCheckUtils]: 52: Hoare triple {11927#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11930#(<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4))))} is VALID [2018-11-23 12:24:48,978 INFO L273 TraceCheckUtils]: 53: Hoare triple {11930#(<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11930#(<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4))))} is VALID [2018-11-23 12:24:48,978 INFO L256 TraceCheckUtils]: 54: Hoare triple {11930#(<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {11912#true} is VALID [2018-11-23 12:24:48,978 INFO L273 TraceCheckUtils]: 55: Hoare triple {11912#true} ~cond := #in~cond; {11912#true} is VALID [2018-11-23 12:24:48,978 INFO L273 TraceCheckUtils]: 56: Hoare triple {11912#true} assume !(0 == ~cond); {11912#true} is VALID [2018-11-23 12:24:48,978 INFO L273 TraceCheckUtils]: 57: Hoare triple {11912#true} assume true; {11912#true} is VALID [2018-11-23 12:24:48,979 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {11912#true} {11930#(<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4))))} #67#return; {11930#(<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4))))} is VALID [2018-11-23 12:24:48,980 INFO L273 TraceCheckUtils]: 59: Hoare triple {11930#(<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4))))} havoc #t~mem4; {11930#(<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4))))} is VALID [2018-11-23 12:24:48,981 INFO L273 TraceCheckUtils]: 60: Hoare triple {11930#(<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11931#(<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4))))} is VALID [2018-11-23 12:24:48,982 INFO L273 TraceCheckUtils]: 61: Hoare triple {11931#(<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11931#(<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4))))} is VALID [2018-11-23 12:24:48,982 INFO L256 TraceCheckUtils]: 62: Hoare triple {11931#(<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {11912#true} is VALID [2018-11-23 12:24:48,982 INFO L273 TraceCheckUtils]: 63: Hoare triple {11912#true} ~cond := #in~cond; {11912#true} is VALID [2018-11-23 12:24:48,982 INFO L273 TraceCheckUtils]: 64: Hoare triple {11912#true} assume !(0 == ~cond); {11912#true} is VALID [2018-11-23 12:24:48,983 INFO L273 TraceCheckUtils]: 65: Hoare triple {11912#true} assume true; {11912#true} is VALID [2018-11-23 12:24:48,983 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {11912#true} {11931#(<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4))))} #67#return; {11931#(<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4))))} is VALID [2018-11-23 12:24:48,984 INFO L273 TraceCheckUtils]: 67: Hoare triple {11931#(<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4))))} havoc #t~mem4; {11931#(<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4))))} is VALID [2018-11-23 12:24:48,985 INFO L273 TraceCheckUtils]: 68: Hoare triple {11931#(<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11932#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} is VALID [2018-11-23 12:24:48,986 INFO L273 TraceCheckUtils]: 69: Hoare triple {11932#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11932#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} is VALID [2018-11-23 12:24:48,986 INFO L256 TraceCheckUtils]: 70: Hoare triple {11932#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {11912#true} is VALID [2018-11-23 12:24:48,986 INFO L273 TraceCheckUtils]: 71: Hoare triple {11912#true} ~cond := #in~cond; {11912#true} is VALID [2018-11-23 12:24:48,986 INFO L273 TraceCheckUtils]: 72: Hoare triple {11912#true} assume !(0 == ~cond); {11912#true} is VALID [2018-11-23 12:24:48,987 INFO L273 TraceCheckUtils]: 73: Hoare triple {11912#true} assume true; {11912#true} is VALID [2018-11-23 12:24:48,987 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {11912#true} {11932#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} #67#return; {11932#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} is VALID [2018-11-23 12:24:48,988 INFO L273 TraceCheckUtils]: 75: Hoare triple {11932#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} havoc #t~mem4; {11932#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} is VALID [2018-11-23 12:24:48,989 INFO L273 TraceCheckUtils]: 76: Hoare triple {11932#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11933#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-23 12:24:48,990 INFO L273 TraceCheckUtils]: 77: Hoare triple {11933#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |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); {11933#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-23 12:24:48,990 INFO L256 TraceCheckUtils]: 78: Hoare triple {11933#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {11912#true} is VALID [2018-11-23 12:24:48,990 INFO L273 TraceCheckUtils]: 79: Hoare triple {11912#true} ~cond := #in~cond; {11912#true} is VALID [2018-11-23 12:24:48,990 INFO L273 TraceCheckUtils]: 80: Hoare triple {11912#true} assume !(0 == ~cond); {11912#true} is VALID [2018-11-23 12:24:48,990 INFO L273 TraceCheckUtils]: 81: Hoare triple {11912#true} assume true; {11912#true} is VALID [2018-11-23 12:24:48,991 INFO L268 TraceCheckUtils]: 82: Hoare quadruple {11912#true} {11933#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} #67#return; {11933#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-23 12:24:48,992 INFO L273 TraceCheckUtils]: 83: Hoare triple {11933#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} havoc #t~mem4; {11933#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-23 12:24:48,993 INFO L273 TraceCheckUtils]: 84: Hoare triple {11933#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11934#(<= 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:24:48,994 INFO L273 TraceCheckUtils]: 85: Hoare triple {11934#(<= 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); {11935#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:24:48,995 INFO L256 TraceCheckUtils]: 86: Hoare triple {11935#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {11929#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:24:48,998 INFO L273 TraceCheckUtils]: 87: Hoare triple {11929#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {11936#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:24:49,001 INFO L273 TraceCheckUtils]: 88: Hoare triple {11936#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {11913#false} is VALID [2018-11-23 12:24:49,001 INFO L273 TraceCheckUtils]: 89: Hoare triple {11913#false} assume !false; {11913#false} is VALID [2018-11-23 12:24:49,018 INFO L134 CoverageAnalysis]: Checked inductivity of 253 backedges. 10 proven. 215 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2018-11-23 12:24:49,019 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:24:49,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 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:24:49,027 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:24:49,193 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 10 check-sat command(s) [2018-11-23 12:24:49,193 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:24:49,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:49,213 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:24:49,595 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:49,605 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:49,609 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:49,613 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:49,622 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:49,623 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:22, output treesize:18 [2018-11-23 12:24:49,737 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 26 treesize of output 21 [2018-11-23 12:24:49,745 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:49,746 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:49,747 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 21 treesize of output 43 [2018-11-23 12:24:49,752 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:49,762 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:49,774 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:49,774 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:32, output treesize:28 [2018-11-23 12:24:49,850 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 37 treesize of output 30 [2018-11-23 12:24:49,861 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:49,862 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:49,863 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:49,864 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:49,865 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 86 [2018-11-23 12:24:49,871 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:49,888 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:49,902 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:49,903 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:43, output treesize:39 [2018-11-23 12:24:50,189 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 49 treesize of output 40 [2018-11-23 12:24:50,204 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,205 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,207 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,209 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,210 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,214 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,215 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,216 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,218 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,219 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 40 treesize of output 157 [2018-11-23 12:24:50,230 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:50,262 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:50,286 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:50,286 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:60, output treesize:56 [2018-11-23 12:24:50,419 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 49 [2018-11-23 12:24:50,439 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,441 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,442 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,444 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,445 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,447 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,449 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,450 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,452 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,455 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,457 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,458 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:50,471 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 12 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 49 treesize of output 234 [2018-11-23 12:24:50,479 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-23 12:24:50,594 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 12:24:50,653 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 2 xjuncts. [2018-11-23 12:24:50,653 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:71, output treesize:121 [2018-11-23 12:24:50,661 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:24:50,661 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_35|, v_main_~i~0_116]. (let ((.cse1 (* 4 v_main_~i~0_116)) (.cse2 (* 4 main_~i~0)) (.cse0 (select |v_#memory_int_35| |main_~#a~0.base|))) (and (<= 6 v_main_~i~0_116) (= (select .cse0 (+ .cse1 |main_~#a~0.offset|)) v_main_~i~0_116) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 4)) v_main_~i~0_116) (= main_~i~0 (select .cse0 (+ .cse2 |main_~#a~0.offset| 4))) (= (store |v_#memory_int_35| |main_~#a~0.base| (store .cse0 (+ .cse2 |main_~#a~0.offset|) main_~i~0)) |#memory_int|) (= 5 (select .cse0 (+ |main_~#a~0.offset| 20))) (<= (+ v_main_~i~0_116 1) main_~i~0) (= |main_~#a~0.offset| 0))) [2018-11-23 12:24:50,662 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_main_~i~0_116]. (let ((.cse2 (select |#memory_int| |main_~#a~0.base|)) (.cse3 (* 4 main_~i~0))) (let ((.cse0 (= main_~i~0 (select .cse2 (+ .cse3 |main_~#a~0.offset| 4)))) (.cse1 (= 5 (select .cse2 (+ |main_~#a~0.offset| 20)))) (.cse4 (= main_~i~0 (select .cse2 (+ .cse3 |main_~#a~0.offset|)))) (.cse5 (= |main_~#a~0.offset| 0))) (or (and (<= 7 main_~i~0) .cse0 .cse1 (= main_~i~0 (+ (select .cse2 (+ .cse3 |main_~#a~0.offset| (- 4))) 1)) .cse4 .cse5) (let ((.cse6 (* 4 v_main_~i~0_116))) (and (<= 6 v_main_~i~0_116) .cse0 .cse1 (= (select .cse2 (+ .cse6 |main_~#a~0.offset|)) v_main_~i~0_116) (= (select .cse2 (+ .cse6 |main_~#a~0.offset| 4)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 1) main_~i~0) .cse4 .cse5))))) [2018-11-23 12:24:51,449 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 73 treesize of output 62 [2018-11-23 12:24:51,457 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,459 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,461 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,462 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,464 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,466 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,468 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,469 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,473 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,474 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,476 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,478 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,480 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,481 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,483 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,496 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 51 treesize of output 247 [2018-11-23 12:24:51,501 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-23 12:24:51,659 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 12:24:51,786 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 87 treesize of output 74 [2018-11-23 12:24:51,796 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,797 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,799 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,800 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,802 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,804 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,806 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,807 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,809 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,811 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,813 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,815 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,817 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,821 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,822 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,824 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,826 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,828 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,829 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,831 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,844 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 20 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 58 treesize of output 337 [2018-11-23 12:24:51,850 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 2 xjuncts. [2018-11-23 12:24:52,073 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 12:24:52,235 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 2 dim-2 vars, End of recursive call: 8 dim-0 vars, and 4 xjuncts. [2018-11-23 12:24:52,236 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 7 variables, input treesize:161, output treesize:277 [2018-11-23 12:24:54,305 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:24:54,306 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_36|, main_~i~0, v_main_~i~0_116, v_prenex_29, v_prenex_31, v_prenex_30, v_main_~i~0_117]. (let ((.cse2 (+ |main_~#a~0.offset| 20)) (.cse3 (= |main_~#a~0.offset| 0))) (or (let ((.cse0 (select v_prenex_31 |main_~#a~0.base|)) (.cse1 (* 4 v_main_~i~0_117))) (and (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 4)) v_main_~i~0_117) (= (select .cse0 .cse2) 5) (= (select .cse0 (+ .cse1 |main_~#a~0.offset|)) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (<= (+ v_main_~i~0_117 1) v_prenex_30) (= (store v_prenex_31 |main_~#a~0.base| (store .cse0 (+ (* 4 v_prenex_30) |main_~#a~0.offset|) v_prenex_30)) |#memory_int|) (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117) .cse3)) (let ((.cse5 (* 4 v_prenex_29)) (.cse6 (* 4 v_main_~i~0_116)) (.cse4 (select |v_#memory_int_36| |main_~#a~0.base|))) (and (<= 6 v_main_~i~0_116) (= v_prenex_29 (select .cse4 (+ .cse5 |main_~#a~0.offset| 4))) (= v_prenex_29 (select .cse4 (+ .cse5 |main_~#a~0.offset|))) (= (select .cse4 (+ .cse6 |main_~#a~0.offset| 4)) v_main_~i~0_116) (= (select .cse4 (+ .cse6 |main_~#a~0.offset|)) v_main_~i~0_116) (= (select .cse4 .cse2) 5) (<= (+ v_prenex_29 1) main_~i~0) (<= (+ v_main_~i~0_116 1) v_prenex_29) (= (store |v_#memory_int_36| |main_~#a~0.base| (store .cse4 (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0)) |#memory_int|) .cse3)))) [2018-11-23 12:24:54,306 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_29, v_prenex_34, v_prenex_33, v_main_~i~0_117, v_prenex_32, v_prenex_30, v_main_~i~0_116, main_~i~0]. (let ((.cse1 (select |#memory_int| |main_~#a~0.base|))) (let ((.cse0 (= 5 (select .cse1 (+ |main_~#a~0.offset| 20)))) (.cse3 (= |main_~#a~0.offset| 0))) (or (let ((.cse2 (* 4 v_main_~i~0_117))) (and .cse0 (<= 7 v_main_~i~0_117) (= (select .cse1 (+ .cse2 |main_~#a~0.offset|)) v_main_~i~0_117) (= (select .cse1 (+ .cse2 |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select .cse1 (+ .cse2 |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117) .cse3)) (let ((.cse4 (* 4 v_prenex_32))) (and (= (select .cse1 (+ .cse4 |main_~#a~0.offset| 4)) v_prenex_32) .cse0 (<= 7 v_prenex_32) (= (select .cse1 (+ .cse4 |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30) (= v_prenex_30 (select .cse1 (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (+ (select .cse1 (+ .cse4 |main_~#a~0.offset| (- 4))) 1) v_prenex_32) .cse3)) (let ((.cse5 (* 4 v_prenex_29)) (.cse6 (* 4 v_prenex_34))) (and (<= 6 v_prenex_34) (= v_prenex_29 (select .cse1 (+ .cse5 |main_~#a~0.offset| 4))) .cse0 (= (select .cse1 (+ .cse6 |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select .cse1 (+ .cse5 |main_~#a~0.offset|))) (<= (+ v_prenex_29 1) v_prenex_33) (= (select .cse1 (+ .cse6 |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_34 1) v_prenex_29) (= v_prenex_33 (select .cse1 (+ (* 4 v_prenex_33) |main_~#a~0.offset|))) .cse3)) (let ((.cse7 (* 4 v_main_~i~0_116)) (.cse8 (* 4 main_~i~0))) (and (<= 6 v_main_~i~0_116) .cse0 (= (select .cse1 (+ .cse7 |main_~#a~0.offset|)) v_main_~i~0_116) (= (select .cse1 (+ .cse7 |main_~#a~0.offset| 4)) v_main_~i~0_116) (= main_~i~0 (+ (select .cse1 (+ .cse8 |main_~#a~0.offset| (- 4))) 1)) (<= (+ v_main_~i~0_116 2) main_~i~0) (= main_~i~0 (select .cse1 (+ .cse8 |main_~#a~0.offset|))) .cse3))))) [2018-11-23 12:24:55,368 WARN L180 SmtUtils]: Spent 104.00 ms on a formula simplification that was a NOOP. DAG size: 112 [2018-11-23 12:24:58,455 WARN L180 SmtUtils]: Spent 101.00 ms on a formula simplification that was a NOOP. DAG size: 112 [2018-11-23 12:25:01,809 WARN L180 SmtUtils]: Spent 106.00 ms on a formula simplification that was a NOOP. DAG size: 112 [2018-11-23 12:25:04,852 WARN L180 SmtUtils]: Spent 112.00 ms on a formula simplification that was a NOOP. DAG size: 113 [2018-11-23 12:25:08,440 WARN L180 SmtUtils]: Spent 110.00 ms on a formula simplification that was a NOOP. DAG size: 112 [2018-11-23 12:25:12,127 WARN L180 SmtUtils]: Spent 104.00 ms on a formula simplification that was a NOOP. DAG size: 112 [2018-11-23 12:25:12,318 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 70 treesize of output 58 [2018-11-23 12:25:12,348 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,349 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,350 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,351 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,352 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,354 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,355 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,357 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,358 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,359 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,361 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,362 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,364 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,365 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,366 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:25:12,367 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,369 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,370 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,371 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,373 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,374 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,380 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 163 [2018-11-23 12:25:12,400 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:12,551 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:12,657 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:25:12,664 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,666 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,667 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,668 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,669 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,670 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,671 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,673 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,673 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:25:12,675 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,676 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,678 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,679 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,680 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,682 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,685 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 42 treesize of output 117 [2018-11-23 12:25:12,687 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:12,716 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:12,804 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 70 treesize of output 58 [2018-11-23 12:25:12,816 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,817 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,818 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,819 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,821 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,822 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,824 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,825 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,826 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,827 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,829 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,830 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,832 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,832 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:25:12,834 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,835 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,837 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,838 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,840 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,841 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:12,847 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 153 [2018-11-23 12:25:12,850 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:12,897 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:13,034 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 82 treesize of output 68 [2018-11-23 12:25:13,172 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,174 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,176 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,178 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,180 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,184 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,186 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,187 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,188 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,189 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,191 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,192 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,194 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,195 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,197 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,198 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,199 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,201 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,202 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,203 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:25:13,207 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,208 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,209 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,233 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,234 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,235 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,238 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 7 select indices, 7 select index equivalence classes, 21 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 52 treesize of output 199 [2018-11-23 12:25:13,241 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:13,312 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:13,371 INFO L267 ElimStorePlain]: Start of recursive call 1: 12 dim-0 vars, 4 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:13,371 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 16 variables, input treesize:281, output treesize:9 [2018-11-23 12:25:14,649 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:25:14,650 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, v_prenex_29, v_prenex_33, v_prenex_34, v_prenex_94, v_prenex_93, v_prenex_32, v_prenex_30, v_prenex_92, v_prenex_91, v_main_~i~0_117, v_prenex_95, v_prenex_96, v_main_~i~0_116, v_prenex_35]. (let ((.cse2 (* 4 main_~i~0)) (.cse3 (= main_~i~0 5))) (or (let ((.cse1 (* 4 v_prenex_32)) (.cse0 (select v_prenex_94 v_prenex_93))) (and (= (select .cse0 (+ .cse1 4)) v_prenex_32) (<= 7 v_prenex_32) (= (select .cse0 (* 4 v_prenex_30)) v_prenex_30) (= v_prenex_32 (select .cse0 .cse1)) (= (+ (select .cse0 (+ .cse1 (- 4))) 1) v_prenex_32) (<= (select .cse0 .cse2) |main_#t~mem4|) (= 5 (select .cse0 20)) (<= (+ v_prenex_32 1) v_prenex_30) .cse3)) (let ((.cse5 (* 4 v_main_~i~0_117)) (.cse4 (select v_prenex_92 v_prenex_91))) (and (= 5 (select .cse4 20)) (= (select .cse4 (+ .cse5 4)) (+ v_main_~i~0_117 1)) (<= 7 v_main_~i~0_117) (= (select .cse4 .cse5) v_main_~i~0_117) (= (+ (select .cse4 (+ .cse5 (- 4))) 1) v_main_~i~0_117) (<= (select .cse4 .cse2) |main_#t~mem4|) .cse3)) (let ((.cse8 (* 4 v_main_~i~0_116)) (.cse6 (select v_prenex_95 v_prenex_96)) (.cse7 (* 4 v_prenex_35))) (and (= 5 (select .cse6 20)) (<= 6 v_main_~i~0_116) (<= (select .cse6 .cse2) |main_#t~mem4|) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select .cse6 .cse7)) (= (select .cse6 .cse8) v_main_~i~0_116) (= (select .cse6 (+ .cse8 4)) v_main_~i~0_116) (= v_prenex_35 (+ (select .cse6 (+ .cse7 (- 4))) 1)) .cse3)) (let ((.cse10 (* 4 v_prenex_34)) (.cse9 (select |#memory_int| |main_~#a~0.base|)) (.cse11 (* 4 v_prenex_29))) (and (= 5 (select .cse9 20)) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_33 (select .cse9 (* 4 v_prenex_33))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_34 (select .cse9 .cse10)) (<= (select .cse9 .cse2) |main_#t~mem4|) (= v_prenex_34 (select .cse9 (+ .cse10 4))) (= (select .cse9 (+ .cse11 4)) v_prenex_29) (= (select .cse9 .cse11) v_prenex_29) .cse3)))) [2018-11-23 12:25:14,650 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (* 4 main_~i~0) 20) (<= 5 |main_#t~mem4|)) [2018-11-23 12:25:14,990 INFO L256 TraceCheckUtils]: 0: Hoare triple {11912#true} call ULTIMATE.init(); {11912#true} is VALID [2018-11-23 12:25:14,990 INFO L273 TraceCheckUtils]: 1: Hoare triple {11912#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {11912#true} is VALID [2018-11-23 12:25:14,990 INFO L273 TraceCheckUtils]: 2: Hoare triple {11912#true} assume true; {11912#true} is VALID [2018-11-23 12:25:14,990 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11912#true} {11912#true} #63#return; {11912#true} is VALID [2018-11-23 12:25:14,990 INFO L256 TraceCheckUtils]: 4: Hoare triple {11912#true} call #t~ret5 := main(); {11912#true} is VALID [2018-11-23 12:25:14,991 INFO L273 TraceCheckUtils]: 5: Hoare triple {11912#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {11912#true} is VALID [2018-11-23 12:25:14,992 INFO L273 TraceCheckUtils]: 6: Hoare triple {11912#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := 0; {11958#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:14,992 INFO L273 TraceCheckUtils]: 7: Hoare triple {11958#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {11958#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:14,994 INFO L273 TraceCheckUtils]: 8: Hoare triple {11958#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {11958#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:14,994 INFO L273 TraceCheckUtils]: 9: Hoare triple {11958#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11958#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:14,996 INFO L273 TraceCheckUtils]: 10: Hoare triple {11958#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11971#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:14,996 INFO L273 TraceCheckUtils]: 11: Hoare triple {11971#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {11971#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:14,999 INFO L273 TraceCheckUtils]: 12: Hoare triple {11971#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {11971#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:14,999 INFO L273 TraceCheckUtils]: 13: Hoare triple {11971#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11971#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,000 INFO L273 TraceCheckUtils]: 14: Hoare triple {11971#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11984#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,000 INFO L273 TraceCheckUtils]: 15: Hoare triple {11984#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {11984#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,002 INFO L273 TraceCheckUtils]: 16: Hoare triple {11984#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {11984#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,002 INFO L273 TraceCheckUtils]: 17: Hoare triple {11984#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11984#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,003 INFO L273 TraceCheckUtils]: 18: Hoare triple {11984#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11997#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,003 INFO L273 TraceCheckUtils]: 19: Hoare triple {11997#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {11997#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,003 INFO L273 TraceCheckUtils]: 20: Hoare triple {11997#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {11997#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,004 INFO L273 TraceCheckUtils]: 21: Hoare triple {11997#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11997#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,004 INFO L273 TraceCheckUtils]: 22: Hoare triple {11997#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12010#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,005 INFO L273 TraceCheckUtils]: 23: Hoare triple {12010#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {12010#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,005 INFO L273 TraceCheckUtils]: 24: Hoare triple {12010#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {12010#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,006 INFO L273 TraceCheckUtils]: 25: Hoare triple {12010#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12010#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,006 INFO L273 TraceCheckUtils]: 26: Hoare triple {12010#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12023#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,007 INFO L273 TraceCheckUtils]: 27: Hoare triple {12023#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {12023#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,008 INFO L273 TraceCheckUtils]: 28: Hoare triple {12023#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {12023#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,009 INFO L273 TraceCheckUtils]: 29: Hoare triple {12023#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12033#(and (= main_~i~0 5) (= 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:15,010 INFO L273 TraceCheckUtils]: 30: Hoare triple {12033#(and (= main_~i~0 5) (= 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 := 1 + #t~post2;havoc #t~post2; {12037#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (<= 6 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,011 INFO L273 TraceCheckUtils]: 31: Hoare triple {12037#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (<= 6 main_~i~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {12037#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (<= 6 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,012 INFO L273 TraceCheckUtils]: 32: Hoare triple {12037#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (<= 6 main_~i~0) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {12044#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (<= 6 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,013 INFO L273 TraceCheckUtils]: 33: Hoare triple {12044#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (<= 6 main_~i~0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12048#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (<= 6 main_~i~0) (= 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:15,015 INFO L273 TraceCheckUtils]: 34: Hoare triple {12048#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (<= 6 main_~i~0) (= 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 := 1 + #t~post2;havoc #t~post2; {12052#(and (exists ((v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 1) main_~i~0))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,016 INFO L273 TraceCheckUtils]: 35: Hoare triple {12052#(and (exists ((v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 1) main_~i~0))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {12052#(and (exists ((v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 1) main_~i~0))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,019 INFO L273 TraceCheckUtils]: 36: Hoare triple {12052#(and (exists ((v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 1) main_~i~0))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} assume 1 + ~i~0 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {12059#(and (exists ((v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 1) main_~i~0))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:15,022 INFO L273 TraceCheckUtils]: 37: Hoare triple {12059#(and (exists ((v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 1) main_~i~0))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12063#(or (and (exists ((v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 1) main_~i~0))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0)) (and (<= 7 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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))) 1)) (= 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:15,029 INFO L273 TraceCheckUtils]: 38: Hoare triple {12063#(or (and (exists ((v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 1) main_~i~0))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0)) (and (<= 7 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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))) 1)) (= 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 := 1 + #t~post2;havoc #t~post2; {12067#(or (and (exists ((v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117) (<= (+ v_main_~i~0_117 1) main_~i~0))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4)) v_prenex_29) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|)) v_prenex_29) (<= (+ v_prenex_29 1) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 1) v_prenex_29))) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:15,029 INFO L273 TraceCheckUtils]: 39: Hoare triple {12067#(or (and (exists ((v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117) (<= (+ v_main_~i~0_117 1) main_~i~0))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4)) v_prenex_29) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|)) v_prenex_29) (<= (+ v_prenex_29 1) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 1) v_prenex_29))) (= |main_~#a~0.offset| 0)))} assume !!(~i~0 < ~SIZE~0); {12067#(or (and (exists ((v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117) (<= (+ v_main_~i~0_117 1) main_~i~0))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4)) v_prenex_29) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|)) v_prenex_29) (<= (+ v_prenex_29 1) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 1) v_prenex_29))) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:15,030 INFO L273 TraceCheckUtils]: 40: Hoare triple {12067#(or (and (exists ((v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117) (<= (+ v_main_~i~0_117 1) main_~i~0))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4)) v_prenex_29) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|)) v_prenex_29) (<= (+ v_prenex_29 1) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 1) v_prenex_29))) (= |main_~#a~0.offset| 0)))} assume !(1 + ~i~0 < ~SIZE~0); {12067#(or (and (exists ((v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117) (<= (+ v_main_~i~0_117 1) main_~i~0))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4)) v_prenex_29) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|)) v_prenex_29) (<= (+ v_prenex_29 1) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 1) v_prenex_29))) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:15,267 INFO L273 TraceCheckUtils]: 41: Hoare triple {12067#(or (and (exists ((v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117) (<= (+ v_main_~i~0_117 1) main_~i~0))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4)) v_prenex_29) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|)) v_prenex_29) (<= (+ v_prenex_29 1) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 1) v_prenex_29))) (= |main_~#a~0.offset| 0)))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12077#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((main_~i~0 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (<= (+ v_main_~i~0_116 2) main_~i~0))) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:15,268 INFO L273 TraceCheckUtils]: 42: Hoare triple {12077#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((main_~i~0 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (<= (+ v_main_~i~0_116 2) main_~i~0))) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12077#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((main_~i~0 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (<= (+ v_main_~i~0_116 2) main_~i~0))) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:15,268 INFO L273 TraceCheckUtils]: 43: Hoare triple {12077#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((main_~i~0 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (<= (+ v_main_~i~0_116 2) main_~i~0))) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)))} assume !(~i~0 < ~SIZE~0); {12077#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((main_~i~0 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (<= (+ v_main_~i~0_116 2) main_~i~0))) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:15,282 INFO L273 TraceCheckUtils]: 44: Hoare triple {12077#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((main_~i~0 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (<= (+ v_main_~i~0_116 2) main_~i~0))) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)))} ~i~0 := 0; {12087#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:15,283 INFO L273 TraceCheckUtils]: 45: Hoare triple {12087#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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); {12087#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:15,449 INFO L256 TraceCheckUtils]: 46: Hoare triple {12087#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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)); {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} is VALID [2018-11-23 12:25:15,449 INFO L273 TraceCheckUtils]: 47: Hoare triple {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} ~cond := #in~cond; {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} is VALID [2018-11-23 12:25:15,450 INFO L273 TraceCheckUtils]: 48: Hoare triple {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} assume !(0 == ~cond); {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} is VALID [2018-11-23 12:25:15,450 INFO L273 TraceCheckUtils]: 49: Hoare triple {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} assume true; {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} is VALID [2018-11-23 12:25:15,451 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} {12087#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)))} #67#return; {12087#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:15,452 INFO L273 TraceCheckUtils]: 51: Hoare triple {12087#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)))} havoc #t~mem4; {12087#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:15,468 INFO L273 TraceCheckUtils]: 52: Hoare triple {12087#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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; {12113#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:15,469 INFO L273 TraceCheckUtils]: 53: Hoare triple {12113#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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); {12113#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:15,746 INFO L256 TraceCheckUtils]: 54: Hoare triple {12113#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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)); {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} is VALID [2018-11-23 12:25:15,747 INFO L273 TraceCheckUtils]: 55: Hoare triple {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} ~cond := #in~cond; {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} is VALID [2018-11-23 12:25:15,748 INFO L273 TraceCheckUtils]: 56: Hoare triple {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} assume !(0 == ~cond); {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} is VALID [2018-11-23 12:25:15,748 INFO L273 TraceCheckUtils]: 57: Hoare triple {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} assume true; {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} is VALID [2018-11-23 12:25:15,749 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} {12113#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0)))} #67#return; {12113#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:15,750 INFO L273 TraceCheckUtils]: 59: Hoare triple {12113#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0)))} havoc #t~mem4; {12113#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:15,762 INFO L273 TraceCheckUtils]: 60: Hoare triple {12113#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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; {12138#(or (and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:15,762 INFO L273 TraceCheckUtils]: 61: Hoare triple {12138#(or (and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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); {12138#(or (and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:15,841 INFO L256 TraceCheckUtils]: 62: Hoare triple {12138#(or (and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} is VALID [2018-11-23 12:25:15,842 INFO L273 TraceCheckUtils]: 63: Hoare triple {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} ~cond := #in~cond; {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} is VALID [2018-11-23 12:25:15,842 INFO L273 TraceCheckUtils]: 64: Hoare triple {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} assume !(0 == ~cond); {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} is VALID [2018-11-23 12:25:15,843 INFO L273 TraceCheckUtils]: 65: Hoare triple {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} assume true; {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} is VALID [2018-11-23 12:25:15,844 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} {12138#(or (and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)))} #67#return; {12138#(or (and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:15,844 INFO L273 TraceCheckUtils]: 67: Hoare triple {12138#(or (and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)))} havoc #t~mem4; {12138#(or (and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:15,857 INFO L273 TraceCheckUtils]: 68: Hoare triple {12138#(or (and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 2) (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12163#(or (and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:15,858 INFO L273 TraceCheckUtils]: 69: Hoare triple {12163#(or (and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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); {12163#(or (and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:16,014 INFO L256 TraceCheckUtils]: 70: Hoare triple {12163#(or (and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} is VALID [2018-11-23 12:25:16,014 INFO L273 TraceCheckUtils]: 71: Hoare triple {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} ~cond := #in~cond; {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} is VALID [2018-11-23 12:25:16,015 INFO L273 TraceCheckUtils]: 72: Hoare triple {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} assume !(0 == ~cond); {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} is VALID [2018-11-23 12:25:16,015 INFO L273 TraceCheckUtils]: 73: Hoare triple {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} assume true; {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} is VALID [2018-11-23 12:25:16,016 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} {12163#(or (and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)))} #67#return; {12163#(or (and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:16,017 INFO L273 TraceCheckUtils]: 75: Hoare triple {12163#(or (and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)))} havoc #t~mem4; {12163#(or (and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:16,032 INFO L273 TraceCheckUtils]: 76: Hoare triple {12163#(or (and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)) (and (= main_~i~0 3) (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12188#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:16,033 INFO L273 TraceCheckUtils]: 77: Hoare triple {12188#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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); {12188#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:16,121 INFO L256 TraceCheckUtils]: 78: Hoare triple {12188#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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)); {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} is VALID [2018-11-23 12:25:16,123 INFO L273 TraceCheckUtils]: 79: Hoare triple {12094#(or (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))))} ~cond := #in~cond; {12198#(or (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)) (and (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)) (and (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)) (and (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)))} is VALID [2018-11-23 12:25:16,131 INFO L273 TraceCheckUtils]: 80: Hoare triple {12198#(or (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4))))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)) (and (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35))))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)) (and (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)) (and (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)))} assume !(0 == ~cond); {12202#(or (and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30)))) (and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34)))) (and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35)))))) (and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4)))))))} is VALID [2018-11-23 12:25:16,132 INFO L273 TraceCheckUtils]: 81: Hoare triple {12202#(or (and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30)))) (and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34)))) (and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35)))))) (and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4)))))))} assume true; {12202#(or (and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30)))) (and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34)))) (and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35)))))) (and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4)))))))} is VALID [2018-11-23 12:25:16,133 INFO L268 TraceCheckUtils]: 82: Hoare quadruple {12202#(or (and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_prenex_37 Int) (v_prenex_30 Int) (v_prenex_32 Int)) (and (= v_prenex_32 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_32))) (= v_prenex_30 (select (select |#memory_int| v_prenex_37) (* 4 v_prenex_30))) (<= 7 v_prenex_32) (= (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) 4)) v_prenex_32) (= (+ (select (select |#memory_int| v_prenex_37) (+ (* 4 v_prenex_32) (- 4))) 1) v_prenex_32) (= 5 (select (select |#memory_int| v_prenex_37) 20)) (<= (+ v_prenex_32 1) v_prenex_30)))) (and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_prenex_38 Int) (v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_29)) v_prenex_29) (<= (+ v_prenex_29 1) v_prenex_33) (= v_prenex_34 (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_34) 4))) (<= (+ v_prenex_34 1) v_prenex_29) (= (select (select |#memory_int| v_prenex_38) (+ (* 4 v_prenex_29) 4)) v_prenex_29) (<= 6 v_prenex_34) (= 5 (select (select |#memory_int| v_prenex_38) 20)) (= v_prenex_33 (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_33))) (= (select (select |#memory_int| v_prenex_38) (* 4 v_prenex_34)) v_prenex_34)))) (and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_prenex_36 Int) (v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (= (+ (select (select |#memory_int| v_prenex_36) (+ (* 4 v_prenex_35) (- 4))) 1) v_prenex_35) (= (select (select |#memory_int| v_prenex_36) (+ (* 4 v_main_~i~0_116) 4)) v_main_~i~0_116) (= 5 (select (select |#memory_int| v_prenex_36) 20)) (<= 6 v_main_~i~0_116) (= (select (select |#memory_int| v_prenex_36) (* 4 v_main_~i~0_116)) v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| v_prenex_36) (* 4 v_prenex_35)))))) (and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_26| Int) (v_main_~i~0_117 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (* 4 v_main_~i~0_117)) v_main_~i~0_117) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) (- 4))) 1) v_main_~i~0_117) (<= 7 v_main_~i~0_117) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) 20)) (= (+ v_main_~i~0_117 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_26|) (+ (* 4 v_main_~i~0_117) 4)))))))} {12188#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)))} #67#return; {12188#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:16,133 INFO L273 TraceCheckUtils]: 83: Hoare triple {12188#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)))} havoc #t~mem4; {12188#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:16,145 INFO L273 TraceCheckUtils]: 84: Hoare triple {12188#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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; {12215#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= main_~i~0 5) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 5) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= main_~i~0 5) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 5) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-23 12:25:16,147 INFO L273 TraceCheckUtils]: 85: Hoare triple {12215#(or (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_29 Int) (v_prenex_34 Int) (v_prenex_33 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset| 4)) v_prenex_34) (<= (+ v_prenex_29 1) v_prenex_33) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_34) |main_~#a~0.offset|)) v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset| 4))) (<= (+ v_prenex_34 1) v_prenex_29) (<= 6 v_prenex_34) (= v_prenex_29 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_29) |main_~#a~0.offset|))) (= v_prenex_33 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_33) |main_~#a~0.offset|))))) (= main_~i~0 5) (= |main_~#a~0.offset| 0)) (and (exists ((v_main_~i~0_117 Int)) (and (<= 7 v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset|)) v_main_~i~0_117) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| 4)) (+ v_main_~i~0_117 1)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_117) |main_~#a~0.offset| (- 4))) 1) v_main_~i~0_117))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 5) (= |main_~#a~0.offset| 0)) (and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (exists ((v_prenex_35 Int) (v_main_~i~0_116 Int)) (and (<= 6 v_main_~i~0_116) (<= (+ v_main_~i~0_116 2) v_prenex_35) (= v_prenex_35 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset|))) (= v_prenex_35 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_35) |main_~#a~0.offset| (- 4))) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset|)) v_main_~i~0_116) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_116) |main_~#a~0.offset| 4)) v_main_~i~0_116))) (= main_~i~0 5) (= |main_~#a~0.offset| 0)) (and (exists ((v_prenex_30 Int) (v_prenex_32 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| (- 4))) 1) v_prenex_32) (<= 7 v_prenex_32) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset| 4)) v_prenex_32) (= v_prenex_30 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_30) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_32) |main_~#a~0.offset|)) v_prenex_32) (<= (+ v_prenex_32 1) v_prenex_30))) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |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); {12219#(and (= (* 4 main_~i~0) 20) (<= 5 |main_#t~mem4|))} is VALID [2018-11-23 12:25:16,149 INFO L256 TraceCheckUtils]: 86: Hoare triple {12219#(and (= (* 4 main_~i~0) 20) (<= 5 |main_#t~mem4|))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {12223#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:25:16,149 INFO L273 TraceCheckUtils]: 87: Hoare triple {12223#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {12227#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:25:16,150 INFO L273 TraceCheckUtils]: 88: Hoare triple {12227#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11913#false} is VALID [2018-11-23 12:25:16,150 INFO L273 TraceCheckUtils]: 89: Hoare triple {11913#false} assume !false; {11913#false} is VALID [2018-11-23 12:25:16,326 INFO L134 CoverageAnalysis]: Checked inductivity of 253 backedges. 20 proven. 205 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2018-11-23 12:25:16,346 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:25:16,346 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 29] total 52 [2018-11-23 12:25:16,347 INFO L78 Accepts]: Start accepts. Automaton has 52 states. Word has length 90 [2018-11-23 12:25:16,347 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:25:16,347 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 52 states. [2018-11-23 12:25:17,579 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 155 edges. 155 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:25:17,580 INFO L459 AbstractCegarLoop]: Interpolant automaton has 52 states [2018-11-23 12:25:17,580 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 52 interpolants. [2018-11-23 12:25:17,581 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=272, Invalid=2380, Unknown=0, NotChecked=0, Total=2652 [2018-11-23 12:25:17,581 INFO L87 Difference]: Start difference. First operand 197 states and 203 transitions. Second operand 52 states. [2018-11-23 12:25:22,470 WARN L180 SmtUtils]: Spent 366.00 ms on a formula simplification. DAG size of input: 122 DAG size of output: 118 [2018-11-23 12:25:22,981 WARN L180 SmtUtils]: Spent 184.00 ms on a formula simplification. DAG size of input: 115 DAG size of output: 111 [2018-11-23 12:25:24,487 WARN L180 SmtUtils]: Spent 737.00 ms on a formula simplification. DAG size of input: 125 DAG size of output: 121 [2018-11-23 12:25:25,080 WARN L180 SmtUtils]: Spent 167.00 ms on a formula simplification. DAG size of input: 112 DAG size of output: 108 [2018-11-23 12:25:39,074 WARN L180 SmtUtils]: Spent 237.00 ms on a formula simplification. DAG size of input: 124 DAG size of output: 117 [2018-11-23 12:25:39,814 WARN L180 SmtUtils]: Spent 123.00 ms on a formula simplification that was a NOOP. DAG size: 115 [2018-11-23 12:25:41,897 WARN L180 SmtUtils]: Spent 117.00 ms on a formula simplification that was a NOOP. DAG size: 115 [2018-11-23 12:25:43,779 WARN L180 SmtUtils]: Spent 122.00 ms on a formula simplification that was a NOOP. DAG size: 115 [2018-11-23 12:25:45,909 WARN L180 SmtUtils]: Spent 123.00 ms on a formula simplification that was a NOOP. DAG size: 116 [2018-11-23 12:25:48,215 WARN L180 SmtUtils]: Spent 117.00 ms on a formula simplification that was a NOOP. DAG size: 115 [2018-11-23 12:25:49,177 WARN L180 SmtUtils]: Spent 212.00 ms on a formula simplification. DAG size of input: 117 DAG size of output: 116 [2018-11-23 12:25:50,013 WARN L180 SmtUtils]: Spent 122.00 ms on a formula simplification. DAG size of input: 116 DAG size of output: 109