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/rewnifrev2_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 12:22:37,825 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:22:37,829 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:22:37,845 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:22:37,845 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:22:37,846 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:22:37,847 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:22:37,849 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:22:37,851 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:22:37,852 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:22:37,852 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:22:37,853 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:22:37,854 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:22:37,855 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:22:37,856 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:22:37,856 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:22:37,857 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:22:37,859 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:22:37,861 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:22:37,863 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:22:37,864 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:22:37,865 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:22:37,867 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:22:37,868 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:22:37,868 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:22:37,869 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:22:37,870 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:22:37,871 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:22:37,872 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:22:37,873 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:22:37,873 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:22:37,874 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:22:37,874 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:22:37,874 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:22:37,876 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:22:37,877 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:22:37,877 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:37,893 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:22:37,893 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:22:37,894 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:22:37,894 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 12:22:37,895 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:22:37,895 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:22:37,895 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 12:22:37,895 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:22:37,896 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:22:37,896 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:22:37,896 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:22:37,896 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:22:37,896 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:22:37,896 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:22:37,897 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:22:37,897 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:22:37,897 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:22:37,897 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:22:37,897 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:22:37,898 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:22:37,898 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 12:22:37,898 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:22:37,898 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 12:22:37,898 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:22:37,899 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:22:37,899 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:22:37,899 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:22:37,899 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 12:22:37,899 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:22:37,900 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:22:37,900 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 12:22:37,944 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:22:37,962 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:22:37,967 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:22:37,968 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:22:37,969 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:22:37,969 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-tiling/rewnifrev2_true-unreach-call.i [2018-11-23 12:22:38,048 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c56c21bb9/543ad7b152314597b0a78228cd02aa8d/FLAG50915c13d [2018-11-23 12:22:38,535 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:22:38,536 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-tiling/rewnifrev2_true-unreach-call.i [2018-11-23 12:22:38,545 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c56c21bb9/543ad7b152314597b0a78228cd02aa8d/FLAG50915c13d [2018-11-23 12:22:38,882 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c56c21bb9/543ad7b152314597b0a78228cd02aa8d [2018-11-23 12:22:38,894 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:22:38,895 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:22:38,896 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:22:38,897 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:22:38,901 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:22:38,902 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:22:38" (1/1) ... [2018-11-23 12:22:38,906 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2ef5bbb0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:38, skipping insertion in model container [2018-11-23 12:22:38,907 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:22:38" (1/1) ... [2018-11-23 12:22:38,918 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:22:38,946 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:22:39,180 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:22:39,186 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:22:39,218 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:22:39,242 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:22:39,242 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:39 WrapperNode [2018-11-23 12:22:39,242 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:22:39,243 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:22:39,244 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:22:39,244 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:22:39,254 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:39" (1/1) ... [2018-11-23 12:22:39,263 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:39" (1/1) ... [2018-11-23 12:22:39,272 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:22:39,272 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:22:39,273 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:22:39,273 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:22:39,283 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:39" (1/1) ... [2018-11-23 12:22:39,283 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:39" (1/1) ... [2018-11-23 12:22:39,285 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:39" (1/1) ... [2018-11-23 12:22:39,285 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:39" (1/1) ... [2018-11-23 12:22:39,295 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:39" (1/1) ... [2018-11-23 12:22:39,301 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:39" (1/1) ... [2018-11-23 12:22:39,303 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:39" (1/1) ... [2018-11-23 12:22:39,305 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:22:39,305 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:22:39,306 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:22:39,306 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:22:39,307 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:39" (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:39,427 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 12:22:39,427 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 12:22:39,428 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 12:22:39,428 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:22:39,428 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:22:39,428 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:22:39,428 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 12:22:39,428 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 12:22:39,428 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 12:22:39,428 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 12:22:39,429 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 12:22:39,429 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:22:39,920 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:22:39,920 INFO L280 CfgBuilder]: Removed 2 assue(true) statements. [2018-11-23 12:22:39,921 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:22:39 BoogieIcfgContainer [2018-11-23 12:22:39,921 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:22:39,922 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 12:22:39,922 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 12:22:39,926 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 12:22:39,926 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:22:38" (1/3) ... [2018-11-23 12:22:39,927 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7fbc7d47 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:22:39, skipping insertion in model container [2018-11-23 12:22:39,927 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:39" (2/3) ... [2018-11-23 12:22:39,928 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7fbc7d47 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:22:39, skipping insertion in model container [2018-11-23 12:22:39,928 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:22:39" (3/3) ... [2018-11-23 12:22:39,930 INFO L112 eAbstractionObserver]: Analyzing ICFG rewnifrev2_true-unreach-call.i [2018-11-23 12:22:39,941 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 12:22:39,950 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 12:22:39,965 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 12:22:39,998 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 12:22:39,999 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 12:22:39,999 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 12:22:39,999 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 12:22:39,999 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 12:22:40,000 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 12:22:40,000 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 12:22:40,000 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 12:22:40,000 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 12:22:40,021 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states. [2018-11-23 12:22:40,027 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 12:22:40,028 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:40,029 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:40,032 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:40,038 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:40,038 INFO L82 PathProgramCache]: Analyzing trace with hash 1279113652, now seen corresponding path program 1 times [2018-11-23 12:22:40,041 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:40,041 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:40,093 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:40,093 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:40,093 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:40,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:40,197 INFO L256 TraceCheckUtils]: 0: Hoare triple {29#true} call ULTIMATE.init(); {29#true} is VALID [2018-11-23 12:22:40,201 INFO L273 TraceCheckUtils]: 1: Hoare triple {29#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {29#true} is VALID [2018-11-23 12:22:40,202 INFO L273 TraceCheckUtils]: 2: Hoare triple {29#true} assume true; {29#true} is VALID [2018-11-23 12:22:40,202 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {29#true} {29#true} #56#return; {29#true} is VALID [2018-11-23 12:22:40,203 INFO L256 TraceCheckUtils]: 4: Hoare triple {29#true} call #t~ret5 := main(); {29#true} is VALID [2018-11-23 12:22:40,203 INFO L273 TraceCheckUtils]: 5: Hoare triple {29#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {29#true} is VALID [2018-11-23 12:22:40,204 INFO L273 TraceCheckUtils]: 6: Hoare triple {29#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {29#true} is VALID [2018-11-23 12:22:40,210 INFO L273 TraceCheckUtils]: 7: Hoare triple {29#true} assume !true; {30#false} is VALID [2018-11-23 12:22:40,211 INFO L273 TraceCheckUtils]: 8: Hoare triple {30#false} ~i~0 := 0; {30#false} is VALID [2018-11-23 12:22:40,211 INFO L273 TraceCheckUtils]: 9: Hoare triple {30#false} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {30#false} is VALID [2018-11-23 12:22:40,212 INFO L256 TraceCheckUtils]: 10: Hoare triple {30#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {30#false} is VALID [2018-11-23 12:22:40,213 INFO L273 TraceCheckUtils]: 11: Hoare triple {30#false} ~cond := #in~cond; {30#false} is VALID [2018-11-23 12:22:40,213 INFO L273 TraceCheckUtils]: 12: Hoare triple {30#false} assume 0 == ~cond; {30#false} is VALID [2018-11-23 12:22:40,213 INFO L273 TraceCheckUtils]: 13: Hoare triple {30#false} assume !false; {30#false} is VALID [2018-11-23 12:22:40,216 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:40,219 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:22:40,219 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 12:22:40,223 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 14 [2018-11-23 12:22:40,227 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:40,230 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 12:22:40,292 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:40,292 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 12:22:40,303 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 12:22:40,303 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:22:40,307 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 2 states. [2018-11-23 12:22:40,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:40,657 INFO L93 Difference]: Finished difference Result 43 states and 51 transitions. [2018-11-23 12:22:40,657 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 12:22:40,657 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 14 [2018-11-23 12:22:40,658 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:40,659 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:22:40,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 51 transitions. [2018-11-23 12:22:40,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:22:40,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 51 transitions. [2018-11-23 12:22:40,676 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 51 transitions. [2018-11-23 12:22:41,076 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:41,086 INFO L225 Difference]: With dead ends: 43 [2018-11-23 12:22:41,086 INFO L226 Difference]: Without dead ends: 20 [2018-11-23 12:22:41,090 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:41,105 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2018-11-23 12:22:41,170 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 20. [2018-11-23 12:22:41,170 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:41,171 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand 20 states. [2018-11-23 12:22:41,171 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 20 states. [2018-11-23 12:22:41,172 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 20 states. [2018-11-23 12:22:41,175 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:41,175 INFO L93 Difference]: Finished difference Result 20 states and 21 transitions. [2018-11-23 12:22:41,175 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 21 transitions. [2018-11-23 12:22:41,176 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:41,176 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:41,176 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 20 states. [2018-11-23 12:22:41,176 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 20 states. [2018-11-23 12:22:41,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:41,180 INFO L93 Difference]: Finished difference Result 20 states and 21 transitions. [2018-11-23 12:22:41,180 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 21 transitions. [2018-11-23 12:22:41,181 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:41,181 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:41,181 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:41,181 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:41,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:22:41,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 21 transitions. [2018-11-23 12:22:41,186 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 21 transitions. Word has length 14 [2018-11-23 12:22:41,186 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:41,186 INFO L480 AbstractCegarLoop]: Abstraction has 20 states and 21 transitions. [2018-11-23 12:22:41,186 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 12:22:41,186 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 21 transitions. [2018-11-23 12:22:41,187 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 12:22:41,187 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:41,187 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:41,188 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:41,188 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:41,188 INFO L82 PathProgramCache]: Analyzing trace with hash 249058862, now seen corresponding path program 1 times [2018-11-23 12:22:41,189 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:41,189 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:41,190 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:41,190 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:41,190 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:41,208 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:41,271 INFO L256 TraceCheckUtils]: 0: Hoare triple {155#true} call ULTIMATE.init(); {155#true} is VALID [2018-11-23 12:22:41,272 INFO L273 TraceCheckUtils]: 1: Hoare triple {155#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {155#true} is VALID [2018-11-23 12:22:41,272 INFO L273 TraceCheckUtils]: 2: Hoare triple {155#true} assume true; {155#true} is VALID [2018-11-23 12:22:41,273 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {155#true} {155#true} #56#return; {155#true} is VALID [2018-11-23 12:22:41,273 INFO L256 TraceCheckUtils]: 4: Hoare triple {155#true} call #t~ret5 := main(); {155#true} is VALID [2018-11-23 12:22:41,273 INFO L273 TraceCheckUtils]: 5: Hoare triple {155#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {155#true} is VALID [2018-11-23 12:22:41,275 INFO L273 TraceCheckUtils]: 6: Hoare triple {155#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {157#(<= 0 main_~i~0)} is VALID [2018-11-23 12:22:41,278 INFO L273 TraceCheckUtils]: 7: Hoare triple {157#(<= 0 main_~i~0)} assume !(~i~0 >= 0); {156#false} is VALID [2018-11-23 12:22:41,279 INFO L273 TraceCheckUtils]: 8: Hoare triple {156#false} ~i~0 := 0; {156#false} is VALID [2018-11-23 12:22:41,279 INFO L273 TraceCheckUtils]: 9: Hoare triple {156#false} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {156#false} is VALID [2018-11-23 12:22:41,279 INFO L256 TraceCheckUtils]: 10: Hoare triple {156#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {156#false} is VALID [2018-11-23 12:22:41,280 INFO L273 TraceCheckUtils]: 11: Hoare triple {156#false} ~cond := #in~cond; {156#false} is VALID [2018-11-23 12:22:41,280 INFO L273 TraceCheckUtils]: 12: Hoare triple {156#false} assume 0 == ~cond; {156#false} is VALID [2018-11-23 12:22:41,281 INFO L273 TraceCheckUtils]: 13: Hoare triple {156#false} assume !false; {156#false} is VALID [2018-11-23 12:22:41,282 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:41,283 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:22:41,283 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:22:41,284 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 14 [2018-11-23 12:22:41,285 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:41,285 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:22:41,335 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:41,335 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:22:41,335 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:22:41,335 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:22:41,336 INFO L87 Difference]: Start difference. First operand 20 states and 21 transitions. Second operand 3 states. [2018-11-23 12:22:41,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:41,529 INFO L93 Difference]: Finished difference Result 32 states and 34 transitions. [2018-11-23 12:22:41,529 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:22:41,530 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 14 [2018-11-23 12:22:41,530 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:41,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:22:41,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 34 transitions. [2018-11-23 12:22:41,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:22:41,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 34 transitions. [2018-11-23 12:22:41,542 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 34 transitions. [2018-11-23 12:22:41,640 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:41,642 INFO L225 Difference]: With dead ends: 32 [2018-11-23 12:22:41,642 INFO L226 Difference]: Without dead ends: 21 [2018-11-23 12:22:41,643 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:41,644 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2018-11-23 12:22:41,660 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 21. [2018-11-23 12:22:41,660 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:41,661 INFO L82 GeneralOperation]: Start isEquivalent. First operand 21 states. Second operand 21 states. [2018-11-23 12:22:41,661 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 21 states. [2018-11-23 12:22:41,661 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 21 states. [2018-11-23 12:22:41,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:41,663 INFO L93 Difference]: Finished difference Result 21 states and 22 transitions. [2018-11-23 12:22:41,664 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2018-11-23 12:22:41,664 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:41,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:41,664 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 21 states. [2018-11-23 12:22:41,665 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 21 states. [2018-11-23 12:22:41,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:41,667 INFO L93 Difference]: Finished difference Result 21 states and 22 transitions. [2018-11-23 12:22:41,667 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2018-11-23 12:22:41,667 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:41,667 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:41,668 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:41,668 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:41,668 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:22:41,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 22 transitions. [2018-11-23 12:22:41,670 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 22 transitions. Word has length 14 [2018-11-23 12:22:41,670 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:41,670 INFO L480 AbstractCegarLoop]: Abstraction has 21 states and 22 transitions. [2018-11-23 12:22:41,670 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:22:41,671 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2018-11-23 12:22:41,671 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 12:22:41,671 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:41,672 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:41,672 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:41,672 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:41,672 INFO L82 PathProgramCache]: Analyzing trace with hash -1260861268, now seen corresponding path program 1 times [2018-11-23 12:22:41,673 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:41,673 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:41,674 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:41,674 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:41,674 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:41,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:42,064 WARN L180 SmtUtils]: Spent 155.00 ms on a formula simplification. DAG size of input: 22 DAG size of output: 3 [2018-11-23 12:22:42,500 WARN L180 SmtUtils]: Spent 242.00 ms on a formula simplification. DAG size of input: 39 DAG size of output: 18 [2018-11-23 12:22:42,837 INFO L256 TraceCheckUtils]: 0: Hoare triple {276#true} call ULTIMATE.init(); {276#true} is VALID [2018-11-23 12:22:42,837 INFO L273 TraceCheckUtils]: 1: Hoare triple {276#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {276#true} is VALID [2018-11-23 12:22:42,838 INFO L273 TraceCheckUtils]: 2: Hoare triple {276#true} assume true; {276#true} is VALID [2018-11-23 12:22:42,838 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {276#true} {276#true} #56#return; {276#true} is VALID [2018-11-23 12:22:42,838 INFO L256 TraceCheckUtils]: 4: Hoare triple {276#true} call #t~ret5 := main(); {276#true} is VALID [2018-11-23 12:22:42,838 INFO L273 TraceCheckUtils]: 5: Hoare triple {276#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {276#true} is VALID [2018-11-23 12:22:42,839 INFO L273 TraceCheckUtils]: 6: Hoare triple {276#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {278#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:22:42,840 INFO L273 TraceCheckUtils]: 7: Hoare triple {278#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {279#(and (or (< 0 main_~i~0) (= 0 main_~i~0)) (or (= 0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (not (= 0 main_~i~0))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:42,841 INFO L273 TraceCheckUtils]: 8: Hoare triple {279#(and (or (< 0 main_~i~0) (= 0 main_~i~0)) (or (= 0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (not (= 0 main_~i~0))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {280#(and (or (<= 0 main_~i~0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:42,843 INFO L273 TraceCheckUtils]: 9: Hoare triple {280#(and (or (<= 0 main_~i~0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (= |main_~#a~0.offset| 0))} assume !(~i~0 >= 0); {281#(and (= |main_~#a~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0)))} is VALID [2018-11-23 12:22:42,844 INFO L273 TraceCheckUtils]: 10: Hoare triple {281#(and (= |main_~#a~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0)))} ~i~0 := 0; {282#(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,845 INFO L273 TraceCheckUtils]: 11: Hoare triple {282#(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); {283#(and (= |main_#t~mem4| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:42,847 INFO L256 TraceCheckUtils]: 12: Hoare triple {283#(and (= |main_#t~mem4| 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {284#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:22:42,849 INFO L273 TraceCheckUtils]: 13: Hoare triple {284#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {285#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-23 12:22:42,850 INFO L273 TraceCheckUtils]: 14: Hoare triple {285#(= __VERIFIER_assert_~cond 1)} assume 0 == ~cond; {277#false} is VALID [2018-11-23 12:22:42,850 INFO L273 TraceCheckUtils]: 15: Hoare triple {277#false} assume !false; {277#false} is VALID [2018-11-23 12:22:42,853 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:42,853 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:22:42,853 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2018-11-23 12:22:42,854 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 16 [2018-11-23 12:22:42,854 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:42,854 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-23 12:22:42,887 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:42,887 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 12:22:42,888 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 12:22:42,888 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2018-11-23 12:22:42,889 INFO L87 Difference]: Start difference. First operand 21 states and 22 transitions. Second operand 10 states. [2018-11-23 12:22:43,358 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:43,359 INFO L93 Difference]: Finished difference Result 31 states and 32 transitions. [2018-11-23 12:22:43,359 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 12:22:43,359 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 16 [2018-11-23 12:22:43,360 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:43,360 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 12:22:43,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 31 transitions. [2018-11-23 12:22:43,362 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 12:22:43,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 31 transitions. [2018-11-23 12:22:43,365 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 31 transitions. [2018-11-23 12:22:43,411 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:43,414 INFO L225 Difference]: With dead ends: 31 [2018-11-23 12:22:43,414 INFO L226 Difference]: Without dead ends: 29 [2018-11-23 12:22:43,415 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=46, Invalid=110, Unknown=0, NotChecked=0, Total=156 [2018-11-23 12:22:43,416 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2018-11-23 12:22:43,480 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 27. [2018-11-23 12:22:43,480 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:43,480 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 27 states. [2018-11-23 12:22:43,481 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 27 states. [2018-11-23 12:22:43,481 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 27 states. [2018-11-23 12:22:43,483 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:43,483 INFO L93 Difference]: Finished difference Result 29 states and 30 transitions. [2018-11-23 12:22:43,484 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 30 transitions. [2018-11-23 12:22:43,484 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:43,484 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:43,484 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 29 states. [2018-11-23 12:22:43,485 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 29 states. [2018-11-23 12:22:43,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:43,487 INFO L93 Difference]: Finished difference Result 29 states and 30 transitions. [2018-11-23 12:22:43,487 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 30 transitions. [2018-11-23 12:22:43,488 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:43,488 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:43,488 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:43,488 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:43,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 12:22:43,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 28 transitions. [2018-11-23 12:22:43,491 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 28 transitions. Word has length 16 [2018-11-23 12:22:43,491 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:43,491 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 28 transitions. [2018-11-23 12:22:43,492 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 12:22:43,492 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 28 transitions. [2018-11-23 12:22:43,493 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-23 12:22:43,493 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:43,493 INFO L402 BasicCegarLoop]: trace histogram [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:43,493 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:43,494 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:43,494 INFO L82 PathProgramCache]: Analyzing trace with hash 1302703327, now seen corresponding path program 1 times [2018-11-23 12:22:43,494 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:43,494 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:43,495 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:43,495 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:43,495 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:43,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:43,910 INFO L256 TraceCheckUtils]: 0: Hoare triple {434#true} call ULTIMATE.init(); {434#true} is VALID [2018-11-23 12:22:43,910 INFO L273 TraceCheckUtils]: 1: Hoare triple {434#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {434#true} is VALID [2018-11-23 12:22:43,911 INFO L273 TraceCheckUtils]: 2: Hoare triple {434#true} assume true; {434#true} is VALID [2018-11-23 12:22:43,911 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {434#true} {434#true} #56#return; {434#true} is VALID [2018-11-23 12:22:43,912 INFO L256 TraceCheckUtils]: 4: Hoare triple {434#true} call #t~ret5 := main(); {434#true} is VALID [2018-11-23 12:22:43,912 INFO L273 TraceCheckUtils]: 5: Hoare triple {434#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {434#true} is VALID [2018-11-23 12:22:43,913 INFO L273 TraceCheckUtils]: 6: Hoare triple {434#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {434#true} is VALID [2018-11-23 12:22:43,918 INFO L273 TraceCheckUtils]: 7: Hoare triple {434#true} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {436#(and (or (< 0 main_~i~0) (= main_~i~0 0)) (or (not (= main_~i~0 0)) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4)))))} is VALID [2018-11-23 12:22:43,919 INFO L273 TraceCheckUtils]: 8: Hoare triple {436#(and (or (< 0 main_~i~0) (= main_~i~0 0)) (or (not (= main_~i~0 0)) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4)))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {437#(or (<= 0 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))))} is VALID [2018-11-23 12:22:43,920 INFO L273 TraceCheckUtils]: 9: Hoare triple {437#(or (<= 0 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))))} assume !(~i~0 >= 0); {438#(= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))))} is VALID [2018-11-23 12:22:43,920 INFO L273 TraceCheckUtils]: 10: Hoare triple {438#(= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))))} ~i~0 := 0; {439#(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:43,921 INFO L273 TraceCheckUtils]: 11: Hoare triple {439#(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); {439#(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:43,922 INFO L256 TraceCheckUtils]: 12: Hoare triple {439#(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)); {434#true} is VALID [2018-11-23 12:22:43,926 INFO L273 TraceCheckUtils]: 13: Hoare triple {434#true} ~cond := #in~cond; {440#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:22:43,926 INFO L273 TraceCheckUtils]: 14: Hoare triple {440#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {441#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:22:43,927 INFO L273 TraceCheckUtils]: 15: Hoare triple {441#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {441#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:22:43,928 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {441#(not (= |__VERIFIER_assert_#in~cond| 0))} {439#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} #60#return; {439#(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:43,928 INFO L273 TraceCheckUtils]: 17: Hoare triple {439#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} havoc #t~mem4; {439#(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:43,931 INFO L273 TraceCheckUtils]: 18: Hoare triple {439#(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; {442#(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:43,932 INFO L273 TraceCheckUtils]: 19: Hoare triple {442#(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); {443#(and (<= main_~i~0 1) (= |main_#t~mem4| 1))} is VALID [2018-11-23 12:22:43,934 INFO L256 TraceCheckUtils]: 20: Hoare triple {443#(and (<= main_~i~0 1) (= |main_#t~mem4| 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {441#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:22:43,934 INFO L273 TraceCheckUtils]: 21: Hoare triple {441#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {444#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:22:43,935 INFO L273 TraceCheckUtils]: 22: Hoare triple {444#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {435#false} is VALID [2018-11-23 12:22:43,935 INFO L273 TraceCheckUtils]: 23: Hoare triple {435#false} assume !false; {435#false} is VALID [2018-11-23 12:22:43,937 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:22:43,938 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:43,938 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:43,954 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:43,977 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:44,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:44,016 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:44,202 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 25 treesize of output 22 [2018-11-23 12:22:44,221 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 25 [2018-11-23 12:22:44,233 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:44,242 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:44,243 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 25 treesize of output 53 [2018-11-23 12:22:44,247 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:44,262 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:44,317 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:44,326 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:44,327 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:29, output treesize:29 [2018-11-23 12:22:45,810 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 37 treesize of output 31 [2018-11-23 12:22:45,910 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:45,933 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:45,942 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:22:45,953 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:45,955 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 31 treesize of output 49 [2018-11-23 12:22:45,961 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:45,970 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,984 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:45,984 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:46, output treesize:7 [2018-11-23 12:22:45,987 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:45,988 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, |main_~#a~0.offset|, v_main_~i~0_14]. (let ((.cse1 (* 4 v_main_~i~0_14)) (.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (<= v_main_~i~0_14 0) (= main_~i~0 1) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14) (= v_main_~i~0_14 (select .cse0 (+ .cse1 |main_~#a~0.offset|))) (<= (select .cse0 (+ (* 4 main_~i~0) |main_~#a~0.offset|)) |main_#t~mem4|))) [2018-11-23 12:22:45,988 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 1 |main_#t~mem4|) (= main_~i~0 1)) [2018-11-23 12:22:46,127 INFO L256 TraceCheckUtils]: 0: Hoare triple {434#true} call ULTIMATE.init(); {434#true} is VALID [2018-11-23 12:22:46,128 INFO L273 TraceCheckUtils]: 1: Hoare triple {434#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {434#true} is VALID [2018-11-23 12:22:46,128 INFO L273 TraceCheckUtils]: 2: Hoare triple {434#true} assume true; {434#true} is VALID [2018-11-23 12:22:46,128 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {434#true} {434#true} #56#return; {434#true} is VALID [2018-11-23 12:22:46,129 INFO L256 TraceCheckUtils]: 4: Hoare triple {434#true} call #t~ret5 := main(); {434#true} is VALID [2018-11-23 12:22:46,129 INFO L273 TraceCheckUtils]: 5: Hoare triple {434#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {434#true} is VALID [2018-11-23 12:22:46,130 INFO L273 TraceCheckUtils]: 6: Hoare triple {434#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {434#true} is VALID [2018-11-23 12:22:46,132 INFO L273 TraceCheckUtils]: 7: Hoare triple {434#true} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {469#(and (<= 0 main_~i~0) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 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:22:46,136 INFO L273 TraceCheckUtils]: 8: Hoare triple {469#(and (<= 0 main_~i~0) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {473#(exists ((v_main_~i~0_14 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14) (<= v_main_~i~0_14 (+ main_~i~0 1)) (= v_main_~i~0_14 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset|)))))} is VALID [2018-11-23 12:22:46,150 INFO L273 TraceCheckUtils]: 9: Hoare triple {473#(exists ((v_main_~i~0_14 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14) (<= v_main_~i~0_14 (+ main_~i~0 1)) (= v_main_~i~0_14 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset|)))))} assume !(~i~0 >= 0); {477#(exists ((v_main_~i~0_14 Int)) (and (<= v_main_~i~0_14 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14) (= v_main_~i~0_14 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset|)))))} is VALID [2018-11-23 12:22:46,153 INFO L273 TraceCheckUtils]: 10: Hoare triple {477#(exists ((v_main_~i~0_14 Int)) (and (<= v_main_~i~0_14 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14) (= v_main_~i~0_14 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset|)))))} ~i~0 := 0; {481#(and (exists ((v_main_~i~0_14 Int)) (and (<= v_main_~i~0_14 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14) (= v_main_~i~0_14 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset|))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:46,154 INFO L273 TraceCheckUtils]: 11: Hoare triple {481#(and (exists ((v_main_~i~0_14 Int)) (and (<= v_main_~i~0_14 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14) (= v_main_~i~0_14 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset|))))) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {481#(and (exists ((v_main_~i~0_14 Int)) (and (<= v_main_~i~0_14 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14) (= v_main_~i~0_14 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset|))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:46,160 INFO L256 TraceCheckUtils]: 12: Hoare triple {481#(and (exists ((v_main_~i~0_14 Int)) (and (<= v_main_~i~0_14 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14) (= v_main_~i~0_14 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset|))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {488#(exists ((v_main_~i~0_14 Int) (|v_main_~#a~0.offset_BEFORE_CALL_1| Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (<= v_main_~i~0_14 0) (= v_main_~i~0_14 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_14) |v_main_~#a~0.offset_BEFORE_CALL_1|))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_14) |v_main_~#a~0.offset_BEFORE_CALL_1| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14)))} is VALID [2018-11-23 12:22:46,165 INFO L273 TraceCheckUtils]: 13: Hoare triple {488#(exists ((v_main_~i~0_14 Int) (|v_main_~#a~0.offset_BEFORE_CALL_1| Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (<= v_main_~i~0_14 0) (= v_main_~i~0_14 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_14) |v_main_~#a~0.offset_BEFORE_CALL_1|))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_14) |v_main_~#a~0.offset_BEFORE_CALL_1| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14)))} ~cond := #in~cond; {492#(and (exists ((v_main_~i~0_14 Int) (|v_main_~#a~0.offset_BEFORE_CALL_1| Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (<= v_main_~i~0_14 0) (= v_main_~i~0_14 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_14) |v_main_~#a~0.offset_BEFORE_CALL_1|))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_14) |v_main_~#a~0.offset_BEFORE_CALL_1| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:22:46,166 INFO L273 TraceCheckUtils]: 14: Hoare triple {492#(and (exists ((v_main_~i~0_14 Int) (|v_main_~#a~0.offset_BEFORE_CALL_1| Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (<= v_main_~i~0_14 0) (= v_main_~i~0_14 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_14) |v_main_~#a~0.offset_BEFORE_CALL_1|))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_14) |v_main_~#a~0.offset_BEFORE_CALL_1| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {496#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_14 Int) (|v_main_~#a~0.offset_BEFORE_CALL_1| Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (<= v_main_~i~0_14 0) (= v_main_~i~0_14 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_14) |v_main_~#a~0.offset_BEFORE_CALL_1|))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_14) |v_main_~#a~0.offset_BEFORE_CALL_1| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14))))} is VALID [2018-11-23 12:22:46,167 INFO L273 TraceCheckUtils]: 15: Hoare triple {496#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_14 Int) (|v_main_~#a~0.offset_BEFORE_CALL_1| Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (<= v_main_~i~0_14 0) (= v_main_~i~0_14 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_14) |v_main_~#a~0.offset_BEFORE_CALL_1|))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_14) |v_main_~#a~0.offset_BEFORE_CALL_1| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14))))} assume true; {496#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_14 Int) (|v_main_~#a~0.offset_BEFORE_CALL_1| Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (<= v_main_~i~0_14 0) (= v_main_~i~0_14 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_14) |v_main_~#a~0.offset_BEFORE_CALL_1|))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_14) |v_main_~#a~0.offset_BEFORE_CALL_1| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14))))} is VALID [2018-11-23 12:22:46,168 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {496#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_14 Int) (|v_main_~#a~0.offset_BEFORE_CALL_1| Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (<= v_main_~i~0_14 0) (= v_main_~i~0_14 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_14) |v_main_~#a~0.offset_BEFORE_CALL_1|))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_14) |v_main_~#a~0.offset_BEFORE_CALL_1| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14))))} {481#(and (exists ((v_main_~i~0_14 Int)) (and (<= v_main_~i~0_14 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14) (= v_main_~i~0_14 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset|))))) (= main_~i~0 0))} #60#return; {481#(and (exists ((v_main_~i~0_14 Int)) (and (<= v_main_~i~0_14 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14) (= v_main_~i~0_14 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset|))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:46,170 INFO L273 TraceCheckUtils]: 17: Hoare triple {481#(and (exists ((v_main_~i~0_14 Int)) (and (<= v_main_~i~0_14 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14) (= v_main_~i~0_14 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset|))))) (= main_~i~0 0))} havoc #t~mem4; {481#(and (exists ((v_main_~i~0_14 Int)) (and (<= v_main_~i~0_14 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14) (= v_main_~i~0_14 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset|))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:46,171 INFO L273 TraceCheckUtils]: 18: Hoare triple {481#(and (exists ((v_main_~i~0_14 Int)) (and (<= v_main_~i~0_14 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14) (= v_main_~i~0_14 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset|))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {509#(and (= main_~i~0 1) (exists ((v_main_~i~0_14 Int)) (and (<= v_main_~i~0_14 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14) (= v_main_~i~0_14 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset|))))))} is VALID [2018-11-23 12:22:46,172 INFO L273 TraceCheckUtils]: 19: Hoare triple {509#(and (= main_~i~0 1) (exists ((v_main_~i~0_14 Int)) (and (<= v_main_~i~0_14 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset| 4)) (+ v_main_~i~0_14 1)) (<= 0 v_main_~i~0_14) (= v_main_~i~0_14 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_14) |main_~#a~0.offset|))))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {513#(and (<= 1 |main_#t~mem4|) (= main_~i~0 1))} is VALID [2018-11-23 12:22:46,174 INFO L256 TraceCheckUtils]: 20: Hoare triple {513#(and (<= 1 |main_#t~mem4|) (= main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {517#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:22:46,176 INFO L273 TraceCheckUtils]: 21: Hoare triple {517#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {521#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:22:46,176 INFO L273 TraceCheckUtils]: 22: Hoare triple {521#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {435#false} is VALID [2018-11-23 12:22:46,176 INFO L273 TraceCheckUtils]: 23: Hoare triple {435#false} assume !false; {435#false} is VALID [2018-11-23 12:22:46,181 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:22:46,204 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:46,205 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 13] total 22 [2018-11-23 12:22:46,205 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 24 [2018-11-23 12:22:46,206 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:46,206 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-23 12:22:46,289 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:46,289 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-23 12:22:46,289 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-23 12:22:46,290 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=386, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:22:46,290 INFO L87 Difference]: Start difference. First operand 27 states and 28 transitions. Second operand 22 states. [2018-11-23 12:22:48,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:48,671 INFO L93 Difference]: Finished difference Result 39 states and 40 transitions. [2018-11-23 12:22:48,671 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 12:22:48,671 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 24 [2018-11-23 12:22:48,672 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:48,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:22:48,675 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 37 transitions. [2018-11-23 12:22:48,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:22:48,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 37 transitions. [2018-11-23 12:22:48,678 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 37 transitions. [2018-11-23 12:22:49,824 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 36 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:49,827 INFO L225 Difference]: With dead ends: 39 [2018-11-23 12:22:49,827 INFO L226 Difference]: Without dead ends: 37 [2018-11-23 12:22:49,828 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 14 SyntacticMatches, 3 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 173 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=136, Invalid=620, Unknown=0, NotChecked=0, Total=756 [2018-11-23 12:22:49,829 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2018-11-23 12:22:49,884 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 35. [2018-11-23 12:22:49,884 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:49,884 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 35 states. [2018-11-23 12:22:49,884 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 35 states. [2018-11-23 12:22:49,885 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 35 states. [2018-11-23 12:22:49,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:49,889 INFO L93 Difference]: Finished difference Result 37 states and 38 transitions. [2018-11-23 12:22:49,889 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 38 transitions. [2018-11-23 12:22:49,890 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:49,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:49,890 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 37 states. [2018-11-23 12:22:49,890 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 37 states. [2018-11-23 12:22:49,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:49,892 INFO L93 Difference]: Finished difference Result 37 states and 38 transitions. [2018-11-23 12:22:49,893 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 38 transitions. [2018-11-23 12:22:49,893 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:49,893 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:49,894 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:49,894 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:49,894 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2018-11-23 12:22:49,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 36 transitions. [2018-11-23 12:22:49,896 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 36 transitions. Word has length 24 [2018-11-23 12:22:49,896 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:49,896 INFO L480 AbstractCegarLoop]: Abstraction has 35 states and 36 transitions. [2018-11-23 12:22:49,896 INFO L481 AbstractCegarLoop]: Interpolant automaton has 22 states. [2018-11-23 12:22:49,897 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 36 transitions. [2018-11-23 12:22:49,898 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 12:22:49,898 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:49,898 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:49,898 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:49,899 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:49,899 INFO L82 PathProgramCache]: Analyzing trace with hash -688869870, now seen corresponding path program 2 times [2018-11-23 12:22:49,899 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:49,899 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:49,900 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:49,900 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:49,900 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:49,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:50,062 INFO L256 TraceCheckUtils]: 0: Hoare triple {717#true} call ULTIMATE.init(); {717#true} is VALID [2018-11-23 12:22:50,063 INFO L273 TraceCheckUtils]: 1: Hoare triple {717#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {717#true} is VALID [2018-11-23 12:22:50,063 INFO L273 TraceCheckUtils]: 2: Hoare triple {717#true} assume true; {717#true} is VALID [2018-11-23 12:22:50,063 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {717#true} {717#true} #56#return; {717#true} is VALID [2018-11-23 12:22:50,063 INFO L256 TraceCheckUtils]: 4: Hoare triple {717#true} call #t~ret5 := main(); {717#true} is VALID [2018-11-23 12:22:50,064 INFO L273 TraceCheckUtils]: 5: Hoare triple {717#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {717#true} is VALID [2018-11-23 12:22:50,064 INFO L273 TraceCheckUtils]: 6: Hoare triple {717#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {719#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:22:50,065 INFO L273 TraceCheckUtils]: 7: Hoare triple {719#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {719#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:22:50,066 INFO L273 TraceCheckUtils]: 8: Hoare triple {719#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {720#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:22:50,067 INFO L273 TraceCheckUtils]: 9: Hoare triple {720#(<= ~SIZE~0 (+ main_~i~0 3))} assume !(~i~0 >= 0); {721#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:50,067 INFO L273 TraceCheckUtils]: 10: Hoare triple {721#(<= ~SIZE~0 2)} ~i~0 := 0; {722#(and (<= ~SIZE~0 2) (= main_~i~0 0))} is VALID [2018-11-23 12:22:50,068 INFO L273 TraceCheckUtils]: 11: Hoare triple {722#(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); {722#(and (<= ~SIZE~0 2) (= main_~i~0 0))} is VALID [2018-11-23 12:22:50,068 INFO L256 TraceCheckUtils]: 12: Hoare triple {722#(and (<= ~SIZE~0 2) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {717#true} is VALID [2018-11-23 12:22:50,069 INFO L273 TraceCheckUtils]: 13: Hoare triple {717#true} ~cond := #in~cond; {717#true} is VALID [2018-11-23 12:22:50,069 INFO L273 TraceCheckUtils]: 14: Hoare triple {717#true} assume !(0 == ~cond); {717#true} is VALID [2018-11-23 12:22:50,070 INFO L273 TraceCheckUtils]: 15: Hoare triple {717#true} assume true; {717#true} is VALID [2018-11-23 12:22:50,075 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {717#true} {722#(and (<= ~SIZE~0 2) (= main_~i~0 0))} #60#return; {722#(and (<= ~SIZE~0 2) (= main_~i~0 0))} is VALID [2018-11-23 12:22:50,075 INFO L273 TraceCheckUtils]: 17: Hoare triple {722#(and (<= ~SIZE~0 2) (= main_~i~0 0))} havoc #t~mem4; {722#(and (<= ~SIZE~0 2) (= main_~i~0 0))} is VALID [2018-11-23 12:22:50,076 INFO L273 TraceCheckUtils]: 18: Hoare triple {722#(and (<= ~SIZE~0 2) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {723#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:22:50,076 INFO L273 TraceCheckUtils]: 19: Hoare triple {723#(<= ~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); {723#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:22:50,077 INFO L256 TraceCheckUtils]: 20: Hoare triple {723#(<= ~SIZE~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {717#true} is VALID [2018-11-23 12:22:50,077 INFO L273 TraceCheckUtils]: 21: Hoare triple {717#true} ~cond := #in~cond; {717#true} is VALID [2018-11-23 12:22:50,077 INFO L273 TraceCheckUtils]: 22: Hoare triple {717#true} assume !(0 == ~cond); {717#true} is VALID [2018-11-23 12:22:50,077 INFO L273 TraceCheckUtils]: 23: Hoare triple {717#true} assume true; {717#true} is VALID [2018-11-23 12:22:50,078 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {717#true} {723#(<= ~SIZE~0 (+ main_~i~0 1))} #60#return; {723#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:22:50,080 INFO L273 TraceCheckUtils]: 25: Hoare triple {723#(<= ~SIZE~0 (+ main_~i~0 1))} havoc #t~mem4; {723#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:22:50,081 INFO L273 TraceCheckUtils]: 26: Hoare triple {723#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {724#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-23 12:22:50,082 INFO L273 TraceCheckUtils]: 27: Hoare triple {724#(<= ~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); {718#false} is VALID [2018-11-23 12:22:50,082 INFO L256 TraceCheckUtils]: 28: Hoare triple {718#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {718#false} is VALID [2018-11-23 12:22:50,082 INFO L273 TraceCheckUtils]: 29: Hoare triple {718#false} ~cond := #in~cond; {718#false} is VALID [2018-11-23 12:22:50,082 INFO L273 TraceCheckUtils]: 30: Hoare triple {718#false} assume 0 == ~cond; {718#false} is VALID [2018-11-23 12:22:50,083 INFO L273 TraceCheckUtils]: 31: Hoare triple {718#false} assume !false; {718#false} is VALID [2018-11-23 12:22:50,085 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 7 proven. 6 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:22:50,085 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:50,085 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:50,101 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:22:50,138 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:22:50,139 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:22:50,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:50,153 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:50,350 INFO L256 TraceCheckUtils]: 0: Hoare triple {717#true} call ULTIMATE.init(); {717#true} is VALID [2018-11-23 12:22:50,350 INFO L273 TraceCheckUtils]: 1: Hoare triple {717#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {717#true} is VALID [2018-11-23 12:22:50,351 INFO L273 TraceCheckUtils]: 2: Hoare triple {717#true} assume true; {717#true} is VALID [2018-11-23 12:22:50,351 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {717#true} {717#true} #56#return; {717#true} is VALID [2018-11-23 12:22:50,351 INFO L256 TraceCheckUtils]: 4: Hoare triple {717#true} call #t~ret5 := main(); {717#true} is VALID [2018-11-23 12:22:50,352 INFO L273 TraceCheckUtils]: 5: Hoare triple {717#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {717#true} is VALID [2018-11-23 12:22:50,353 INFO L273 TraceCheckUtils]: 6: Hoare triple {717#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {719#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:22:50,354 INFO L273 TraceCheckUtils]: 7: Hoare triple {719#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {719#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:22:50,354 INFO L273 TraceCheckUtils]: 8: Hoare triple {719#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {720#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:22:50,355 INFO L273 TraceCheckUtils]: 9: Hoare triple {720#(<= ~SIZE~0 (+ main_~i~0 3))} assume !(~i~0 >= 0); {721#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:50,355 INFO L273 TraceCheckUtils]: 10: Hoare triple {721#(<= ~SIZE~0 2)} ~i~0 := 0; {758#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:22:50,356 INFO L273 TraceCheckUtils]: 11: Hoare triple {758#(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); {758#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:22:50,357 INFO L256 TraceCheckUtils]: 12: Hoare triple {758#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {721#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:50,358 INFO L273 TraceCheckUtils]: 13: Hoare triple {721#(<= ~SIZE~0 2)} ~cond := #in~cond; {721#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:50,358 INFO L273 TraceCheckUtils]: 14: Hoare triple {721#(<= ~SIZE~0 2)} assume !(0 == ~cond); {721#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:50,359 INFO L273 TraceCheckUtils]: 15: Hoare triple {721#(<= ~SIZE~0 2)} assume true; {721#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:50,361 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {721#(<= ~SIZE~0 2)} {758#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} #60#return; {758#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:22:50,362 INFO L273 TraceCheckUtils]: 17: Hoare triple {758#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} havoc #t~mem4; {758#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:22:50,363 INFO L273 TraceCheckUtils]: 18: Hoare triple {758#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {783#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:22:50,364 INFO L273 TraceCheckUtils]: 19: Hoare triple {783#(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); {783#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:22:50,365 INFO L256 TraceCheckUtils]: 20: Hoare triple {783#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {721#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:50,365 INFO L273 TraceCheckUtils]: 21: Hoare triple {721#(<= ~SIZE~0 2)} ~cond := #in~cond; {721#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:50,366 INFO L273 TraceCheckUtils]: 22: Hoare triple {721#(<= ~SIZE~0 2)} assume !(0 == ~cond); {721#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:50,366 INFO L273 TraceCheckUtils]: 23: Hoare triple {721#(<= ~SIZE~0 2)} assume true; {721#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:22:50,367 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {721#(<= ~SIZE~0 2)} {783#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} #60#return; {783#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:22:50,368 INFO L273 TraceCheckUtils]: 25: Hoare triple {783#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} havoc #t~mem4; {783#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:22:50,369 INFO L273 TraceCheckUtils]: 26: Hoare triple {783#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {808#(and (<= 2 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:22:50,370 INFO L273 TraceCheckUtils]: 27: Hoare triple {808#(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); {718#false} is VALID [2018-11-23 12:22:50,370 INFO L256 TraceCheckUtils]: 28: Hoare triple {718#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {718#false} is VALID [2018-11-23 12:22:50,370 INFO L273 TraceCheckUtils]: 29: Hoare triple {718#false} ~cond := #in~cond; {718#false} is VALID [2018-11-23 12:22:50,371 INFO L273 TraceCheckUtils]: 30: Hoare triple {718#false} assume 0 == ~cond; {718#false} is VALID [2018-11-23 12:22:50,371 INFO L273 TraceCheckUtils]: 31: Hoare triple {718#false} assume !false; {718#false} is VALID [2018-11-23 12:22:50,373 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 12 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:22:50,392 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:50,392 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2018-11-23 12:22:50,393 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 32 [2018-11-23 12:22:50,393 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:50,394 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-23 12:22:50,440 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:50,440 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 12:22:50,440 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 12:22:50,440 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:22:50,441 INFO L87 Difference]: Start difference. First operand 35 states and 36 transitions. Second operand 11 states. [2018-11-23 12:22:50,951 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:50,951 INFO L93 Difference]: Finished difference Result 66 states and 68 transitions. [2018-11-23 12:22:50,951 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 12:22:50,952 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 32 [2018-11-23 12:22:50,952 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:50,952 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:22:50,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2018-11-23 12:22:50,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:22:50,958 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2018-11-23 12:22:50,959 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 51 transitions. [2018-11-23 12:22:51,026 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:51,028 INFO L225 Difference]: With dead ends: 66 [2018-11-23 12:22:51,028 INFO L226 Difference]: Without dead ends: 38 [2018-11-23 12:22:51,029 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=52, Invalid=80, Unknown=0, NotChecked=0, Total=132 [2018-11-23 12:22:51,029 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2018-11-23 12:22:51,093 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 37. [2018-11-23 12:22:51,093 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:51,093 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 37 states. [2018-11-23 12:22:51,094 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 37 states. [2018-11-23 12:22:51,094 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 37 states. [2018-11-23 12:22:51,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:51,097 INFO L93 Difference]: Finished difference Result 38 states and 39 transitions. [2018-11-23 12:22:51,097 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 39 transitions. [2018-11-23 12:22:51,097 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:51,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:51,098 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 38 states. [2018-11-23 12:22:51,098 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 38 states. [2018-11-23 12:22:51,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:51,100 INFO L93 Difference]: Finished difference Result 38 states and 39 transitions. [2018-11-23 12:22:51,100 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 39 transitions. [2018-11-23 12:22:51,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:51,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:51,101 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:51,101 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:51,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-23 12:22:51,103 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 38 transitions. [2018-11-23 12:22:51,104 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 38 transitions. Word has length 32 [2018-11-23 12:22:51,104 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:51,104 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 38 transitions. [2018-11-23 12:22:51,104 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 12:22:51,104 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 38 transitions. [2018-11-23 12:22:51,105 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-23 12:22:51,105 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:51,106 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:51,106 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:51,106 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:51,106 INFO L82 PathProgramCache]: Analyzing trace with hash 374652176, now seen corresponding path program 3 times [2018-11-23 12:22:51,106 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:51,106 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:51,107 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:51,107 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:22:51,108 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:51,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:51,700 INFO L256 TraceCheckUtils]: 0: Hoare triple {1046#true} call ULTIMATE.init(); {1046#true} is VALID [2018-11-23 12:22:51,701 INFO L273 TraceCheckUtils]: 1: Hoare triple {1046#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1046#true} is VALID [2018-11-23 12:22:51,701 INFO L273 TraceCheckUtils]: 2: Hoare triple {1046#true} assume true; {1046#true} is VALID [2018-11-23 12:22:51,701 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1046#true} {1046#true} #56#return; {1046#true} is VALID [2018-11-23 12:22:51,702 INFO L256 TraceCheckUtils]: 4: Hoare triple {1046#true} call #t~ret5 := main(); {1046#true} is VALID [2018-11-23 12:22:51,702 INFO L273 TraceCheckUtils]: 5: Hoare triple {1046#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {1046#true} is VALID [2018-11-23 12:22:51,702 INFO L273 TraceCheckUtils]: 6: Hoare triple {1046#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {1046#true} is VALID [2018-11-23 12:22:51,704 INFO L273 TraceCheckUtils]: 7: Hoare triple {1046#true} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1048#(and (<= 0 main_~i~0) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))))} is VALID [2018-11-23 12:22:51,705 INFO L273 TraceCheckUtils]: 8: Hoare triple {1048#(and (<= 0 main_~i~0) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1049#(or (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (<= 1 main_~i~0))} is VALID [2018-11-23 12:22:51,706 INFO L273 TraceCheckUtils]: 9: Hoare triple {1049#(or (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (<= 1 main_~i~0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1050#(and (<= 0 main_~i~0) (or (<= 1 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:22:51,706 INFO L273 TraceCheckUtils]: 10: Hoare triple {1050#(and (<= 0 main_~i~0) (or (<= 1 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 := #t~post2 - 1;havoc #t~post2; {1051#(or (<= 0 main_~i~0) (and (<= 0 (+ main_~i~0 1)) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))))} is VALID [2018-11-23 12:22:51,707 INFO L273 TraceCheckUtils]: 11: Hoare triple {1051#(or (<= 0 main_~i~0) (and (<= 0 (+ main_~i~0 1)) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))))} assume !(~i~0 >= 0); {1052#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-23 12:22:51,708 INFO L273 TraceCheckUtils]: 12: Hoare triple {1052#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} ~i~0 := 0; {1053#(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:22:51,709 INFO L273 TraceCheckUtils]: 13: Hoare triple {1053#(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); {1053#(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:22:51,709 INFO L256 TraceCheckUtils]: 14: Hoare triple {1053#(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)); {1046#true} is VALID [2018-11-23 12:22:51,710 INFO L273 TraceCheckUtils]: 15: Hoare triple {1046#true} ~cond := #in~cond; {1054#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:22:51,711 INFO L273 TraceCheckUtils]: 16: Hoare triple {1054#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {1055#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:22:51,711 INFO L273 TraceCheckUtils]: 17: Hoare triple {1055#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1055#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:22:51,712 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {1055#(not (= |__VERIFIER_assert_#in~cond| 0))} {1053#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} #60#return; {1053#(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:22:51,713 INFO L273 TraceCheckUtils]: 19: Hoare triple {1053#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} havoc #t~mem4; {1053#(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:22:51,714 INFO L273 TraceCheckUtils]: 20: Hoare triple {1053#(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; {1056#(<= (+ 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:22:51,715 INFO L273 TraceCheckUtils]: 21: Hoare triple {1056#(<= (+ 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); {1056#(<= (+ 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:22:51,715 INFO L256 TraceCheckUtils]: 22: Hoare triple {1056#(<= (+ 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)); {1046#true} is VALID [2018-11-23 12:22:51,716 INFO L273 TraceCheckUtils]: 23: Hoare triple {1046#true} ~cond := #in~cond; {1046#true} is VALID [2018-11-23 12:22:51,716 INFO L273 TraceCheckUtils]: 24: Hoare triple {1046#true} assume !(0 == ~cond); {1046#true} is VALID [2018-11-23 12:22:51,717 INFO L273 TraceCheckUtils]: 25: Hoare triple {1046#true} assume true; {1046#true} is VALID [2018-11-23 12:22:51,740 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1046#true} {1056#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} #60#return; {1056#(<= (+ 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:22:51,749 INFO L273 TraceCheckUtils]: 27: Hoare triple {1056#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} havoc #t~mem4; {1056#(<= (+ 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:22:51,756 INFO L273 TraceCheckUtils]: 28: Hoare triple {1056#(<= (+ 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; {1057#(<= 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:51,757 INFO L273 TraceCheckUtils]: 29: Hoare triple {1057#(<= 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); {1058#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:22:51,758 INFO L256 TraceCheckUtils]: 30: Hoare triple {1058#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1055#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:22:51,759 INFO L273 TraceCheckUtils]: 31: Hoare triple {1055#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1059#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:22:51,759 INFO L273 TraceCheckUtils]: 32: Hoare triple {1059#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1047#false} is VALID [2018-11-23 12:22:51,759 INFO L273 TraceCheckUtils]: 33: Hoare triple {1047#false} assume !false; {1047#false} is VALID [2018-11-23 12:22:51,763 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 5 proven. 14 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 12:22:51,763 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:51,763 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:51,773 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:22:51,793 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-11-23 12:22:51,793 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:22:51,821 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:51,823 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:51,879 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 22 [2018-11-23 12:22:51,885 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 25 [2018-11-23 12:22:51,894 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:51,895 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:51,896 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 25 treesize of output 53 [2018-11-23 12:22:51,898 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:51,908 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:51,915 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,923 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,923 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:31, output treesize:31 [2018-11-23 12:22:52,154 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 54 treesize of output 47 [2018-11-23 12:22:52,164 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:52,166 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:52,167 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:52,169 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:52,171 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:52,173 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:52,175 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 129 [2018-11-23 12:22:52,228 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 89 treesize of output 114 [2018-11-23 12:22:52,231 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:52,253 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:52,263 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:52,275 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:52,275 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:59, output treesize:45 [2018-11-23 12:22:54,116 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 51 treesize of output 43 [2018-11-23 12:22:54,130 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:54,131 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:54,132 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:54,134 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:54,135 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:22:54,137 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:54,139 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:54,140 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:54,143 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 43 treesize of output 89 [2018-11-23 12:22:54,146 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:54,160 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,172 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:54,172 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:62, output treesize:10 [2018-11-23 12:22:54,177 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:54,177 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, |main_~#a~0.offset|, v_main_~i~0_20]. (let ((.cse1 (* 4 v_main_~i~0_20)) (.cse2 (+ v_main_~i~0_20 2)) (.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= (+ v_main_~i~0_20 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (<= 2 main_~i~0) (= v_main_~i~0_20 (select .cse0 (+ .cse1 |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= .cse2 (select .cse0 (+ .cse1 |main_~#a~0.offset| 8))) (<= main_~i~0 .cse2) (<= (select .cse0 (+ (* 4 main_~i~0) |main_~#a~0.offset|)) |main_#t~mem4|))) [2018-11-23 12:22:54,177 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~i~0 |main_#t~mem4|)) [2018-11-23 12:22:54,272 INFO L256 TraceCheckUtils]: 0: Hoare triple {1046#true} call ULTIMATE.init(); {1046#true} is VALID [2018-11-23 12:22:54,272 INFO L273 TraceCheckUtils]: 1: Hoare triple {1046#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1046#true} is VALID [2018-11-23 12:22:54,273 INFO L273 TraceCheckUtils]: 2: Hoare triple {1046#true} assume true; {1046#true} is VALID [2018-11-23 12:22:54,273 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1046#true} {1046#true} #56#return; {1046#true} is VALID [2018-11-23 12:22:54,274 INFO L256 TraceCheckUtils]: 4: Hoare triple {1046#true} call #t~ret5 := main(); {1046#true} is VALID [2018-11-23 12:22:54,274 INFO L273 TraceCheckUtils]: 5: Hoare triple {1046#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {1046#true} is VALID [2018-11-23 12:22:54,278 INFO L273 TraceCheckUtils]: 6: Hoare triple {1046#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {1081#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:22:54,279 INFO L273 TraceCheckUtils]: 7: Hoare triple {1081#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1085#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ main_~i~0 2)) (= 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:22:54,281 INFO L273 TraceCheckUtils]: 8: Hoare triple {1085#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ main_~i~0 2)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1089#(and (<= ~SIZE~0 (+ main_~i~0 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))))} is VALID [2018-11-23 12:22:54,282 INFO L273 TraceCheckUtils]: 9: Hoare triple {1089#(and (<= ~SIZE~0 (+ main_~i~0 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1093#(and (<= ~SIZE~0 (+ main_~i~0 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))} is VALID [2018-11-23 12:22:54,286 INFO L273 TraceCheckUtils]: 10: Hoare triple {1093#(and (<= ~SIZE~0 (+ main_~i~0 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1097#(exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)) (<= v_main_~i~0_20 (+ main_~i~0 1))))} is VALID [2018-11-23 12:22:54,288 INFO L273 TraceCheckUtils]: 11: Hoare triple {1097#(exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)) (<= v_main_~i~0_20 (+ main_~i~0 1))))} assume !(~i~0 >= 0); {1101#(exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3))))} is VALID [2018-11-23 12:22:54,295 INFO L273 TraceCheckUtils]: 12: Hoare triple {1101#(exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3))))} ~i~0 := 0; {1105#(and (<= 0 main_~i~0) (exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} is VALID [2018-11-23 12:22:54,296 INFO L273 TraceCheckUtils]: 13: Hoare triple {1105#(and (<= 0 main_~i~0) (exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1105#(and (<= 0 main_~i~0) (exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} is VALID [2018-11-23 12:22:54,301 INFO L256 TraceCheckUtils]: 14: Hoare triple {1105#(and (<= 0 main_~i~0) (exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1112#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#a~0.offset_BEFORE_CALL_2| Int) (v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 8))) (= v_main_~i~0_20 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20)))) (<= v_main_~i~0_20 0) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 4)) (+ v_main_~i~0_20 1)) (<= ~SIZE~0 (+ v_main_~i~0_20 3))))} is VALID [2018-11-23 12:22:54,302 INFO L273 TraceCheckUtils]: 15: Hoare triple {1112#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#a~0.offset_BEFORE_CALL_2| Int) (v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 8))) (= v_main_~i~0_20 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20)))) (<= v_main_~i~0_20 0) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 4)) (+ v_main_~i~0_20 1)) (<= ~SIZE~0 (+ v_main_~i~0_20 3))))} ~cond := #in~cond; {1112#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#a~0.offset_BEFORE_CALL_2| Int) (v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 8))) (= v_main_~i~0_20 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20)))) (<= v_main_~i~0_20 0) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 4)) (+ v_main_~i~0_20 1)) (<= ~SIZE~0 (+ v_main_~i~0_20 3))))} is VALID [2018-11-23 12:22:54,302 INFO L273 TraceCheckUtils]: 16: Hoare triple {1112#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#a~0.offset_BEFORE_CALL_2| Int) (v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 8))) (= v_main_~i~0_20 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20)))) (<= v_main_~i~0_20 0) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 4)) (+ v_main_~i~0_20 1)) (<= ~SIZE~0 (+ v_main_~i~0_20 3))))} assume !(0 == ~cond); {1112#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#a~0.offset_BEFORE_CALL_2| Int) (v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 8))) (= v_main_~i~0_20 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20)))) (<= v_main_~i~0_20 0) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 4)) (+ v_main_~i~0_20 1)) (<= ~SIZE~0 (+ v_main_~i~0_20 3))))} is VALID [2018-11-23 12:22:54,303 INFO L273 TraceCheckUtils]: 17: Hoare triple {1112#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#a~0.offset_BEFORE_CALL_2| Int) (v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 8))) (= v_main_~i~0_20 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20)))) (<= v_main_~i~0_20 0) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 4)) (+ v_main_~i~0_20 1)) (<= ~SIZE~0 (+ v_main_~i~0_20 3))))} assume true; {1112#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#a~0.offset_BEFORE_CALL_2| Int) (v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 8))) (= v_main_~i~0_20 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20)))) (<= v_main_~i~0_20 0) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 4)) (+ v_main_~i~0_20 1)) (<= ~SIZE~0 (+ v_main_~i~0_20 3))))} is VALID [2018-11-23 12:22:54,303 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {1112#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#a~0.offset_BEFORE_CALL_2| Int) (v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 8))) (= v_main_~i~0_20 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20)))) (<= v_main_~i~0_20 0) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 4)) (+ v_main_~i~0_20 1)) (<= ~SIZE~0 (+ v_main_~i~0_20 3))))} {1105#(and (<= 0 main_~i~0) (exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} #60#return; {1105#(and (<= 0 main_~i~0) (exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} is VALID [2018-11-23 12:22:54,304 INFO L273 TraceCheckUtils]: 19: Hoare triple {1105#(and (<= 0 main_~i~0) (exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} havoc #t~mem4; {1105#(and (<= 0 main_~i~0) (exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} is VALID [2018-11-23 12:22:54,305 INFO L273 TraceCheckUtils]: 20: Hoare triple {1105#(and (<= 0 main_~i~0) (exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1131#(and (<= 1 main_~i~0) (exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} is VALID [2018-11-23 12:22:54,306 INFO L273 TraceCheckUtils]: 21: Hoare triple {1131#(and (<= 1 main_~i~0) (exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1131#(and (<= 1 main_~i~0) (exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} is VALID [2018-11-23 12:22:54,318 INFO L256 TraceCheckUtils]: 22: Hoare triple {1131#(and (<= 1 main_~i~0) (exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1112#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#a~0.offset_BEFORE_CALL_2| Int) (v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 8))) (= v_main_~i~0_20 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20)))) (<= v_main_~i~0_20 0) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 4)) (+ v_main_~i~0_20 1)) (<= ~SIZE~0 (+ v_main_~i~0_20 3))))} is VALID [2018-11-23 12:22:54,319 INFO L273 TraceCheckUtils]: 23: Hoare triple {1112#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#a~0.offset_BEFORE_CALL_2| Int) (v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 8))) (= v_main_~i~0_20 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20)))) (<= v_main_~i~0_20 0) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 4)) (+ v_main_~i~0_20 1)) (<= ~SIZE~0 (+ v_main_~i~0_20 3))))} ~cond := #in~cond; {1141#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#a~0.offset_BEFORE_CALL_2| Int) (v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 8))) (= v_main_~i~0_20 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20)))) (<= v_main_~i~0_20 0) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 4)) (+ v_main_~i~0_20 1)) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:22:54,320 INFO L273 TraceCheckUtils]: 24: Hoare triple {1141#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#a~0.offset_BEFORE_CALL_2| Int) (v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 8))) (= v_main_~i~0_20 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20)))) (<= v_main_~i~0_20 0) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 4)) (+ v_main_~i~0_20 1)) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {1145#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#a~0.offset_BEFORE_CALL_2| Int) (v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 8))) (= v_main_~i~0_20 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20)))) (<= v_main_~i~0_20 0) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 4)) (+ v_main_~i~0_20 1)) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} is VALID [2018-11-23 12:22:54,321 INFO L273 TraceCheckUtils]: 25: Hoare triple {1145#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#a~0.offset_BEFORE_CALL_2| Int) (v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 8))) (= v_main_~i~0_20 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20)))) (<= v_main_~i~0_20 0) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 4)) (+ v_main_~i~0_20 1)) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} assume true; {1145#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#a~0.offset_BEFORE_CALL_2| Int) (v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 8))) (= v_main_~i~0_20 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20)))) (<= v_main_~i~0_20 0) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 4)) (+ v_main_~i~0_20 1)) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} is VALID [2018-11-23 12:22:54,322 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1145#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#a~0.offset_BEFORE_CALL_2| Int) (v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 8))) (= v_main_~i~0_20 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20)))) (<= v_main_~i~0_20 0) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ |v_main_~#a~0.offset_BEFORE_CALL_2| (* 4 v_main_~i~0_20) 4)) (+ v_main_~i~0_20 1)) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} {1131#(and (<= 1 main_~i~0) (exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} #60#return; {1131#(and (<= 1 main_~i~0) (exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} is VALID [2018-11-23 12:22:54,323 INFO L273 TraceCheckUtils]: 27: Hoare triple {1131#(and (<= 1 main_~i~0) (exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} havoc #t~mem4; {1131#(and (<= 1 main_~i~0) (exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} is VALID [2018-11-23 12:22:54,324 INFO L273 TraceCheckUtils]: 28: Hoare triple {1131#(and (<= 1 main_~i~0) (exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1158#(and (<= 2 main_~i~0) (exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} is VALID [2018-11-23 12:22:54,326 INFO L273 TraceCheckUtils]: 29: Hoare triple {1158#(and (<= 2 main_~i~0) (exists ((v_main_~i~0_20 Int)) (and (= (+ v_main_~i~0_20 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 4))) (= v_main_~i~0_20 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset|))) (<= v_main_~i~0_20 0) (= (+ v_main_~i~0_20 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_20) |main_~#a~0.offset| 8))) (<= ~SIZE~0 (+ v_main_~i~0_20 3)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1162#(and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~i~0 |main_#t~mem4|))} is VALID [2018-11-23 12:22:54,327 INFO L256 TraceCheckUtils]: 30: Hoare triple {1162#(and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~i~0 |main_#t~mem4|))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1166#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:22:54,328 INFO L273 TraceCheckUtils]: 31: Hoare triple {1166#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1170#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:22:54,329 INFO L273 TraceCheckUtils]: 32: Hoare triple {1170#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1047#false} is VALID [2018-11-23 12:22:54,329 INFO L273 TraceCheckUtils]: 33: Hoare triple {1047#false} assume !false; {1047#false} is VALID [2018-11-23 12:22:54,338 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 9 proven. 10 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 12:22:54,366 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:54,367 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 17] total 29 [2018-11-23 12:22:54,367 INFO L78 Accepts]: Start accepts. Automaton has 29 states. Word has length 34 [2018-11-23 12:22:54,368 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:54,368 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states. [2018-11-23 12:22:54,485 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:54,485 INFO L459 AbstractCegarLoop]: Interpolant automaton has 29 states [2018-11-23 12:22:54,485 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2018-11-23 12:22:54,486 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=707, Unknown=0, NotChecked=0, Total=812 [2018-11-23 12:22:54,486 INFO L87 Difference]: Start difference. First operand 37 states and 38 transitions. Second operand 29 states. [2018-11-23 12:22:59,528 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:59,528 INFO L93 Difference]: Finished difference Result 78 states and 81 transitions. [2018-11-23 12:22:59,529 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2018-11-23 12:22:59,529 INFO L78 Accepts]: Start accepts. Automaton has 29 states. Word has length 34 [2018-11-23 12:22:59,529 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:59,529 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 12:22:59,533 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 69 transitions. [2018-11-23 12:22:59,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 12:22:59,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 69 transitions. [2018-11-23 12:22:59,538 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 35 states and 69 transitions. [2018-11-23 12:22:59,857 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:59,860 INFO L225 Difference]: With dead ends: 78 [2018-11-23 12:22:59,860 INFO L226 Difference]: Without dead ends: 50 [2018-11-23 12:22:59,862 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 79 GetRequests, 19 SyntacticMatches, 4 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 874 ImplicationChecksByTransitivity, 2.8s TimeCoverageRelationStatistics Valid=460, Invalid=2846, Unknown=0, NotChecked=0, Total=3306 [2018-11-23 12:22:59,863 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2018-11-23 12:23:00,036 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 47. [2018-11-23 12:23:00,036 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:00,036 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand 47 states. [2018-11-23 12:23:00,036 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 47 states. [2018-11-23 12:23:00,036 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 47 states. [2018-11-23 12:23:00,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:00,039 INFO L93 Difference]: Finished difference Result 50 states and 51 transitions. [2018-11-23 12:23:00,039 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 51 transitions. [2018-11-23 12:23:00,040 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:00,040 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:00,040 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 50 states. [2018-11-23 12:23:00,040 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 50 states. [2018-11-23 12:23:00,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:00,042 INFO L93 Difference]: Finished difference Result 50 states and 51 transitions. [2018-11-23 12:23:00,043 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 51 transitions. [2018-11-23 12:23:00,043 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:00,043 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:00,044 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:00,044 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:00,044 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 47 states. [2018-11-23 12:23:00,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 48 transitions. [2018-11-23 12:23:00,046 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 48 transitions. Word has length 34 [2018-11-23 12:23:00,046 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:00,046 INFO L480 AbstractCegarLoop]: Abstraction has 47 states and 48 transitions. [2018-11-23 12:23:00,046 INFO L481 AbstractCegarLoop]: Interpolant automaton has 29 states. [2018-11-23 12:23:00,046 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 48 transitions. [2018-11-23 12:23:00,048 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-23 12:23:00,048 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:00,048 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:00,048 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:00,048 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:00,048 INFO L82 PathProgramCache]: Analyzing trace with hash -1212356927, now seen corresponding path program 4 times [2018-11-23 12:23:00,049 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:00,049 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:00,050 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:00,050 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:00,050 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:00,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:00,990 INFO L256 TraceCheckUtils]: 0: Hoare triple {1510#true} call ULTIMATE.init(); {1510#true} is VALID [2018-11-23 12:23:00,991 INFO L273 TraceCheckUtils]: 1: Hoare triple {1510#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1510#true} is VALID [2018-11-23 12:23:00,991 INFO L273 TraceCheckUtils]: 2: Hoare triple {1510#true} assume true; {1510#true} is VALID [2018-11-23 12:23:00,991 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1510#true} {1510#true} #56#return; {1510#true} is VALID [2018-11-23 12:23:00,991 INFO L256 TraceCheckUtils]: 4: Hoare triple {1510#true} call #t~ret5 := main(); {1510#true} is VALID [2018-11-23 12:23:00,992 INFO L273 TraceCheckUtils]: 5: Hoare triple {1510#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {1510#true} is VALID [2018-11-23 12:23:00,992 INFO L273 TraceCheckUtils]: 6: Hoare triple {1510#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {1512#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:23:00,994 INFO L273 TraceCheckUtils]: 7: Hoare triple {1512#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1513#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:00,995 INFO L273 TraceCheckUtils]: 8: Hoare triple {1513#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1514#(and (or (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:00,996 INFO L273 TraceCheckUtils]: 9: Hoare triple {1514#(and (or (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1514#(and (or (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:00,998 INFO L273 TraceCheckUtils]: 10: Hoare triple {1514#(and (or (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1515#(and (or (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset| 1) 0)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:00,999 INFO L273 TraceCheckUtils]: 11: Hoare triple {1515#(and (or (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset| 1) 0)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1516#(and (<= 0 main_~i~0) (or (<= 1 (+ (* 3 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:01,001 INFO L273 TraceCheckUtils]: 12: Hoare triple {1516#(and (<= 0 main_~i~0) (or (<= 1 (+ (* 3 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~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1517#(and (or (and (<= 0 (+ main_~i~0 1)) (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4))))) (<= 0 (+ (* 3 main_~i~0) |main_~#a~0.offset| 2))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:01,002 INFO L273 TraceCheckUtils]: 13: Hoare triple {1517#(and (or (and (<= 0 (+ main_~i~0 1)) (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4))))) (<= 0 (+ (* 3 main_~i~0) |main_~#a~0.offset| 2))) (= |main_~#a~0.offset| 0))} assume !(~i~0 >= 0); {1518#(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:01,003 INFO L273 TraceCheckUtils]: 14: Hoare triple {1518#(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; {1519#(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:01,004 INFO L273 TraceCheckUtils]: 15: Hoare triple {1519#(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); {1519#(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:01,005 INFO L256 TraceCheckUtils]: 16: Hoare triple {1519#(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)); {1510#true} is VALID [2018-11-23 12:23:01,005 INFO L273 TraceCheckUtils]: 17: Hoare triple {1510#true} ~cond := #in~cond; {1520#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:23:01,006 INFO L273 TraceCheckUtils]: 18: Hoare triple {1520#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:01,007 INFO L273 TraceCheckUtils]: 19: Hoare triple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:01,008 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} {1519#(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))} #60#return; {1519#(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:01,009 INFO L273 TraceCheckUtils]: 21: Hoare triple {1519#(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; {1519#(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:01,010 INFO L273 TraceCheckUtils]: 22: Hoare triple {1519#(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; {1522#(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:01,011 INFO L273 TraceCheckUtils]: 23: Hoare triple {1522#(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); {1522#(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:01,011 INFO L256 TraceCheckUtils]: 24: Hoare triple {1522#(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)); {1510#true} is VALID [2018-11-23 12:23:01,011 INFO L273 TraceCheckUtils]: 25: Hoare triple {1510#true} ~cond := #in~cond; {1510#true} is VALID [2018-11-23 12:23:01,012 INFO L273 TraceCheckUtils]: 26: Hoare triple {1510#true} assume !(0 == ~cond); {1510#true} is VALID [2018-11-23 12:23:01,012 INFO L273 TraceCheckUtils]: 27: Hoare triple {1510#true} assume true; {1510#true} is VALID [2018-11-23 12:23:01,015 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1510#true} {1522#(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))} #60#return; {1522#(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:01,017 INFO L273 TraceCheckUtils]: 29: Hoare triple {1522#(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; {1522#(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:01,020 INFO L273 TraceCheckUtils]: 30: Hoare triple {1522#(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; {1523#(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:01,024 INFO L273 TraceCheckUtils]: 31: Hoare triple {1523#(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); {1523#(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:01,024 INFO L256 TraceCheckUtils]: 32: Hoare triple {1523#(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)); {1510#true} is VALID [2018-11-23 12:23:01,024 INFO L273 TraceCheckUtils]: 33: Hoare triple {1510#true} ~cond := #in~cond; {1510#true} is VALID [2018-11-23 12:23:01,025 INFO L273 TraceCheckUtils]: 34: Hoare triple {1510#true} assume !(0 == ~cond); {1510#true} is VALID [2018-11-23 12:23:01,025 INFO L273 TraceCheckUtils]: 35: Hoare triple {1510#true} assume true; {1510#true} is VALID [2018-11-23 12:23:01,026 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {1510#true} {1523#(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))} #60#return; {1523#(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:01,027 INFO L273 TraceCheckUtils]: 37: Hoare triple {1523#(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; {1523#(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:01,028 INFO L273 TraceCheckUtils]: 38: Hoare triple {1523#(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; {1524#(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:01,028 INFO L273 TraceCheckUtils]: 39: Hoare triple {1524#(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); {1525#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:23:01,029 INFO L256 TraceCheckUtils]: 40: Hoare triple {1525#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:01,030 INFO L273 TraceCheckUtils]: 41: Hoare triple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1526#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:23:01,030 INFO L273 TraceCheckUtils]: 42: Hoare triple {1526#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1511#false} is VALID [2018-11-23 12:23:01,030 INFO L273 TraceCheckUtils]: 43: Hoare triple {1511#false} assume !false; {1511#false} is VALID [2018-11-23 12:23:01,036 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 8 proven. 31 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2018-11-23 12:23:01,037 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:01,037 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:23:01,046 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:23:01,078 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:23:01,078 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:01,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:01,115 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:01,148 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 25 treesize of output 22 [2018-11-23 12:23:01,154 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 25 [2018-11-23 12:23:01,165 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:01,166 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:01,167 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 25 treesize of output 53 [2018-11-23 12:23:01,174 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:01,185 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, 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-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:01,210 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:29, output treesize:29 [2018-11-23 12:23:01,351 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 54 treesize of output 47 [2018-11-23 12:23:01,369 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:01,373 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:01,374 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:01,375 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:01,377 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:01,378 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:01,380 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 129 [2018-11-23 12:23:01,401 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 89 treesize of output 114 [2018-11-23 12:23:01,409 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:01,429 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:01,441 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,454 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:01,454 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:57, output treesize:43 [2018-11-23 12:23:01,763 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 68 treesize of output 59 [2018-11-23 12:23:01,796 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:01,798 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:01,801 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:01,803 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:01,806 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:01,809 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:01,811 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:01,813 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:01,815 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:01,817 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:01,819 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:01,821 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:01,823 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 12 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 59 treesize of output 229 [2018-11-23 12:23:01,976 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 0 case distinctions, treesize of input 148 treesize of output 219 [2018-11-23 12:23:02,001 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:02,046 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:02,059 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:02,075 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:02,076 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:74, output treesize:60 [2018-11-23 12:23:04,423 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 48 [2018-11-23 12:23:04,432 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:04,433 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:04,434 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:23:04,435 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:04,436 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:04,437 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:04,438 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:04,439 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:04,441 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:04,443 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:04,444 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:04,445 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:04,447 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:04,449 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 12 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 123 [2018-11-23 12:23:04,453 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:04,474 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:04,484 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:04,485 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:67, output treesize:7 [2018-11-23 12:23:04,490 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:04,490 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, v_main_~i~0_25]. (let ((.cse1 (* 4 v_main_~i~0_25)) (.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= main_~i~0 3) (<= v_main_~i~0_25 0) (= v_main_~i~0_25 (select .cse0 .cse1)) (= (select .cse0 (+ .cse1 8)) (+ v_main_~i~0_25 2)) (= (+ v_main_~i~0_25 3) (select .cse0 (+ .cse1 12))) (= (+ v_main_~i~0_25 1) (select .cse0 (+ .cse1 4))) (<= 0 v_main_~i~0_25) (<= (select .cse0 (* 4 main_~i~0)) |main_#t~mem4|))) [2018-11-23 12:23:04,490 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 3) (<= 3 |main_#t~mem4|)) [2018-11-23 12:23:04,570 INFO L256 TraceCheckUtils]: 0: Hoare triple {1510#true} call ULTIMATE.init(); {1510#true} is VALID [2018-11-23 12:23:04,570 INFO L273 TraceCheckUtils]: 1: Hoare triple {1510#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1510#true} is VALID [2018-11-23 12:23:04,570 INFO L273 TraceCheckUtils]: 2: Hoare triple {1510#true} assume true; {1510#true} is VALID [2018-11-23 12:23:04,571 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1510#true} {1510#true} #56#return; {1510#true} is VALID [2018-11-23 12:23:04,571 INFO L256 TraceCheckUtils]: 4: Hoare triple {1510#true} call #t~ret5 := main(); {1510#true} is VALID [2018-11-23 12:23:04,571 INFO L273 TraceCheckUtils]: 5: Hoare triple {1510#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {1510#true} is VALID [2018-11-23 12:23:04,572 INFO L273 TraceCheckUtils]: 6: Hoare triple {1510#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {1512#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:23:04,573 INFO L273 TraceCheckUtils]: 7: Hoare triple {1512#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1551#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:04,575 INFO L273 TraceCheckUtils]: 8: Hoare triple {1551#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1555#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:04,576 INFO L273 TraceCheckUtils]: 9: Hoare triple {1555#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1559#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:04,578 INFO L273 TraceCheckUtils]: 10: Hoare triple {1559#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1563#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:04,579 INFO L273 TraceCheckUtils]: 11: Hoare triple {1563#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1567#(and (<= 0 main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~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:04,581 INFO L273 TraceCheckUtils]: 12: Hoare triple {1567#(and (<= 0 main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1571#(and (exists ((v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25) (<= v_main_~i~0_25 (+ main_~i~0 1)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:04,583 INFO L273 TraceCheckUtils]: 13: Hoare triple {1571#(and (exists ((v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25) (<= v_main_~i~0_25 (+ main_~i~0 1)))) (= |main_~#a~0.offset| 0))} assume !(~i~0 >= 0); {1575#(and (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:04,584 INFO L273 TraceCheckUtils]: 14: Hoare triple {1575#(and (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {1579#(and (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:04,585 INFO L273 TraceCheckUtils]: 15: Hoare triple {1579#(and (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= 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); {1579#(and (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:04,587 INFO L256 TraceCheckUtils]: 16: Hoare triple {1579#(and (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25)))} is VALID [2018-11-23 12:23:04,588 INFO L273 TraceCheckUtils]: 17: Hoare triple {1586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25)))} ~cond := #in~cond; {1590#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:23:04,590 INFO L273 TraceCheckUtils]: 18: Hoare triple {1590#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {1594#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25))))} is VALID [2018-11-23 12:23:04,591 INFO L273 TraceCheckUtils]: 19: Hoare triple {1594#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25))))} assume true; {1594#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25))))} is VALID [2018-11-23 12:23:04,592 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {1594#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25))))} {1579#(and (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #60#return; {1579#(and (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:04,594 INFO L273 TraceCheckUtils]: 21: Hoare triple {1579#(and (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {1579#(and (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:04,595 INFO L273 TraceCheckUtils]: 22: Hoare triple {1579#(and (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1607#(and (= main_~i~0 1) (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:04,596 INFO L273 TraceCheckUtils]: 23: Hoare triple {1607#(and (= main_~i~0 1) (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |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); {1607#(and (= main_~i~0 1) (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:04,598 INFO L256 TraceCheckUtils]: 24: Hoare triple {1607#(and (= main_~i~0 1) (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25)))} is VALID [2018-11-23 12:23:04,598 INFO L273 TraceCheckUtils]: 25: Hoare triple {1586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25)))} ~cond := #in~cond; {1586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25)))} is VALID [2018-11-23 12:23:04,599 INFO L273 TraceCheckUtils]: 26: Hoare triple {1586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25)))} assume !(0 == ~cond); {1586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25)))} is VALID [2018-11-23 12:23:04,600 INFO L273 TraceCheckUtils]: 27: Hoare triple {1586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25)))} assume true; {1586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25)))} is VALID [2018-11-23 12:23:04,601 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25)))} {1607#(and (= main_~i~0 1) (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |main_~#a~0.offset| 0))} #60#return; {1607#(and (= main_~i~0 1) (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:04,602 INFO L273 TraceCheckUtils]: 29: Hoare triple {1607#(and (= main_~i~0 1) (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {1607#(and (= main_~i~0 1) (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:04,603 INFO L273 TraceCheckUtils]: 30: Hoare triple {1607#(and (= main_~i~0 1) (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1632#(and (= main_~i~0 2) (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:04,604 INFO L273 TraceCheckUtils]: 31: Hoare triple {1632#(and (= main_~i~0 2) (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |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); {1632#(and (= main_~i~0 2) (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:04,607 INFO L256 TraceCheckUtils]: 32: Hoare triple {1632#(and (= main_~i~0 2) (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25)))} is VALID [2018-11-23 12:23:04,607 INFO L273 TraceCheckUtils]: 33: Hoare triple {1586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25)))} ~cond := #in~cond; {1586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25)))} is VALID [2018-11-23 12:23:04,608 INFO L273 TraceCheckUtils]: 34: Hoare triple {1586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25)))} assume !(0 == ~cond); {1586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25)))} is VALID [2018-11-23 12:23:04,609 INFO L273 TraceCheckUtils]: 35: Hoare triple {1586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25)))} assume true; {1586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25)))} is VALID [2018-11-23 12:23:04,610 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {1586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_main_~i~0_25 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 4)) (+ v_main_~i~0_25 1)) (<= v_main_~i~0_25 0) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 12))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_main_~i~0_25) 8)) (+ v_main_~i~0_25 2)) (= v_main_~i~0_25 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_main_~i~0_25))) (<= 0 v_main_~i~0_25)))} {1632#(and (= main_~i~0 2) (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |main_~#a~0.offset| 0))} #60#return; {1632#(and (= main_~i~0 2) (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:04,611 INFO L273 TraceCheckUtils]: 37: Hoare triple {1632#(and (= main_~i~0 2) (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {1632#(and (= main_~i~0 2) (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:04,612 INFO L273 TraceCheckUtils]: 38: Hoare triple {1632#(and (= main_~i~0 2) (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1657#(and (= main_~i~0 3) (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:04,615 INFO L273 TraceCheckUtils]: 39: Hoare triple {1657#(and (= main_~i~0 3) (exists ((v_main_~i~0_25 Int)) (and (<= v_main_~i~0_25 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 4)) (+ v_main_~i~0_25 1)) (= (+ v_main_~i~0_25 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 12))) (= v_main_~i~0_25 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_25) |main_~#a~0.offset| 8)) (+ v_main_~i~0_25 2)) (<= 0 v_main_~i~0_25))) (= |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); {1661#(and (= main_~i~0 3) (<= 3 |main_#t~mem4|))} is VALID [2018-11-23 12:23:04,616 INFO L256 TraceCheckUtils]: 40: Hoare triple {1661#(and (= main_~i~0 3) (<= 3 |main_#t~mem4|))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1665#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:23:04,617 INFO L273 TraceCheckUtils]: 41: Hoare triple {1665#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1669#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:23:04,618 INFO L273 TraceCheckUtils]: 42: Hoare triple {1669#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1511#false} is VALID [2018-11-23 12:23:04,618 INFO L273 TraceCheckUtils]: 43: Hoare triple {1511#false} assume !false; {1511#false} is VALID [2018-11-23 12:23:04,631 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 7 proven. 32 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2018-11-23 12:23:04,651 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:04,651 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 20] total 34 [2018-11-23 12:23:04,652 INFO L78 Accepts]: Start accepts. Automaton has 34 states. Word has length 44 [2018-11-23 12:23:04,652 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:04,652 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 34 states. [2018-11-23 12:23:04,798 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:04,798 INFO L459 AbstractCegarLoop]: Interpolant automaton has 34 states [2018-11-23 12:23:04,798 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2018-11-23 12:23:04,799 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=198, Invalid=924, Unknown=0, NotChecked=0, Total=1122 [2018-11-23 12:23:04,799 INFO L87 Difference]: Start difference. First operand 47 states and 48 transitions. Second operand 34 states. [2018-11-23 12:23:08,120 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:08,120 INFO L93 Difference]: Finished difference Result 59 states and 60 transitions. [2018-11-23 12:23:08,120 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2018-11-23 12:23:08,120 INFO L78 Accepts]: Start accepts. Automaton has 34 states. Word has length 44 [2018-11-23 12:23:08,121 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:08,121 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-23 12:23:08,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 51 transitions. [2018-11-23 12:23:08,123 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-23 12:23:08,126 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 51 transitions. [2018-11-23 12:23:08,126 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states and 51 transitions. [2018-11-23 12:23:08,249 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:08,251 INFO L225 Difference]: With dead ends: 59 [2018-11-23 12:23:08,252 INFO L226 Difference]: Without dead ends: 57 [2018-11-23 12:23:08,253 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 26 SyntacticMatches, 7 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 666 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=401, Invalid=1761, Unknown=0, NotChecked=0, Total=2162 [2018-11-23 12:23:08,254 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2018-11-23 12:23:08,501 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 55. [2018-11-23 12:23:08,502 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:08,502 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 55 states. [2018-11-23 12:23:08,502 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 55 states. [2018-11-23 12:23:08,502 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 55 states. [2018-11-23 12:23:08,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:08,505 INFO L93 Difference]: Finished difference Result 57 states and 58 transitions. [2018-11-23 12:23:08,505 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 58 transitions. [2018-11-23 12:23:08,506 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:08,506 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:08,506 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 57 states. [2018-11-23 12:23:08,506 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 57 states. [2018-11-23 12:23:08,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:08,509 INFO L93 Difference]: Finished difference Result 57 states and 58 transitions. [2018-11-23 12:23:08,509 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 58 transitions. [2018-11-23 12:23:08,509 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:08,509 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:08,510 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:08,510 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:08,510 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 55 states. [2018-11-23 12:23:08,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 56 transitions. [2018-11-23 12:23:08,512 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 56 transitions. Word has length 44 [2018-11-23 12:23:08,512 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:08,512 INFO L480 AbstractCegarLoop]: Abstraction has 55 states and 56 transitions. [2018-11-23 12:23:08,513 INFO L481 AbstractCegarLoop]: Interpolant automaton has 34 states. [2018-11-23 12:23:08,513 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 56 transitions. [2018-11-23 12:23:08,514 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2018-11-23 12:23:08,514 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:08,514 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:08,514 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:08,514 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:08,515 INFO L82 PathProgramCache]: Analyzing trace with hash 1529406964, now seen corresponding path program 5 times [2018-11-23 12:23:08,515 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:08,515 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:08,516 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:08,516 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:08,516 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:08,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:08,709 INFO L256 TraceCheckUtils]: 0: Hoare triple {1976#true} call ULTIMATE.init(); {1976#true} is VALID [2018-11-23 12:23:08,709 INFO L273 TraceCheckUtils]: 1: Hoare triple {1976#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1976#true} is VALID [2018-11-23 12:23:08,710 INFO L273 TraceCheckUtils]: 2: Hoare triple {1976#true} assume true; {1976#true} is VALID [2018-11-23 12:23:08,710 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1976#true} {1976#true} #56#return; {1976#true} is VALID [2018-11-23 12:23:08,710 INFO L256 TraceCheckUtils]: 4: Hoare triple {1976#true} call #t~ret5 := main(); {1976#true} is VALID [2018-11-23 12:23:08,711 INFO L273 TraceCheckUtils]: 5: Hoare triple {1976#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {1976#true} is VALID [2018-11-23 12:23:08,721 INFO L273 TraceCheckUtils]: 6: Hoare triple {1976#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {1978#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:08,721 INFO L273 TraceCheckUtils]: 7: Hoare triple {1978#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1978#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:08,722 INFO L273 TraceCheckUtils]: 8: Hoare triple {1978#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1979#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:08,723 INFO L273 TraceCheckUtils]: 9: Hoare triple {1979#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1979#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:08,723 INFO L273 TraceCheckUtils]: 10: Hoare triple {1979#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1980#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:08,724 INFO L273 TraceCheckUtils]: 11: Hoare triple {1980#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1980#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:08,724 INFO L273 TraceCheckUtils]: 12: Hoare triple {1980#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1981#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:08,724 INFO L273 TraceCheckUtils]: 13: Hoare triple {1981#(<= ~SIZE~0 (+ main_~i~0 5))} assume !(~i~0 >= 0); {1982#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:08,725 INFO L273 TraceCheckUtils]: 14: Hoare triple {1982#(<= ~SIZE~0 4)} ~i~0 := 0; {1983#(and (<= ~SIZE~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:23:08,726 INFO L273 TraceCheckUtils]: 15: Hoare triple {1983#(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); {1983#(and (<= ~SIZE~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:23:08,726 INFO L256 TraceCheckUtils]: 16: Hoare triple {1983#(and (<= ~SIZE~0 4) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1976#true} is VALID [2018-11-23 12:23:08,726 INFO L273 TraceCheckUtils]: 17: Hoare triple {1976#true} ~cond := #in~cond; {1976#true} is VALID [2018-11-23 12:23:08,727 INFO L273 TraceCheckUtils]: 18: Hoare triple {1976#true} assume !(0 == ~cond); {1976#true} is VALID [2018-11-23 12:23:08,727 INFO L273 TraceCheckUtils]: 19: Hoare triple {1976#true} assume true; {1976#true} is VALID [2018-11-23 12:23:08,728 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {1976#true} {1983#(and (<= ~SIZE~0 4) (= main_~i~0 0))} #60#return; {1983#(and (<= ~SIZE~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:23:08,728 INFO L273 TraceCheckUtils]: 21: Hoare triple {1983#(and (<= ~SIZE~0 4) (= main_~i~0 0))} havoc #t~mem4; {1983#(and (<= ~SIZE~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:23:08,729 INFO L273 TraceCheckUtils]: 22: Hoare triple {1983#(and (<= ~SIZE~0 4) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1979#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:08,730 INFO L273 TraceCheckUtils]: 23: Hoare triple {1979#(<= ~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); {1979#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:08,730 INFO L256 TraceCheckUtils]: 24: Hoare triple {1979#(<= ~SIZE~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1976#true} is VALID [2018-11-23 12:23:08,730 INFO L273 TraceCheckUtils]: 25: Hoare triple {1976#true} ~cond := #in~cond; {1976#true} is VALID [2018-11-23 12:23:08,731 INFO L273 TraceCheckUtils]: 26: Hoare triple {1976#true} assume !(0 == ~cond); {1976#true} is VALID [2018-11-23 12:23:08,731 INFO L273 TraceCheckUtils]: 27: Hoare triple {1976#true} assume true; {1976#true} is VALID [2018-11-23 12:23:08,734 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1976#true} {1979#(<= ~SIZE~0 (+ main_~i~0 3))} #60#return; {1979#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:08,734 INFO L273 TraceCheckUtils]: 29: Hoare triple {1979#(<= ~SIZE~0 (+ main_~i~0 3))} havoc #t~mem4; {1979#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:08,735 INFO L273 TraceCheckUtils]: 30: Hoare triple {1979#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1978#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:08,736 INFO L273 TraceCheckUtils]: 31: Hoare triple {1978#(<= ~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); {1978#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:08,736 INFO L256 TraceCheckUtils]: 32: Hoare triple {1978#(<= ~SIZE~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1976#true} is VALID [2018-11-23 12:23:08,736 INFO L273 TraceCheckUtils]: 33: Hoare triple {1976#true} ~cond := #in~cond; {1976#true} is VALID [2018-11-23 12:23:08,737 INFO L273 TraceCheckUtils]: 34: Hoare triple {1976#true} assume !(0 == ~cond); {1976#true} is VALID [2018-11-23 12:23:08,737 INFO L273 TraceCheckUtils]: 35: Hoare triple {1976#true} assume true; {1976#true} is VALID [2018-11-23 12:23:08,738 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {1976#true} {1978#(<= ~SIZE~0 (+ main_~i~0 2))} #60#return; {1978#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:08,738 INFO L273 TraceCheckUtils]: 37: Hoare triple {1978#(<= ~SIZE~0 (+ main_~i~0 2))} havoc #t~mem4; {1978#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:08,739 INFO L273 TraceCheckUtils]: 38: Hoare triple {1978#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1984#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:08,740 INFO L273 TraceCheckUtils]: 39: Hoare triple {1984#(<= ~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); {1984#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:08,740 INFO L256 TraceCheckUtils]: 40: Hoare triple {1984#(<= ~SIZE~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1976#true} is VALID [2018-11-23 12:23:08,741 INFO L273 TraceCheckUtils]: 41: Hoare triple {1976#true} ~cond := #in~cond; {1976#true} is VALID [2018-11-23 12:23:08,741 INFO L273 TraceCheckUtils]: 42: Hoare triple {1976#true} assume !(0 == ~cond); {1976#true} is VALID [2018-11-23 12:23:08,741 INFO L273 TraceCheckUtils]: 43: Hoare triple {1976#true} assume true; {1976#true} is VALID [2018-11-23 12:23:08,748 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {1976#true} {1984#(<= ~SIZE~0 (+ main_~i~0 1))} #60#return; {1984#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:08,748 INFO L273 TraceCheckUtils]: 45: Hoare triple {1984#(<= ~SIZE~0 (+ main_~i~0 1))} havoc #t~mem4; {1984#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:08,749 INFO L273 TraceCheckUtils]: 46: Hoare triple {1984#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1985#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-23 12:23:08,750 INFO L273 TraceCheckUtils]: 47: Hoare triple {1985#(<= ~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); {1977#false} is VALID [2018-11-23 12:23:08,750 INFO L256 TraceCheckUtils]: 48: Hoare triple {1977#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1977#false} is VALID [2018-11-23 12:23:08,750 INFO L273 TraceCheckUtils]: 49: Hoare triple {1977#false} ~cond := #in~cond; {1977#false} is VALID [2018-11-23 12:23:08,750 INFO L273 TraceCheckUtils]: 50: Hoare triple {1977#false} assume 0 == ~cond; {1977#false} is VALID [2018-11-23 12:23:08,750 INFO L273 TraceCheckUtils]: 51: Hoare triple {1977#false} assume !false; {1977#false} is VALID [2018-11-23 12:23:08,754 INFO L134 CoverageAnalysis]: Checked inductivity of 73 backedges. 27 proven. 22 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:23:08,754 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:08,754 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:08,767 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:23:08,808 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2018-11-23 12:23:08,809 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:08,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:08,825 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:09,012 INFO L256 TraceCheckUtils]: 0: Hoare triple {1976#true} call ULTIMATE.init(); {1976#true} is VALID [2018-11-23 12:23:09,012 INFO L273 TraceCheckUtils]: 1: Hoare triple {1976#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1976#true} is VALID [2018-11-23 12:23:09,013 INFO L273 TraceCheckUtils]: 2: Hoare triple {1976#true} assume true; {1976#true} is VALID [2018-11-23 12:23:09,013 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1976#true} {1976#true} #56#return; {1976#true} is VALID [2018-11-23 12:23:09,013 INFO L256 TraceCheckUtils]: 4: Hoare triple {1976#true} call #t~ret5 := main(); {1976#true} is VALID [2018-11-23 12:23:09,013 INFO L273 TraceCheckUtils]: 5: Hoare triple {1976#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {1976#true} is VALID [2018-11-23 12:23:09,014 INFO L273 TraceCheckUtils]: 6: Hoare triple {1976#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {1978#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:09,015 INFO L273 TraceCheckUtils]: 7: Hoare triple {1978#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1978#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:09,015 INFO L273 TraceCheckUtils]: 8: Hoare triple {1978#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1979#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:09,016 INFO L273 TraceCheckUtils]: 9: Hoare triple {1979#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1979#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:09,016 INFO L273 TraceCheckUtils]: 10: Hoare triple {1979#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1980#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:09,017 INFO L273 TraceCheckUtils]: 11: Hoare triple {1980#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {1980#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:09,017 INFO L273 TraceCheckUtils]: 12: Hoare triple {1980#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1981#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:09,018 INFO L273 TraceCheckUtils]: 13: Hoare triple {1981#(<= ~SIZE~0 (+ main_~i~0 5))} assume !(~i~0 >= 0); {1982#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:09,018 INFO L273 TraceCheckUtils]: 14: Hoare triple {1982#(<= ~SIZE~0 4)} ~i~0 := 0; {2031#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:09,019 INFO L273 TraceCheckUtils]: 15: Hoare triple {2031#(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); {2031#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:09,022 INFO L256 TraceCheckUtils]: 16: Hoare triple {2031#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1982#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:09,023 INFO L273 TraceCheckUtils]: 17: Hoare triple {1982#(<= ~SIZE~0 4)} ~cond := #in~cond; {1982#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:09,023 INFO L273 TraceCheckUtils]: 18: Hoare triple {1982#(<= ~SIZE~0 4)} assume !(0 == ~cond); {1982#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:09,024 INFO L273 TraceCheckUtils]: 19: Hoare triple {1982#(<= ~SIZE~0 4)} assume true; {1982#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:09,038 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {1982#(<= ~SIZE~0 4)} {2031#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} #60#return; {2031#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:09,039 INFO L273 TraceCheckUtils]: 21: Hoare triple {2031#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} havoc #t~mem4; {2031#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:09,040 INFO L273 TraceCheckUtils]: 22: Hoare triple {2031#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2056#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:09,041 INFO L273 TraceCheckUtils]: 23: Hoare triple {2056#(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); {2056#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:09,042 INFO L256 TraceCheckUtils]: 24: Hoare triple {2056#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1982#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:09,042 INFO L273 TraceCheckUtils]: 25: Hoare triple {1982#(<= ~SIZE~0 4)} ~cond := #in~cond; {1982#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:09,042 INFO L273 TraceCheckUtils]: 26: Hoare triple {1982#(<= ~SIZE~0 4)} assume !(0 == ~cond); {1982#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:09,043 INFO L273 TraceCheckUtils]: 27: Hoare triple {1982#(<= ~SIZE~0 4)} assume true; {1982#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:09,043 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1982#(<= ~SIZE~0 4)} {2056#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} #60#return; {2056#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:09,044 INFO L273 TraceCheckUtils]: 29: Hoare triple {2056#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} havoc #t~mem4; {2056#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:09,044 INFO L273 TraceCheckUtils]: 30: Hoare triple {2056#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2081#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:09,045 INFO L273 TraceCheckUtils]: 31: Hoare triple {2081#(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); {2081#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:09,046 INFO L256 TraceCheckUtils]: 32: Hoare triple {2081#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1982#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:09,047 INFO L273 TraceCheckUtils]: 33: Hoare triple {1982#(<= ~SIZE~0 4)} ~cond := #in~cond; {1982#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:09,047 INFO L273 TraceCheckUtils]: 34: Hoare triple {1982#(<= ~SIZE~0 4)} assume !(0 == ~cond); {1982#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:09,048 INFO L273 TraceCheckUtils]: 35: Hoare triple {1982#(<= ~SIZE~0 4)} assume true; {1982#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:09,049 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {1982#(<= ~SIZE~0 4)} {2081#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} #60#return; {2081#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:09,049 INFO L273 TraceCheckUtils]: 37: Hoare triple {2081#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} havoc #t~mem4; {2081#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:09,050 INFO L273 TraceCheckUtils]: 38: Hoare triple {2081#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2106#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:09,051 INFO L273 TraceCheckUtils]: 39: Hoare triple {2106#(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); {2106#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:09,052 INFO L256 TraceCheckUtils]: 40: Hoare triple {2106#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1982#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:09,052 INFO L273 TraceCheckUtils]: 41: Hoare triple {1982#(<= ~SIZE~0 4)} ~cond := #in~cond; {1982#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:09,053 INFO L273 TraceCheckUtils]: 42: Hoare triple {1982#(<= ~SIZE~0 4)} assume !(0 == ~cond); {1982#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:09,054 INFO L273 TraceCheckUtils]: 43: Hoare triple {1982#(<= ~SIZE~0 4)} assume true; {1982#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:09,055 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {1982#(<= ~SIZE~0 4)} {2106#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} #60#return; {2106#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:09,063 INFO L273 TraceCheckUtils]: 45: Hoare triple {2106#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} havoc #t~mem4; {2106#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:09,064 INFO L273 TraceCheckUtils]: 46: Hoare triple {2106#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2131#(and (<= 4 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:09,064 INFO L273 TraceCheckUtils]: 47: Hoare triple {2131#(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); {1977#false} is VALID [2018-11-23 12:23:09,065 INFO L256 TraceCheckUtils]: 48: Hoare triple {1977#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1977#false} is VALID [2018-11-23 12:23:09,065 INFO L273 TraceCheckUtils]: 49: Hoare triple {1977#false} ~cond := #in~cond; {1977#false} is VALID [2018-11-23 12:23:09,065 INFO L273 TraceCheckUtils]: 50: Hoare triple {1977#false} assume 0 == ~cond; {1977#false} is VALID [2018-11-23 12:23:09,065 INFO L273 TraceCheckUtils]: 51: Hoare triple {1977#false} assume !false; {1977#false} is VALID [2018-11-23 12:23:09,068 INFO L134 CoverageAnalysis]: Checked inductivity of 73 backedges. 40 proven. 9 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:23:09,089 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:09,089 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 12] total 15 [2018-11-23 12:23:09,090 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 52 [2018-11-23 12:23:09,090 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:09,090 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 12:23:09,156 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:09,156 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 12:23:09,156 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 12:23:09,157 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=129, Unknown=0, NotChecked=0, Total=210 [2018-11-23 12:23:09,157 INFO L87 Difference]: Start difference. First operand 55 states and 56 transitions. Second operand 15 states. [2018-11-23 12:23:10,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:10,188 INFO L93 Difference]: Finished difference Result 102 states and 104 transitions. [2018-11-23 12:23:10,188 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 12:23:10,188 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 52 [2018-11-23 12:23:10,188 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:10,188 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:23:10,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 65 transitions. [2018-11-23 12:23:10,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:23:10,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 65 transitions. [2018-11-23 12:23:10,194 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 65 transitions. [2018-11-23 12:23:10,309 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:10,311 INFO L225 Difference]: With dead ends: 102 [2018-11-23 12:23:10,311 INFO L226 Difference]: Without dead ends: 58 [2018-11-23 12:23:10,311 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 50 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 69 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=91, Invalid=149, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:23:10,312 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2018-11-23 12:23:10,607 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 57. [2018-11-23 12:23:10,607 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:10,607 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 57 states. [2018-11-23 12:23:10,607 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 57 states. [2018-11-23 12:23:10,608 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 57 states. [2018-11-23 12:23:10,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:10,611 INFO L93 Difference]: Finished difference Result 58 states and 59 transitions. [2018-11-23 12:23:10,611 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 59 transitions. [2018-11-23 12:23:10,611 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:10,611 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:10,611 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 58 states. [2018-11-23 12:23:10,611 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 58 states. [2018-11-23 12:23:10,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:10,613 INFO L93 Difference]: Finished difference Result 58 states and 59 transitions. [2018-11-23 12:23:10,614 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 59 transitions. [2018-11-23 12:23:10,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:10,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:10,614 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:10,614 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:10,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 57 states. [2018-11-23 12:23:10,617 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 58 transitions. [2018-11-23 12:23:10,618 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 58 transitions. Word has length 52 [2018-11-23 12:23:10,618 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:10,618 INFO L480 AbstractCegarLoop]: Abstraction has 57 states and 58 transitions. [2018-11-23 12:23:10,618 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 12:23:10,618 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 58 transitions. [2018-11-23 12:23:10,619 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2018-11-23 12:23:10,619 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:10,619 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:10,619 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:10,620 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:10,620 INFO L82 PathProgramCache]: Analyzing trace with hash -574780942, now seen corresponding path program 6 times [2018-11-23 12:23:10,620 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:10,620 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:10,621 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:10,621 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:10,621 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:10,663 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:12,061 INFO L256 TraceCheckUtils]: 0: Hoare triple {2487#true} call ULTIMATE.init(); {2487#true} is VALID [2018-11-23 12:23:12,061 INFO L273 TraceCheckUtils]: 1: Hoare triple {2487#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {2487#true} is VALID [2018-11-23 12:23:12,061 INFO L273 TraceCheckUtils]: 2: Hoare triple {2487#true} assume true; {2487#true} is VALID [2018-11-23 12:23:12,061 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2487#true} {2487#true} #56#return; {2487#true} is VALID [2018-11-23 12:23:12,062 INFO L256 TraceCheckUtils]: 4: Hoare triple {2487#true} call #t~ret5 := main(); {2487#true} is VALID [2018-11-23 12:23:12,062 INFO L273 TraceCheckUtils]: 5: Hoare triple {2487#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {2487#true} is VALID [2018-11-23 12:23:12,062 INFO L273 TraceCheckUtils]: 6: Hoare triple {2487#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {2489#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:23:12,067 INFO L273 TraceCheckUtils]: 7: Hoare triple {2489#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {2490#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:12,069 INFO L273 TraceCheckUtils]: 8: Hoare triple {2490#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {2491#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:12,070 INFO L273 TraceCheckUtils]: 9: Hoare triple {2491#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {2491#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:12,071 INFO L273 TraceCheckUtils]: 10: Hoare triple {2491#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {2492#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:12,072 INFO L273 TraceCheckUtils]: 11: Hoare triple {2492#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {2492#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:12,073 INFO L273 TraceCheckUtils]: 12: Hoare triple {2492#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {2493#(and (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset| 1) 0)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:12,075 INFO L273 TraceCheckUtils]: 13: Hoare triple {2493#(and (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset| 1) 0)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {2494#(and (or (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:12,077 INFO L273 TraceCheckUtils]: 14: Hoare triple {2494#(and (or (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {2495#(and (or (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (<= 0 (+ (* 3 main_~i~0) |main_~#a~0.offset| 2))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:12,078 INFO L273 TraceCheckUtils]: 15: Hoare triple {2495#(and (or (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 3) 4)))) (<= 0 (+ (* 3 main_~i~0) |main_~#a~0.offset| 2))) (= |main_~#a~0.offset| 0))} assume !(~i~0 >= 0); {2496#(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:23:12,079 INFO L273 TraceCheckUtils]: 16: Hoare triple {2496#(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; {2497#(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:23:12,080 INFO L273 TraceCheckUtils]: 17: Hoare triple {2497#(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); {2497#(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:23:12,080 INFO L256 TraceCheckUtils]: 18: Hoare triple {2497#(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)); {2487#true} is VALID [2018-11-23 12:23:12,081 INFO L273 TraceCheckUtils]: 19: Hoare triple {2487#true} ~cond := #in~cond; {2498#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:23:12,081 INFO L273 TraceCheckUtils]: 20: Hoare triple {2498#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {2499#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:12,083 INFO L273 TraceCheckUtils]: 21: Hoare triple {2499#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2499#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:12,084 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {2499#(not (= |__VERIFIER_assert_#in~cond| 0))} {2497#(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))} #60#return; {2497#(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:23:12,085 INFO L273 TraceCheckUtils]: 23: Hoare triple {2497#(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; {2497#(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:23:12,086 INFO L273 TraceCheckUtils]: 24: Hoare triple {2497#(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; {2500#(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:23:12,088 INFO L273 TraceCheckUtils]: 25: Hoare triple {2500#(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); {2500#(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:23:12,088 INFO L256 TraceCheckUtils]: 26: Hoare triple {2500#(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)); {2487#true} is VALID [2018-11-23 12:23:12,088 INFO L273 TraceCheckUtils]: 27: Hoare triple {2487#true} ~cond := #in~cond; {2487#true} is VALID [2018-11-23 12:23:12,088 INFO L273 TraceCheckUtils]: 28: Hoare triple {2487#true} assume !(0 == ~cond); {2487#true} is VALID [2018-11-23 12:23:12,089 INFO L273 TraceCheckUtils]: 29: Hoare triple {2487#true} assume true; {2487#true} is VALID [2018-11-23 12:23:12,090 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {2487#true} {2500#(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))} #60#return; {2500#(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:23:12,091 INFO L273 TraceCheckUtils]: 31: Hoare triple {2500#(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; {2500#(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:23:12,091 INFO L273 TraceCheckUtils]: 32: Hoare triple {2500#(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; {2491#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:12,093 INFO L273 TraceCheckUtils]: 33: Hoare triple {2491#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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); {2491#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:12,093 INFO L256 TraceCheckUtils]: 34: Hoare triple {2491#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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)); {2487#true} is VALID [2018-11-23 12:23:12,093 INFO L273 TraceCheckUtils]: 35: Hoare triple {2487#true} ~cond := #in~cond; {2487#true} is VALID [2018-11-23 12:23:12,093 INFO L273 TraceCheckUtils]: 36: Hoare triple {2487#true} assume !(0 == ~cond); {2487#true} is VALID [2018-11-23 12:23:12,094 INFO L273 TraceCheckUtils]: 37: Hoare triple {2487#true} assume true; {2487#true} is VALID [2018-11-23 12:23:12,099 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {2487#true} {2491#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} #60#return; {2491#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:12,099 INFO L273 TraceCheckUtils]: 39: Hoare triple {2491#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {2491#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:12,101 INFO L273 TraceCheckUtils]: 40: Hoare triple {2491#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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; {2501#(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:12,101 INFO L273 TraceCheckUtils]: 41: Hoare triple {2501#(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); {2501#(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:12,101 INFO L256 TraceCheckUtils]: 42: Hoare triple {2501#(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)); {2487#true} is VALID [2018-11-23 12:23:12,102 INFO L273 TraceCheckUtils]: 43: Hoare triple {2487#true} ~cond := #in~cond; {2487#true} is VALID [2018-11-23 12:23:12,102 INFO L273 TraceCheckUtils]: 44: Hoare triple {2487#true} assume !(0 == ~cond); {2487#true} is VALID [2018-11-23 12:23:12,102 INFO L273 TraceCheckUtils]: 45: Hoare triple {2487#true} assume true; {2487#true} is VALID [2018-11-23 12:23:12,103 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {2487#true} {2501#(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))} #60#return; {2501#(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:12,103 INFO L273 TraceCheckUtils]: 47: Hoare triple {2501#(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; {2501#(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:12,105 INFO L273 TraceCheckUtils]: 48: Hoare triple {2501#(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; {2502#(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:12,106 INFO L273 TraceCheckUtils]: 49: Hoare triple {2502#(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); {2503#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:23:12,106 INFO L256 TraceCheckUtils]: 50: Hoare triple {2503#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2499#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:12,108 INFO L273 TraceCheckUtils]: 51: Hoare triple {2499#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {2504#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:23:12,108 INFO L273 TraceCheckUtils]: 52: Hoare triple {2504#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {2488#false} is VALID [2018-11-23 12:23:12,109 INFO L273 TraceCheckUtils]: 53: Hoare triple {2488#false} assume !false; {2488#false} is VALID [2018-11-23 12:23:12,118 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 11 proven. 54 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 12:23:12,118 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:12,118 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:12,127 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:23:12,161 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2018-11-23 12:23:12,161 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:12,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:12,179 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:12,209 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 25 treesize of output 22 [2018-11-23 12:23:12,213 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 25 [2018-11-23 12:23:12,226 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,227 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,227 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 25 treesize of output 53 [2018-11-23 12:23:12,232 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:12,241 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:12,247 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:12,256 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:12,256 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:29, output treesize:29 [2018-11-23 12:23:12,347 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 54 treesize of output 47 [2018-11-23 12:23:12,356 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,358 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,359 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,361 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,363 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,365 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,366 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 129 [2018-11-23 12:23:12,376 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 89 treesize of output 114 [2018-11-23 12:23:12,379 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:12,398 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:12,406 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:12,418 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:12,419 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:57, output treesize:43 [2018-11-23 12:23:12,533 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 68 treesize of output 59 [2018-11-23 12:23:12,542 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,543 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,544 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,545 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,547 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,548 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,550 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,551 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,553 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,554 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,559 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,560 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,561 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 12 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 59 treesize of output 229 [2018-11-23 12:23:12,590 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 0 case distinctions, treesize of input 148 treesize of output 219 [2018-11-23 12:23:12,593 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:12,631 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:12,642 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:12,654 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:12,655 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:71, output treesize:57 [2018-11-23 12:23:12,791 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 82 treesize of output 71 [2018-11-23 12:23:12,817 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,818 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,819 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,820 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,821 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,822 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,823 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,825 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,826 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,827 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,829 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,830 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,831 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,832 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,833 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,835 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,836 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,838 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,839 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,840 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:12,842 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 20 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 71 treesize of output 361 [2018-11-23 12:23:12,865 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 0 case distinctions, treesize of input 225 treesize of output 360 [2018-11-23 12:23:12,869 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:12,929 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:12,942 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:12,960 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:12,960 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:88, output treesize:74 [2018-11-23 12:23:17,295 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 71 treesize of output 59 [2018-11-23 12:23:17,309 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,310 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,311 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,312 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,312 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,315 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,316 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,317 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,319 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,320 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,321 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,322 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,323 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,325 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,325 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:23:17,327 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,328 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,330 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,331 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,333 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,334 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,336 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,337 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,339 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,340 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,344 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 20 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 59 treesize of output 237 [2018-11-23 12:23:17,348 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:17,389 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,401 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:17,401 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:80, output treesize:7 [2018-11-23 12:23:17,405 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:17,405 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, v_main_~i~0_39]. (let ((.cse1 (* 4 v_main_~i~0_39)) (.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= (+ v_main_~i~0_39 3) (select .cse0 (+ .cse1 12))) (= (+ v_main_~i~0_39 2) (select .cse0 (+ .cse1 8))) (= v_main_~i~0_39 (select .cse0 .cse1)) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select .cse0 (+ .cse1 16))) (<= 0 v_main_~i~0_39) (= (select .cse0 (+ .cse1 4)) (+ v_main_~i~0_39 1)) (<= (select .cse0 (* 4 main_~i~0)) |main_#t~mem4|) (= main_~i~0 4))) [2018-11-23 12:23:17,406 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 4 |main_#t~mem4|) (= main_~i~0 4)) [2018-11-23 12:23:17,534 INFO L256 TraceCheckUtils]: 0: Hoare triple {2487#true} call ULTIMATE.init(); {2487#true} is VALID [2018-11-23 12:23:17,535 INFO L273 TraceCheckUtils]: 1: Hoare triple {2487#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {2487#true} is VALID [2018-11-23 12:23:17,535 INFO L273 TraceCheckUtils]: 2: Hoare triple {2487#true} assume true; {2487#true} is VALID [2018-11-23 12:23:17,535 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2487#true} {2487#true} #56#return; {2487#true} is VALID [2018-11-23 12:23:17,535 INFO L256 TraceCheckUtils]: 4: Hoare triple {2487#true} call #t~ret5 := main(); {2487#true} is VALID [2018-11-23 12:23:17,535 INFO L273 TraceCheckUtils]: 5: Hoare triple {2487#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {2487#true} is VALID [2018-11-23 12:23:17,536 INFO L273 TraceCheckUtils]: 6: Hoare triple {2487#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {2489#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:23:17,536 INFO L273 TraceCheckUtils]: 7: Hoare triple {2489#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {2529#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,538 INFO L273 TraceCheckUtils]: 8: Hoare triple {2529#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {2533#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,539 INFO L273 TraceCheckUtils]: 9: Hoare triple {2533#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {2537#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,540 INFO L273 TraceCheckUtils]: 10: Hoare triple {2537#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {2541#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,541 INFO L273 TraceCheckUtils]: 11: Hoare triple {2541#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {2545#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,544 INFO L273 TraceCheckUtils]: 12: Hoare triple {2545#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {2549#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,546 INFO L273 TraceCheckUtils]: 13: Hoare triple {2549#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {2553#(and (<= 0 main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,548 INFO L273 TraceCheckUtils]: 14: Hoare triple {2553#(and (<= 0 main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {2557#(and (exists ((v_main_~i~0_39 Int)) (and (<= v_main_~i~0_39 (+ main_~i~0 1)) (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,551 INFO L273 TraceCheckUtils]: 15: Hoare triple {2557#(and (exists ((v_main_~i~0_39 Int)) (and (<= v_main_~i~0_39 (+ main_~i~0 1)) (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} assume !(~i~0 >= 0); {2561#(and (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,552 INFO L273 TraceCheckUtils]: 16: Hoare triple {2561#(and (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {2565#(and (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,554 INFO L273 TraceCheckUtils]: 17: Hoare triple {2565#(and (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |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); {2565#(and (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,557 INFO L256 TraceCheckUtils]: 18: Hoare triple {2565#(and (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |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)); {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} is VALID [2018-11-23 12:23:17,558 INFO L273 TraceCheckUtils]: 19: Hoare triple {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} ~cond := #in~cond; {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} is VALID [2018-11-23 12:23:17,558 INFO L273 TraceCheckUtils]: 20: Hoare triple {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} assume !(0 == ~cond); {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} is VALID [2018-11-23 12:23:17,559 INFO L273 TraceCheckUtils]: 21: Hoare triple {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} assume true; {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} is VALID [2018-11-23 12:23:17,560 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} {2565#(and (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #60#return; {2565#(and (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,561 INFO L273 TraceCheckUtils]: 23: Hoare triple {2565#(and (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {2565#(and (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,562 INFO L273 TraceCheckUtils]: 24: Hoare triple {2565#(and (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |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; {2591#(and (= main_~i~0 1) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,564 INFO L273 TraceCheckUtils]: 25: Hoare triple {2591#(and (= main_~i~0 1) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2591#(and (= main_~i~0 1) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,567 INFO L256 TraceCheckUtils]: 26: Hoare triple {2591#(and (= main_~i~0 1) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} is VALID [2018-11-23 12:23:17,568 INFO L273 TraceCheckUtils]: 27: Hoare triple {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} ~cond := #in~cond; {2601#(and (exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:23:17,569 INFO L273 TraceCheckUtils]: 28: Hoare triple {2601#(and (exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {2605#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39))))} is VALID [2018-11-23 12:23:17,570 INFO L273 TraceCheckUtils]: 29: Hoare triple {2605#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39))))} assume true; {2605#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39))))} is VALID [2018-11-23 12:23:17,571 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {2605#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39))))} {2591#(and (= main_~i~0 1) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} #60#return; {2591#(and (= main_~i~0 1) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,572 INFO L273 TraceCheckUtils]: 31: Hoare triple {2591#(and (= main_~i~0 1) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {2591#(and (= main_~i~0 1) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,574 INFO L273 TraceCheckUtils]: 32: Hoare triple {2591#(and (= main_~i~0 1) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2618#(and (= main_~i~0 2) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,576 INFO L273 TraceCheckUtils]: 33: Hoare triple {2618#(and (= main_~i~0 2) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2618#(and (= main_~i~0 2) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,579 INFO L256 TraceCheckUtils]: 34: Hoare triple {2618#(and (= main_~i~0 2) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} is VALID [2018-11-23 12:23:17,580 INFO L273 TraceCheckUtils]: 35: Hoare triple {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} ~cond := #in~cond; {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} is VALID [2018-11-23 12:23:17,580 INFO L273 TraceCheckUtils]: 36: Hoare triple {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} assume !(0 == ~cond); {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} is VALID [2018-11-23 12:23:17,581 INFO L273 TraceCheckUtils]: 37: Hoare triple {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} assume true; {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} is VALID [2018-11-23 12:23:17,582 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} {2618#(and (= main_~i~0 2) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} #60#return; {2618#(and (= main_~i~0 2) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,582 INFO L273 TraceCheckUtils]: 39: Hoare triple {2618#(and (= main_~i~0 2) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {2618#(and (= main_~i~0 2) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,584 INFO L273 TraceCheckUtils]: 40: Hoare triple {2618#(and (= main_~i~0 2) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2643#(and (= main_~i~0 3) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,585 INFO L273 TraceCheckUtils]: 41: Hoare triple {2643#(and (= main_~i~0 3) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2643#(and (= main_~i~0 3) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,589 INFO L256 TraceCheckUtils]: 42: Hoare triple {2643#(and (= main_~i~0 3) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} is VALID [2018-11-23 12:23:17,590 INFO L273 TraceCheckUtils]: 43: Hoare triple {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} ~cond := #in~cond; {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} is VALID [2018-11-23 12:23:17,590 INFO L273 TraceCheckUtils]: 44: Hoare triple {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} assume !(0 == ~cond); {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} is VALID [2018-11-23 12:23:17,591 INFO L273 TraceCheckUtils]: 45: Hoare triple {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} assume true; {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} is VALID [2018-11-23 12:23:17,592 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {2572#(exists ((v_main_~i~0_39 Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (and (= (+ v_main_~i~0_39 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 8))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 12)) (+ v_main_~i~0_39 3)) (= v_main_~i~0_39 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_39))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_39) 16)) (+ v_main_~i~0_39 4)) (<= v_main_~i~0_39 0) (<= 0 v_main_~i~0_39)))} {2643#(and (= main_~i~0 3) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} #60#return; {2643#(and (= main_~i~0 3) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,594 INFO L273 TraceCheckUtils]: 47: Hoare triple {2643#(and (= main_~i~0 3) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {2643#(and (= main_~i~0 3) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,596 INFO L273 TraceCheckUtils]: 48: Hoare triple {2643#(and (= main_~i~0 3) (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2668#(and (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 4))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:17,598 INFO L273 TraceCheckUtils]: 49: Hoare triple {2668#(and (exists ((v_main_~i~0_39 Int)) (and (= (+ v_main_~i~0_39 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 12))) (<= v_main_~i~0_39 0) (= (+ v_main_~i~0_39 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 16))) (<= 0 v_main_~i~0_39) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset| 8)) (+ v_main_~i~0_39 2)) (= v_main_~i~0_39 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |main_~#a~0.offset|))) (= (+ v_main_~i~0_39 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_39) |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); {2672#(and (<= 4 |main_#t~mem4|) (= main_~i~0 4))} is VALID [2018-11-23 12:23:17,599 INFO L256 TraceCheckUtils]: 50: Hoare triple {2672#(and (<= 4 |main_#t~mem4|) (= main_~i~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2676#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:23:17,600 INFO L273 TraceCheckUtils]: 51: Hoare triple {2676#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {2680#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:23:17,600 INFO L273 TraceCheckUtils]: 52: Hoare triple {2680#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2488#false} is VALID [2018-11-23 12:23:17,601 INFO L273 TraceCheckUtils]: 53: Hoare triple {2488#false} assume !false; {2488#false} is VALID [2018-11-23 12:23:17,634 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 16 proven. 49 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 12:23:17,653 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:17,653 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 23] total 38 [2018-11-23 12:23:17,654 INFO L78 Accepts]: Start accepts. Automaton has 38 states. Word has length 54 [2018-11-23 12:23:17,654 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:17,655 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 38 states. [2018-11-23 12:23:17,820 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:17,820 INFO L459 AbstractCegarLoop]: Interpolant automaton has 38 states [2018-11-23 12:23:17,820 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2018-11-23 12:23:17,821 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=255, Invalid=1151, Unknown=0, NotChecked=0, Total=1406 [2018-11-23 12:23:17,822 INFO L87 Difference]: Start difference. First operand 57 states and 58 transitions. Second operand 38 states. [2018-11-23 12:23:21,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:21,856 INFO L93 Difference]: Finished difference Result 69 states and 70 transitions. [2018-11-23 12:23:21,856 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2018-11-23 12:23:21,856 INFO L78 Accepts]: Start accepts. Automaton has 38 states. Word has length 54 [2018-11-23 12:23:21,857 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:21,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2018-11-23 12:23:21,859 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 58 transitions. [2018-11-23 12:23:21,859 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2018-11-23 12:23:21,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 58 transitions. [2018-11-23 12:23:21,861 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states and 58 transitions. [2018-11-23 12:23:22,009 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:22,011 INFO L225 Difference]: With dead ends: 69 [2018-11-23 12:23:22,011 INFO L226 Difference]: Without dead ends: 67 [2018-11-23 12:23:22,012 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 30 SyntacticMatches, 11 SemanticMatches, 51 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 873 ImplicationChecksByTransitivity, 3.3s TimeCoverageRelationStatistics Valid=519, Invalid=2237, Unknown=0, NotChecked=0, Total=2756 [2018-11-23 12:23:22,013 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2018-11-23 12:23:22,552 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 65. [2018-11-23 12:23:22,553 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:22,553 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand 65 states. [2018-11-23 12:23:22,553 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 65 states. [2018-11-23 12:23:22,553 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 65 states. [2018-11-23 12:23:22,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:22,557 INFO L93 Difference]: Finished difference Result 67 states and 68 transitions. [2018-11-23 12:23:22,557 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 68 transitions. [2018-11-23 12:23:22,557 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:22,557 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:22,557 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 67 states. [2018-11-23 12:23:22,558 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 67 states. [2018-11-23 12:23:22,560 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:22,560 INFO L93 Difference]: Finished difference Result 67 states and 68 transitions. [2018-11-23 12:23:22,560 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 68 transitions. [2018-11-23 12:23:22,561 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:22,561 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:22,561 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:22,561 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:22,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 65 states. [2018-11-23 12:23:22,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 66 transitions. [2018-11-23 12:23:22,563 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 66 transitions. Word has length 54 [2018-11-23 12:23:22,564 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:22,564 INFO L480 AbstractCegarLoop]: Abstraction has 65 states and 66 transitions. [2018-11-23 12:23:22,564 INFO L481 AbstractCegarLoop]: Interpolant automaton has 38 states. [2018-11-23 12:23:22,564 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 66 transitions. [2018-11-23 12:23:22,564 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2018-11-23 12:23:22,565 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:22,565 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 6, 5, 5, 5, 5, 5, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:22,565 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:22,565 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:22,565 INFO L82 PathProgramCache]: Analyzing trace with hash 1961871397, now seen corresponding path program 7 times [2018-11-23 12:23:22,565 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:22,566 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:22,566 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:22,566 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:22,567 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:22,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:22,913 INFO L256 TraceCheckUtils]: 0: Hoare triple {3039#true} call ULTIMATE.init(); {3039#true} is VALID [2018-11-23 12:23:22,913 INFO L273 TraceCheckUtils]: 1: Hoare triple {3039#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {3039#true} is VALID [2018-11-23 12:23:22,914 INFO L273 TraceCheckUtils]: 2: Hoare triple {3039#true} assume true; {3039#true} is VALID [2018-11-23 12:23:22,914 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3039#true} {3039#true} #56#return; {3039#true} is VALID [2018-11-23 12:23:22,914 INFO L256 TraceCheckUtils]: 4: Hoare triple {3039#true} call #t~ret5 := main(); {3039#true} is VALID [2018-11-23 12:23:22,914 INFO L273 TraceCheckUtils]: 5: Hoare triple {3039#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {3039#true} is VALID [2018-11-23 12:23:22,915 INFO L273 TraceCheckUtils]: 6: Hoare triple {3039#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {3041#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:22,916 INFO L273 TraceCheckUtils]: 7: Hoare triple {3041#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3041#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:22,916 INFO L273 TraceCheckUtils]: 8: Hoare triple {3041#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3042#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:22,917 INFO L273 TraceCheckUtils]: 9: Hoare triple {3042#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3042#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:22,918 INFO L273 TraceCheckUtils]: 10: Hoare triple {3042#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3043#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:22,918 INFO L273 TraceCheckUtils]: 11: Hoare triple {3043#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3043#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:22,919 INFO L273 TraceCheckUtils]: 12: Hoare triple {3043#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3044#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:22,920 INFO L273 TraceCheckUtils]: 13: Hoare triple {3044#(<= ~SIZE~0 (+ main_~i~0 5))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3044#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:22,921 INFO L273 TraceCheckUtils]: 14: Hoare triple {3044#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3045#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:23:22,921 INFO L273 TraceCheckUtils]: 15: Hoare triple {3045#(<= ~SIZE~0 (+ main_~i~0 6))} assume !(~i~0 >= 0); {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:22,922 INFO L273 TraceCheckUtils]: 16: Hoare triple {3046#(<= ~SIZE~0 5)} ~i~0 := 0; {3047#(and (<= ~SIZE~0 5) (= main_~i~0 0))} is VALID [2018-11-23 12:23:22,923 INFO L273 TraceCheckUtils]: 17: Hoare triple {3047#(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); {3047#(and (<= ~SIZE~0 5) (= main_~i~0 0))} is VALID [2018-11-23 12:23:22,923 INFO L256 TraceCheckUtils]: 18: Hoare triple {3047#(and (<= ~SIZE~0 5) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3039#true} is VALID [2018-11-23 12:23:22,923 INFO L273 TraceCheckUtils]: 19: Hoare triple {3039#true} ~cond := #in~cond; {3039#true} is VALID [2018-11-23 12:23:22,924 INFO L273 TraceCheckUtils]: 20: Hoare triple {3039#true} assume !(0 == ~cond); {3039#true} is VALID [2018-11-23 12:23:22,924 INFO L273 TraceCheckUtils]: 21: Hoare triple {3039#true} assume true; {3039#true} is VALID [2018-11-23 12:23:22,925 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {3039#true} {3047#(and (<= ~SIZE~0 5) (= main_~i~0 0))} #60#return; {3047#(and (<= ~SIZE~0 5) (= main_~i~0 0))} is VALID [2018-11-23 12:23:22,925 INFO L273 TraceCheckUtils]: 23: Hoare triple {3047#(and (<= ~SIZE~0 5) (= main_~i~0 0))} havoc #t~mem4; {3047#(and (<= ~SIZE~0 5) (= main_~i~0 0))} is VALID [2018-11-23 12:23:22,926 INFO L273 TraceCheckUtils]: 24: Hoare triple {3047#(and (<= ~SIZE~0 5) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3043#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:22,927 INFO L273 TraceCheckUtils]: 25: Hoare triple {3043#(<= ~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); {3043#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:22,927 INFO L256 TraceCheckUtils]: 26: Hoare triple {3043#(<= ~SIZE~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3039#true} is VALID [2018-11-23 12:23:22,927 INFO L273 TraceCheckUtils]: 27: Hoare triple {3039#true} ~cond := #in~cond; {3039#true} is VALID [2018-11-23 12:23:22,927 INFO L273 TraceCheckUtils]: 28: Hoare triple {3039#true} assume !(0 == ~cond); {3039#true} is VALID [2018-11-23 12:23:22,928 INFO L273 TraceCheckUtils]: 29: Hoare triple {3039#true} assume true; {3039#true} is VALID [2018-11-23 12:23:22,928 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {3039#true} {3043#(<= ~SIZE~0 (+ main_~i~0 4))} #60#return; {3043#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:22,929 INFO L273 TraceCheckUtils]: 31: Hoare triple {3043#(<= ~SIZE~0 (+ main_~i~0 4))} havoc #t~mem4; {3043#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:22,930 INFO L273 TraceCheckUtils]: 32: Hoare triple {3043#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3042#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:22,930 INFO L273 TraceCheckUtils]: 33: Hoare triple {3042#(<= ~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); {3042#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:22,931 INFO L256 TraceCheckUtils]: 34: Hoare triple {3042#(<= ~SIZE~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3039#true} is VALID [2018-11-23 12:23:22,931 INFO L273 TraceCheckUtils]: 35: Hoare triple {3039#true} ~cond := #in~cond; {3039#true} is VALID [2018-11-23 12:23:22,931 INFO L273 TraceCheckUtils]: 36: Hoare triple {3039#true} assume !(0 == ~cond); {3039#true} is VALID [2018-11-23 12:23:22,931 INFO L273 TraceCheckUtils]: 37: Hoare triple {3039#true} assume true; {3039#true} is VALID [2018-11-23 12:23:22,932 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {3039#true} {3042#(<= ~SIZE~0 (+ main_~i~0 3))} #60#return; {3042#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:22,933 INFO L273 TraceCheckUtils]: 39: Hoare triple {3042#(<= ~SIZE~0 (+ main_~i~0 3))} havoc #t~mem4; {3042#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:22,934 INFO L273 TraceCheckUtils]: 40: Hoare triple {3042#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3041#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:22,934 INFO L273 TraceCheckUtils]: 41: Hoare triple {3041#(<= ~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); {3041#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:22,934 INFO L256 TraceCheckUtils]: 42: Hoare triple {3041#(<= ~SIZE~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3039#true} is VALID [2018-11-23 12:23:22,935 INFO L273 TraceCheckUtils]: 43: Hoare triple {3039#true} ~cond := #in~cond; {3039#true} is VALID [2018-11-23 12:23:22,935 INFO L273 TraceCheckUtils]: 44: Hoare triple {3039#true} assume !(0 == ~cond); {3039#true} is VALID [2018-11-23 12:23:22,935 INFO L273 TraceCheckUtils]: 45: Hoare triple {3039#true} assume true; {3039#true} is VALID [2018-11-23 12:23:22,936 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {3039#true} {3041#(<= ~SIZE~0 (+ main_~i~0 2))} #60#return; {3041#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:22,936 INFO L273 TraceCheckUtils]: 47: Hoare triple {3041#(<= ~SIZE~0 (+ main_~i~0 2))} havoc #t~mem4; {3041#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:22,937 INFO L273 TraceCheckUtils]: 48: Hoare triple {3041#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3048#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:22,938 INFO L273 TraceCheckUtils]: 49: Hoare triple {3048#(<= ~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); {3048#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:22,938 INFO L256 TraceCheckUtils]: 50: Hoare triple {3048#(<= ~SIZE~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3039#true} is VALID [2018-11-23 12:23:22,938 INFO L273 TraceCheckUtils]: 51: Hoare triple {3039#true} ~cond := #in~cond; {3039#true} is VALID [2018-11-23 12:23:22,939 INFO L273 TraceCheckUtils]: 52: Hoare triple {3039#true} assume !(0 == ~cond); {3039#true} is VALID [2018-11-23 12:23:22,939 INFO L273 TraceCheckUtils]: 53: Hoare triple {3039#true} assume true; {3039#true} is VALID [2018-11-23 12:23:22,940 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {3039#true} {3048#(<= ~SIZE~0 (+ main_~i~0 1))} #60#return; {3048#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:22,940 INFO L273 TraceCheckUtils]: 55: Hoare triple {3048#(<= ~SIZE~0 (+ main_~i~0 1))} havoc #t~mem4; {3048#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:22,941 INFO L273 TraceCheckUtils]: 56: Hoare triple {3048#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3049#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-23 12:23:22,942 INFO L273 TraceCheckUtils]: 57: Hoare triple {3049#(<= ~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); {3040#false} is VALID [2018-11-23 12:23:22,942 INFO L256 TraceCheckUtils]: 58: Hoare triple {3040#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3040#false} is VALID [2018-11-23 12:23:22,942 INFO L273 TraceCheckUtils]: 59: Hoare triple {3040#false} ~cond := #in~cond; {3040#false} is VALID [2018-11-23 12:23:22,942 INFO L273 TraceCheckUtils]: 60: Hoare triple {3040#false} assume 0 == ~cond; {3040#false} is VALID [2018-11-23 12:23:22,943 INFO L273 TraceCheckUtils]: 61: Hoare triple {3040#false} assume !false; {3040#false} is VALID [2018-11-23 12:23:22,947 INFO L134 CoverageAnalysis]: Checked inductivity of 116 backedges. 43 proven. 33 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-23 12:23:22,947 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:22,947 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:22,955 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:23:22,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:22,991 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:22,993 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:23,223 INFO L256 TraceCheckUtils]: 0: Hoare triple {3039#true} call ULTIMATE.init(); {3039#true} is VALID [2018-11-23 12:23:23,223 INFO L273 TraceCheckUtils]: 1: Hoare triple {3039#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {3039#true} is VALID [2018-11-23 12:23:23,224 INFO L273 TraceCheckUtils]: 2: Hoare triple {3039#true} assume true; {3039#true} is VALID [2018-11-23 12:23:23,224 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3039#true} {3039#true} #56#return; {3039#true} is VALID [2018-11-23 12:23:23,224 INFO L256 TraceCheckUtils]: 4: Hoare triple {3039#true} call #t~ret5 := main(); {3039#true} is VALID [2018-11-23 12:23:23,224 INFO L273 TraceCheckUtils]: 5: Hoare triple {3039#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {3039#true} is VALID [2018-11-23 12:23:23,225 INFO L273 TraceCheckUtils]: 6: Hoare triple {3039#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {3041#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:23,226 INFO L273 TraceCheckUtils]: 7: Hoare triple {3041#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3041#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:23,226 INFO L273 TraceCheckUtils]: 8: Hoare triple {3041#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3042#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:23,226 INFO L273 TraceCheckUtils]: 9: Hoare triple {3042#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3042#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:23,227 INFO L273 TraceCheckUtils]: 10: Hoare triple {3042#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3043#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:23,227 INFO L273 TraceCheckUtils]: 11: Hoare triple {3043#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3043#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:23,228 INFO L273 TraceCheckUtils]: 12: Hoare triple {3043#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3044#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:23,228 INFO L273 TraceCheckUtils]: 13: Hoare triple {3044#(<= ~SIZE~0 (+ main_~i~0 5))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3044#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:23,229 INFO L273 TraceCheckUtils]: 14: Hoare triple {3044#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3045#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:23:23,229 INFO L273 TraceCheckUtils]: 15: Hoare triple {3045#(<= ~SIZE~0 (+ main_~i~0 6))} assume !(~i~0 >= 0); {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,230 INFO L273 TraceCheckUtils]: 16: Hoare triple {3046#(<= ~SIZE~0 5)} ~i~0 := 0; {3101#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:23,231 INFO L273 TraceCheckUtils]: 17: Hoare triple {3101#(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); {3101#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:23,232 INFO L256 TraceCheckUtils]: 18: Hoare triple {3101#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,233 INFO L273 TraceCheckUtils]: 19: Hoare triple {3046#(<= ~SIZE~0 5)} ~cond := #in~cond; {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,233 INFO L273 TraceCheckUtils]: 20: Hoare triple {3046#(<= ~SIZE~0 5)} assume !(0 == ~cond); {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,234 INFO L273 TraceCheckUtils]: 21: Hoare triple {3046#(<= ~SIZE~0 5)} assume true; {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,235 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {3046#(<= ~SIZE~0 5)} {3101#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} #60#return; {3101#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:23,235 INFO L273 TraceCheckUtils]: 23: Hoare triple {3101#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} havoc #t~mem4; {3101#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:23,236 INFO L273 TraceCheckUtils]: 24: Hoare triple {3101#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3126#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:23,237 INFO L273 TraceCheckUtils]: 25: Hoare triple {3126#(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); {3126#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:23,238 INFO L256 TraceCheckUtils]: 26: Hoare triple {3126#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,238 INFO L273 TraceCheckUtils]: 27: Hoare triple {3046#(<= ~SIZE~0 5)} ~cond := #in~cond; {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,239 INFO L273 TraceCheckUtils]: 28: Hoare triple {3046#(<= ~SIZE~0 5)} assume !(0 == ~cond); {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,239 INFO L273 TraceCheckUtils]: 29: Hoare triple {3046#(<= ~SIZE~0 5)} assume true; {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,240 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {3046#(<= ~SIZE~0 5)} {3126#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} #60#return; {3126#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:23,241 INFO L273 TraceCheckUtils]: 31: Hoare triple {3126#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} havoc #t~mem4; {3126#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:23,242 INFO L273 TraceCheckUtils]: 32: Hoare triple {3126#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3151#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:23,243 INFO L273 TraceCheckUtils]: 33: Hoare triple {3151#(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); {3151#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:23,244 INFO L256 TraceCheckUtils]: 34: Hoare triple {3151#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,244 INFO L273 TraceCheckUtils]: 35: Hoare triple {3046#(<= ~SIZE~0 5)} ~cond := #in~cond; {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,245 INFO L273 TraceCheckUtils]: 36: Hoare triple {3046#(<= ~SIZE~0 5)} assume !(0 == ~cond); {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,245 INFO L273 TraceCheckUtils]: 37: Hoare triple {3046#(<= ~SIZE~0 5)} assume true; {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,246 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {3046#(<= ~SIZE~0 5)} {3151#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} #60#return; {3151#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:23,247 INFO L273 TraceCheckUtils]: 39: Hoare triple {3151#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} havoc #t~mem4; {3151#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:23,247 INFO L273 TraceCheckUtils]: 40: Hoare triple {3151#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3176#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:23,248 INFO L273 TraceCheckUtils]: 41: Hoare triple {3176#(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); {3176#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:23,249 INFO L256 TraceCheckUtils]: 42: Hoare triple {3176#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,250 INFO L273 TraceCheckUtils]: 43: Hoare triple {3046#(<= ~SIZE~0 5)} ~cond := #in~cond; {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,250 INFO L273 TraceCheckUtils]: 44: Hoare triple {3046#(<= ~SIZE~0 5)} assume !(0 == ~cond); {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,251 INFO L273 TraceCheckUtils]: 45: Hoare triple {3046#(<= ~SIZE~0 5)} assume true; {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,252 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {3046#(<= ~SIZE~0 5)} {3176#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} #60#return; {3176#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:23,252 INFO L273 TraceCheckUtils]: 47: Hoare triple {3176#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} havoc #t~mem4; {3176#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:23,253 INFO L273 TraceCheckUtils]: 48: Hoare triple {3176#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3201#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:23,254 INFO L273 TraceCheckUtils]: 49: Hoare triple {3201#(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); {3201#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:23,255 INFO L256 TraceCheckUtils]: 50: Hoare triple {3201#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,256 INFO L273 TraceCheckUtils]: 51: Hoare triple {3046#(<= ~SIZE~0 5)} ~cond := #in~cond; {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,256 INFO L273 TraceCheckUtils]: 52: Hoare triple {3046#(<= ~SIZE~0 5)} assume !(0 == ~cond); {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,257 INFO L273 TraceCheckUtils]: 53: Hoare triple {3046#(<= ~SIZE~0 5)} assume true; {3046#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:23,269 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {3046#(<= ~SIZE~0 5)} {3201#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} #60#return; {3201#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:23,270 INFO L273 TraceCheckUtils]: 55: Hoare triple {3201#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} havoc #t~mem4; {3201#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:23,270 INFO L273 TraceCheckUtils]: 56: Hoare triple {3201#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3226#(and (<= 5 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:23,271 INFO L273 TraceCheckUtils]: 57: Hoare triple {3226#(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); {3040#false} is VALID [2018-11-23 12:23:23,271 INFO L256 TraceCheckUtils]: 58: Hoare triple {3040#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3040#false} is VALID [2018-11-23 12:23:23,271 INFO L273 TraceCheckUtils]: 59: Hoare triple {3040#false} ~cond := #in~cond; {3040#false} is VALID [2018-11-23 12:23:23,271 INFO L273 TraceCheckUtils]: 60: Hoare triple {3040#false} assume 0 == ~cond; {3040#false} is VALID [2018-11-23 12:23:23,271 INFO L273 TraceCheckUtils]: 61: Hoare triple {3040#false} assume !false; {3040#false} is VALID [2018-11-23 12:23:23,276 INFO L134 CoverageAnalysis]: Checked inductivity of 116 backedges. 60 proven. 16 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-23 12:23:23,294 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:23,295 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 14] total 17 [2018-11-23 12:23:23,295 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 62 [2018-11-23 12:23:23,296 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:23,296 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-23 12:23:23,374 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:23,374 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-23 12:23:23,374 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-23 12:23:23,375 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=104, Invalid=168, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:23:23,375 INFO L87 Difference]: Start difference. First operand 65 states and 66 transitions. Second operand 17 states. [2018-11-23 12:23:25,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:25,094 INFO L93 Difference]: Finished difference Result 120 states and 122 transitions. [2018-11-23 12:23:25,095 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 12:23:25,095 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 62 [2018-11-23 12:23:25,095 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:25,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 12:23:25,098 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 72 transitions. [2018-11-23 12:23:25,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 12:23:25,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 72 transitions. [2018-11-23 12:23:25,100 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 72 transitions. [2018-11-23 12:23:25,179 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:25,181 INFO L225 Difference]: With dead ends: 120 [2018-11-23 12:23:25,181 INFO L226 Difference]: Without dead ends: 68 [2018-11-23 12:23:25,182 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 60 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 95 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=115, Invalid=191, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:23:25,182 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2018-11-23 12:23:25,803 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 67. [2018-11-23 12:23:25,804 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:25,804 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand 67 states. [2018-11-23 12:23:25,804 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 67 states. [2018-11-23 12:23:25,804 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 67 states. [2018-11-23 12:23:25,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:25,809 INFO L93 Difference]: Finished difference Result 68 states and 69 transitions. [2018-11-23 12:23:25,809 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 69 transitions. [2018-11-23 12:23:25,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:25,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:25,810 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 68 states. [2018-11-23 12:23:25,810 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 68 states. [2018-11-23 12:23:25,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:25,812 INFO L93 Difference]: Finished difference Result 68 states and 69 transitions. [2018-11-23 12:23:25,812 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 69 transitions. [2018-11-23 12:23:25,812 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:25,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:25,813 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:25,813 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:25,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 67 states. [2018-11-23 12:23:25,815 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 68 transitions. [2018-11-23 12:23:25,815 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 68 transitions. Word has length 62 [2018-11-23 12:23:25,815 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:25,815 INFO L480 AbstractCegarLoop]: Abstraction has 67 states and 68 transitions. [2018-11-23 12:23:25,815 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-23 12:23:25,815 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 68 transitions. [2018-11-23 12:23:25,816 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2018-11-23 12:23:25,816 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:25,816 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:25,817 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:25,817 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:25,817 INFO L82 PathProgramCache]: Analyzing trace with hash 658376355, now seen corresponding path program 8 times [2018-11-23 12:23:25,817 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:25,817 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:25,818 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:25,818 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:23:25,818 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:25,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:27,468 INFO L256 TraceCheckUtils]: 0: Hoare triple {3641#true} call ULTIMATE.init(); {3641#true} is VALID [2018-11-23 12:23:27,469 INFO L273 TraceCheckUtils]: 1: Hoare triple {3641#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {3641#true} is VALID [2018-11-23 12:23:27,469 INFO L273 TraceCheckUtils]: 2: Hoare triple {3641#true} assume true; {3641#true} is VALID [2018-11-23 12:23:27,470 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3641#true} {3641#true} #56#return; {3641#true} is VALID [2018-11-23 12:23:27,470 INFO L256 TraceCheckUtils]: 4: Hoare triple {3641#true} call #t~ret5 := main(); {3641#true} is VALID [2018-11-23 12:23:27,470 INFO L273 TraceCheckUtils]: 5: Hoare triple {3641#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {3641#true} is VALID [2018-11-23 12:23:27,471 INFO L273 TraceCheckUtils]: 6: Hoare triple {3641#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {3643#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:23:27,492 INFO L273 TraceCheckUtils]: 7: Hoare triple {3643#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3644#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,494 INFO L273 TraceCheckUtils]: 8: Hoare triple {3644#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3645#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,495 INFO L273 TraceCheckUtils]: 9: Hoare triple {3645#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3645#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,496 INFO L273 TraceCheckUtils]: 10: Hoare triple {3645#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3646#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,497 INFO L273 TraceCheckUtils]: 11: Hoare triple {3646#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3646#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,499 INFO L273 TraceCheckUtils]: 12: Hoare triple {3646#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3647#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,501 INFO L273 TraceCheckUtils]: 13: Hoare triple {3647#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3647#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,502 INFO L273 TraceCheckUtils]: 14: Hoare triple {3647#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3648#(and (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset| 1) 0)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,505 INFO L273 TraceCheckUtils]: 15: Hoare triple {3648#(and (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset| 1) 0)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3649#(and (<= 0 main_~i~0) (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,506 INFO L273 TraceCheckUtils]: 16: Hoare triple {3649#(and (<= 0 main_~i~0) (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4))))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3650#(and (<= 0 (+ main_~i~0 1)) (or (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (<= 0 (+ (* 3 main_~i~0) |main_~#a~0.offset| 2))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,507 INFO L273 TraceCheckUtils]: 17: Hoare triple {3650#(and (<= 0 (+ main_~i~0 1)) (or (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (<= 0 (+ (* 3 main_~i~0) |main_~#a~0.offset| 2))) (= |main_~#a~0.offset| 0))} assume !(~i~0 >= 0); {3651#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,507 INFO L273 TraceCheckUtils]: 18: Hoare triple {3651#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {3652#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,508 INFO L273 TraceCheckUtils]: 19: Hoare triple {3652#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3652#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,508 INFO L256 TraceCheckUtils]: 20: Hoare triple {3652#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3641#true} is VALID [2018-11-23 12:23:27,508 INFO L273 TraceCheckUtils]: 21: Hoare triple {3641#true} ~cond := #in~cond; {3653#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:23:27,509 INFO L273 TraceCheckUtils]: 22: Hoare triple {3653#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {3654#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:27,509 INFO L273 TraceCheckUtils]: 23: Hoare triple {3654#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3654#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:27,510 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {3654#(not (= |__VERIFIER_assert_#in~cond| 0))} {3652#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #60#return; {3652#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,511 INFO L273 TraceCheckUtils]: 25: Hoare triple {3652#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3652#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,512 INFO L273 TraceCheckUtils]: 26: Hoare triple {3652#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3655#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,513 INFO L273 TraceCheckUtils]: 27: Hoare triple {3655#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 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); {3655#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,513 INFO L256 TraceCheckUtils]: 28: Hoare triple {3655#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3641#true} is VALID [2018-11-23 12:23:27,513 INFO L273 TraceCheckUtils]: 29: Hoare triple {3641#true} ~cond := #in~cond; {3641#true} is VALID [2018-11-23 12:23:27,513 INFO L273 TraceCheckUtils]: 30: Hoare triple {3641#true} assume !(0 == ~cond); {3641#true} is VALID [2018-11-23 12:23:27,514 INFO L273 TraceCheckUtils]: 31: Hoare triple {3641#true} assume true; {3641#true} is VALID [2018-11-23 12:23:27,515 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {3641#true} {3655#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} #60#return; {3655#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,515 INFO L273 TraceCheckUtils]: 33: Hoare triple {3655#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3655#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,517 INFO L273 TraceCheckUtils]: 34: Hoare triple {3655#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3646#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,518 INFO L273 TraceCheckUtils]: 35: Hoare triple {3646#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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); {3646#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,518 INFO L256 TraceCheckUtils]: 36: Hoare triple {3646#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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)); {3641#true} is VALID [2018-11-23 12:23:27,518 INFO L273 TraceCheckUtils]: 37: Hoare triple {3641#true} ~cond := #in~cond; {3641#true} is VALID [2018-11-23 12:23:27,519 INFO L273 TraceCheckUtils]: 38: Hoare triple {3641#true} assume !(0 == ~cond); {3641#true} is VALID [2018-11-23 12:23:27,519 INFO L273 TraceCheckUtils]: 39: Hoare triple {3641#true} assume true; {3641#true} is VALID [2018-11-23 12:23:27,520 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {3641#true} {3646#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} #60#return; {3646#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,521 INFO L273 TraceCheckUtils]: 41: Hoare triple {3646#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3646#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,522 INFO L273 TraceCheckUtils]: 42: Hoare triple {3646#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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; {3645#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,523 INFO L273 TraceCheckUtils]: 43: Hoare triple {3645#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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); {3645#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,523 INFO L256 TraceCheckUtils]: 44: Hoare triple {3645#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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)); {3641#true} is VALID [2018-11-23 12:23:27,524 INFO L273 TraceCheckUtils]: 45: Hoare triple {3641#true} ~cond := #in~cond; {3641#true} is VALID [2018-11-23 12:23:27,524 INFO L273 TraceCheckUtils]: 46: Hoare triple {3641#true} assume !(0 == ~cond); {3641#true} is VALID [2018-11-23 12:23:27,524 INFO L273 TraceCheckUtils]: 47: Hoare triple {3641#true} assume true; {3641#true} is VALID [2018-11-23 12:23:27,525 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {3641#true} {3645#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} #60#return; {3645#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,526 INFO L273 TraceCheckUtils]: 49: Hoare triple {3645#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3645#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:27,527 INFO L273 TraceCheckUtils]: 50: Hoare triple {3645#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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; {3656#(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:27,528 INFO L273 TraceCheckUtils]: 51: Hoare triple {3656#(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); {3656#(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:27,528 INFO L256 TraceCheckUtils]: 52: Hoare triple {3656#(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)); {3641#true} is VALID [2018-11-23 12:23:27,529 INFO L273 TraceCheckUtils]: 53: Hoare triple {3641#true} ~cond := #in~cond; {3641#true} is VALID [2018-11-23 12:23:27,529 INFO L273 TraceCheckUtils]: 54: Hoare triple {3641#true} assume !(0 == ~cond); {3641#true} is VALID [2018-11-23 12:23:27,529 INFO L273 TraceCheckUtils]: 55: Hoare triple {3641#true} assume true; {3641#true} is VALID [2018-11-23 12:23:27,530 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {3641#true} {3656#(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))} #60#return; {3656#(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:27,531 INFO L273 TraceCheckUtils]: 57: Hoare triple {3656#(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; {3656#(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:27,532 INFO L273 TraceCheckUtils]: 58: Hoare triple {3656#(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; {3657#(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:27,533 INFO L273 TraceCheckUtils]: 59: Hoare triple {3657#(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); {3658#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:23:27,534 INFO L256 TraceCheckUtils]: 60: Hoare triple {3658#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3654#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:27,534 INFO L273 TraceCheckUtils]: 61: Hoare triple {3654#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {3659#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:23:27,535 INFO L273 TraceCheckUtils]: 62: Hoare triple {3659#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {3642#false} is VALID [2018-11-23 12:23:27,535 INFO L273 TraceCheckUtils]: 63: Hoare triple {3642#false} assume !false; {3642#false} is VALID [2018-11-23 12:23:27,548 INFO L134 CoverageAnalysis]: Checked inductivity of 125 backedges. 14 proven. 83 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2018-11-23 12:23:27,549 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:27,549 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:27,561 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:23:27,587 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:23:27,587 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:27,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:27,608 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:27,634 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 22 [2018-11-23 12:23:27,640 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 25 [2018-11-23 12:23:27,644 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:27,645 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:27,646 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 25 treesize of output 53 [2018-11-23 12:23:27,649 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:27,659 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:27,665 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:27,683 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:27,683 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:29, output treesize:29 [2018-11-23 12:23:27,775 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 54 treesize of output 47 [2018-11-23 12:23:27,782 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:27,783 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:27,785 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:27,786 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:27,788 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:27,790 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:27,791 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 129 [2018-11-23 12:23:27,803 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 89 treesize of output 114 [2018-11-23 12:23:27,806 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:27,825 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:27,834 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:27,846 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:27,846 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:57, output treesize:43 [2018-11-23 12:23:27,961 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 68 treesize of output 59 [2018-11-23 12:23:27,972 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:27,974 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:27,975 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:27,977 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:27,979 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:27,980 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:27,982 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:27,984 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:27,986 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:27,988 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:27,990 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:27,992 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:27,994 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 12 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 59 treesize of output 229 [2018-11-23 12:23:28,019 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 12 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 148 treesize of output 219 [2018-11-23 12:23:28,024 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:28,058 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:28,069 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:28,084 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:28,084 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:71, output treesize:57 [2018-11-23 12:23:28,222 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 82 treesize of output 71 [2018-11-23 12:23:28,233 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,233 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,234 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,235 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,236 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,237 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,239 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,240 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,241 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,242 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,244 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,245 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,247 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,248 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,250 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,260 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,261 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,262 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,263 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,264 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,266 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 20 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 71 treesize of output 361 [2018-11-23 12:23:28,307 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 0 case distinctions, treesize of input 225 treesize of output 360 [2018-11-23 12:23:28,310 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:28,370 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:28,385 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:28,401 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:28,402 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:85, output treesize:71 [2018-11-23 12:23:28,604 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 96 treesize of output 83 [2018-11-23 12:23:28,618 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,619 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,620 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,622 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,624 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,626 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,628 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,629 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,631 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,632 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,633 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,635 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,637 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,639 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,641 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,642 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,644 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,646 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,649 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,651 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,653 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,655 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,658 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,661 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,663 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,665 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,670 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,671 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,672 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,674 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:28,675 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 30 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 83 treesize of output 525 [2018-11-23 12:23:29,126 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 30 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 320 treesize of output 537 [2018-11-23 12:23:29,154 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:29,274 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:29,300 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:29,337 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:29,337 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:102, output treesize:88 [2018-11-23 12:23:36,191 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 84 treesize of output 70 [2018-11-23 12:23:36,214 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,216 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,217 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,218 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,219 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,220 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,221 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,222 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,223 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,224 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,226 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,227 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,228 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,229 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,230 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,231 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,239 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:23:36,240 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,241 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,242 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,242 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,243 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,245 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,246 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,247 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,249 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,250 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,251 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,253 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,254 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,255 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,257 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,258 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,259 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,267 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 7 select indices, 7 select index equivalence classes, 30 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 70 treesize of output 319 [2018-11-23 12:23:36,275 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:36,334 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:36,347 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:36,348 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:93, output treesize:7 [2018-11-23 12:23:36,351 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:36,352 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, v_main_~i~0_57]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 v_main_~i~0_57))) (and (<= 0 v_main_~i~0_57) (= (+ v_main_~i~0_57 5) (select .cse0 (+ .cse1 20))) (= (+ v_main_~i~0_57 2) (select .cse0 (+ .cse1 8))) (= v_main_~i~0_57 (select .cse0 .cse1)) (<= v_main_~i~0_57 0) (= (select .cse0 (+ .cse1 16)) (+ v_main_~i~0_57 4)) (= (+ v_main_~i~0_57 3) (select .cse0 (+ .cse1 12))) (<= (select .cse0 (* 4 main_~i~0)) |main_#t~mem4|) (= (select .cse0 (+ .cse1 4)) (+ v_main_~i~0_57 1)) (= main_~i~0 5))) [2018-11-23 12:23:36,352 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 5 |main_#t~mem4|) (= main_~i~0 5)) [2018-11-23 12:23:36,477 INFO L256 TraceCheckUtils]: 0: Hoare triple {3641#true} call ULTIMATE.init(); {3641#true} is VALID [2018-11-23 12:23:36,477 INFO L273 TraceCheckUtils]: 1: Hoare triple {3641#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {3641#true} is VALID [2018-11-23 12:23:36,477 INFO L273 TraceCheckUtils]: 2: Hoare triple {3641#true} assume true; {3641#true} is VALID [2018-11-23 12:23:36,478 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3641#true} {3641#true} #56#return; {3641#true} is VALID [2018-11-23 12:23:36,478 INFO L256 TraceCheckUtils]: 4: Hoare triple {3641#true} call #t~ret5 := main(); {3641#true} is VALID [2018-11-23 12:23:36,478 INFO L273 TraceCheckUtils]: 5: Hoare triple {3641#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {3641#true} is VALID [2018-11-23 12:23:36,479 INFO L273 TraceCheckUtils]: 6: Hoare triple {3641#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {3643#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:23:36,480 INFO L273 TraceCheckUtils]: 7: Hoare triple {3643#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3684#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,481 INFO L273 TraceCheckUtils]: 8: Hoare triple {3684#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3688#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,483 INFO L273 TraceCheckUtils]: 9: Hoare triple {3688#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3692#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,484 INFO L273 TraceCheckUtils]: 10: Hoare triple {3692#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3696#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,486 INFO L273 TraceCheckUtils]: 11: Hoare triple {3696#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3700#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,489 INFO L273 TraceCheckUtils]: 12: Hoare triple {3700#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3704#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,491 INFO L273 TraceCheckUtils]: 13: Hoare triple {3704#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3708#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,495 INFO L273 TraceCheckUtils]: 14: Hoare triple {3708#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3712#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,498 INFO L273 TraceCheckUtils]: 15: Hoare triple {3712#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {3716#(and (<= 0 main_~i~0) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~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:36,500 INFO L273 TraceCheckUtils]: 16: Hoare triple {3716#(and (<= 0 main_~i~0) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3720#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (<= v_main_~i~0_57 (+ main_~i~0 1)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,503 INFO L273 TraceCheckUtils]: 17: Hoare triple {3720#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (<= v_main_~i~0_57 (+ main_~i~0 1)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} assume !(~i~0 >= 0); {3724#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,505 INFO L273 TraceCheckUtils]: 18: Hoare triple {3724#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {3728#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,505 INFO L273 TraceCheckUtils]: 19: Hoare triple {3728#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |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); {3728#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,507 INFO L256 TraceCheckUtils]: 20: Hoare triple {3728#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |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)); {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} is VALID [2018-11-23 12:23:36,508 INFO L273 TraceCheckUtils]: 21: Hoare triple {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} ~cond := #in~cond; {3739#(and (exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:23:36,509 INFO L273 TraceCheckUtils]: 22: Hoare triple {3739#(and (exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {3743#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5)))))} is VALID [2018-11-23 12:23:36,511 INFO L273 TraceCheckUtils]: 23: Hoare triple {3743#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5)))))} assume true; {3743#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5)))))} is VALID [2018-11-23 12:23:36,512 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {3743#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5)))))} {3728#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #60#return; {3728#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,513 INFO L273 TraceCheckUtils]: 25: Hoare triple {3728#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3728#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,515 INFO L273 TraceCheckUtils]: 26: Hoare triple {3728#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |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; {3756#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,517 INFO L273 TraceCheckUtils]: 27: Hoare triple {3756#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |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); {3756#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,520 INFO L256 TraceCheckUtils]: 28: Hoare triple {3756#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |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)); {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} is VALID [2018-11-23 12:23:36,521 INFO L273 TraceCheckUtils]: 29: Hoare triple {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} ~cond := #in~cond; {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} is VALID [2018-11-23 12:23:36,522 INFO L273 TraceCheckUtils]: 30: Hoare triple {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} assume !(0 == ~cond); {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} is VALID [2018-11-23 12:23:36,522 INFO L273 TraceCheckUtils]: 31: Hoare triple {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} assume true; {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} is VALID [2018-11-23 12:23:36,523 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} {3756#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #60#return; {3756#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,524 INFO L273 TraceCheckUtils]: 33: Hoare triple {3756#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3756#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,526 INFO L273 TraceCheckUtils]: 34: Hoare triple {3756#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |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; {3781#(and (= main_~i~0 2) (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,527 INFO L273 TraceCheckUtils]: 35: Hoare triple {3781#(and (= main_~i~0 2) (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |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); {3781#(and (= main_~i~0 2) (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,531 INFO L256 TraceCheckUtils]: 36: Hoare triple {3781#(and (= main_~i~0 2) (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} is VALID [2018-11-23 12:23:36,532 INFO L273 TraceCheckUtils]: 37: Hoare triple {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} ~cond := #in~cond; {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} is VALID [2018-11-23 12:23:36,533 INFO L273 TraceCheckUtils]: 38: Hoare triple {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} assume !(0 == ~cond); {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} is VALID [2018-11-23 12:23:36,533 INFO L273 TraceCheckUtils]: 39: Hoare triple {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} assume true; {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} is VALID [2018-11-23 12:23:36,534 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} {3781#(and (= main_~i~0 2) (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} #60#return; {3781#(and (= main_~i~0 2) (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,535 INFO L273 TraceCheckUtils]: 41: Hoare triple {3781#(and (= main_~i~0 2) (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3781#(and (= main_~i~0 2) (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,536 INFO L273 TraceCheckUtils]: 42: Hoare triple {3781#(and (= main_~i~0 2) (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3806#(and (= main_~i~0 3) (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,538 INFO L273 TraceCheckUtils]: 43: Hoare triple {3806#(and (= main_~i~0 3) (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |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); {3806#(and (= main_~i~0 3) (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,541 INFO L256 TraceCheckUtils]: 44: Hoare triple {3806#(and (= main_~i~0 3) (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} is VALID [2018-11-23 12:23:36,542 INFO L273 TraceCheckUtils]: 45: Hoare triple {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} ~cond := #in~cond; {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} is VALID [2018-11-23 12:23:36,543 INFO L273 TraceCheckUtils]: 46: Hoare triple {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} assume !(0 == ~cond); {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} is VALID [2018-11-23 12:23:36,543 INFO L273 TraceCheckUtils]: 47: Hoare triple {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} assume true; {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} is VALID [2018-11-23 12:23:36,544 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} {3806#(and (= main_~i~0 3) (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} #60#return; {3806#(and (= main_~i~0 3) (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,545 INFO L273 TraceCheckUtils]: 49: Hoare triple {3806#(and (= main_~i~0 3) (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3806#(and (= main_~i~0 3) (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,547 INFO L273 TraceCheckUtils]: 50: Hoare triple {3806#(and (= main_~i~0 3) (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3831#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,548 INFO L273 TraceCheckUtils]: 51: Hoare triple {3831#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |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); {3831#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,552 INFO L256 TraceCheckUtils]: 52: Hoare triple {3831#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |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)); {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} is VALID [2018-11-23 12:23:36,552 INFO L273 TraceCheckUtils]: 53: Hoare triple {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} ~cond := #in~cond; {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} is VALID [2018-11-23 12:23:36,553 INFO L273 TraceCheckUtils]: 54: Hoare triple {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} assume !(0 == ~cond); {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} is VALID [2018-11-23 12:23:36,554 INFO L273 TraceCheckUtils]: 55: Hoare triple {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} assume true; {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} is VALID [2018-11-23 12:23:36,555 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {3735#(exists ((v_main_~i~0_57 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (<= 0 v_main_~i~0_57) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 4)) (+ v_main_~i~0_57 1)) (<= v_main_~i~0_57 0) (= v_main_~i~0_57 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_main_~i~0_57))) (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 16)) (+ v_main_~i~0_57 4)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 12)) (+ v_main_~i~0_57 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_main_~i~0_57) 20)) (+ v_main_~i~0_57 5))))} {3831#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} #60#return; {3831#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,557 INFO L273 TraceCheckUtils]: 57: Hoare triple {3831#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3831#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,559 INFO L273 TraceCheckUtils]: 58: Hoare triple {3831#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |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; {3856#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 20))))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:36,580 INFO L273 TraceCheckUtils]: 59: Hoare triple {3856#(and (exists ((v_main_~i~0_57 Int)) (and (= (+ v_main_~i~0_57 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 8))) (<= 0 v_main_~i~0_57) (= v_main_~i~0_57 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 4)) (+ v_main_~i~0_57 1)) (= (+ v_main_~i~0_57 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 16))) (<= v_main_~i~0_57 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |main_~#a~0.offset| 12)) (+ v_main_~i~0_57 3)) (= (+ v_main_~i~0_57 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_57) |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); {3860#(and (<= 5 |main_#t~mem4|) (= main_~i~0 5))} is VALID [2018-11-23 12:23:36,595 INFO L256 TraceCheckUtils]: 60: Hoare triple {3860#(and (<= 5 |main_#t~mem4|) (= main_~i~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3864#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:23:36,596 INFO L273 TraceCheckUtils]: 61: Hoare triple {3864#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {3868#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:23:36,596 INFO L273 TraceCheckUtils]: 62: Hoare triple {3868#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3642#false} is VALID [2018-11-23 12:23:36,596 INFO L273 TraceCheckUtils]: 63: Hoare triple {3642#false} assume !false; {3642#false} is VALID [2018-11-23 12:23:36,654 INFO L134 CoverageAnalysis]: Checked inductivity of 125 backedges. 21 proven. 76 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2018-11-23 12:23:36,675 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:36,675 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 26] total 42 [2018-11-23 12:23:36,676 INFO L78 Accepts]: Start accepts. Automaton has 42 states. Word has length 64 [2018-11-23 12:23:36,676 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:36,676 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 42 states. [2018-11-23 12:23:36,888 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:36,889 INFO L459 AbstractCegarLoop]: Interpolant automaton has 42 states [2018-11-23 12:23:36,889 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 42 interpolants. [2018-11-23 12:23:36,891 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=310, Invalid=1412, Unknown=0, NotChecked=0, Total=1722 [2018-11-23 12:23:36,891 INFO L87 Difference]: Start difference. First operand 67 states and 68 transitions. Second operand 42 states. [2018-11-23 12:23:42,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:42,333 INFO L93 Difference]: Finished difference Result 79 states and 80 transitions. [2018-11-23 12:23:42,334 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2018-11-23 12:23:42,334 INFO L78 Accepts]: Start accepts. Automaton has 42 states. Word has length 64 [2018-11-23 12:23:42,334 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:42,334 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-23 12:23:42,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 65 transitions. [2018-11-23 12:23:42,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-23 12:23:42,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 65 transitions. [2018-11-23 12:23:42,338 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states and 65 transitions. [2018-11-23 12:23:42,547 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:42,549 INFO L225 Difference]: With dead ends: 79 [2018-11-23 12:23:42,549 INFO L226 Difference]: Without dead ends: 77 [2018-11-23 12:23:42,550 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 35 SyntacticMatches, 15 SemanticMatches, 57 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1112 ImplicationChecksByTransitivity, 4.7s TimeCoverageRelationStatistics Valid=638, Invalid=2784, Unknown=0, NotChecked=0, Total=3422 [2018-11-23 12:23:42,551 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2018-11-23 12:23:43,455 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 75. [2018-11-23 12:23:43,455 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:43,455 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand 75 states. [2018-11-23 12:23:43,456 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 75 states. [2018-11-23 12:23:43,456 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 75 states. [2018-11-23 12:23:43,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:43,458 INFO L93 Difference]: Finished difference Result 77 states and 78 transitions. [2018-11-23 12:23:43,458 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 78 transitions. [2018-11-23 12:23:43,458 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:43,458 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:43,458 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 77 states. [2018-11-23 12:23:43,458 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 77 states. [2018-11-23 12:23:43,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:43,460 INFO L93 Difference]: Finished difference Result 77 states and 78 transitions. [2018-11-23 12:23:43,460 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 78 transitions. [2018-11-23 12:23:43,461 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:43,461 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:43,461 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:43,461 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:43,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2018-11-23 12:23:43,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 76 transitions. [2018-11-23 12:23:43,463 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 76 transitions. Word has length 64 [2018-11-23 12:23:43,464 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:43,464 INFO L480 AbstractCegarLoop]: Abstraction has 75 states and 76 transitions. [2018-11-23 12:23:43,464 INFO L481 AbstractCegarLoop]: Interpolant automaton has 42 states. [2018-11-23 12:23:43,464 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 76 transitions. [2018-11-23 12:23:43,465 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2018-11-23 12:23:43,465 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:43,465 INFO L402 BasicCegarLoop]: trace histogram [7, 7, 7, 6, 6, 6, 6, 6, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:43,465 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:43,466 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:43,466 INFO L82 PathProgramCache]: Analyzing trace with hash -410713130, now seen corresponding path program 9 times [2018-11-23 12:23:43,466 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:43,466 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:43,467 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:43,467 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:43,467 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:43,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:43,662 INFO L256 TraceCheckUtils]: 0: Hoare triple {4279#true} call ULTIMATE.init(); {4279#true} is VALID [2018-11-23 12:23:43,662 INFO L273 TraceCheckUtils]: 1: Hoare triple {4279#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {4279#true} is VALID [2018-11-23 12:23:43,663 INFO L273 TraceCheckUtils]: 2: Hoare triple {4279#true} assume true; {4279#true} is VALID [2018-11-23 12:23:43,663 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4279#true} {4279#true} #56#return; {4279#true} is VALID [2018-11-23 12:23:43,663 INFO L256 TraceCheckUtils]: 4: Hoare triple {4279#true} call #t~ret5 := main(); {4279#true} is VALID [2018-11-23 12:23:43,664 INFO L273 TraceCheckUtils]: 5: Hoare triple {4279#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {4279#true} is VALID [2018-11-23 12:23:43,685 INFO L273 TraceCheckUtils]: 6: Hoare triple {4279#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {4281#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:43,699 INFO L273 TraceCheckUtils]: 7: Hoare triple {4281#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4281#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:43,708 INFO L273 TraceCheckUtils]: 8: Hoare triple {4281#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4282#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:43,721 INFO L273 TraceCheckUtils]: 9: Hoare triple {4282#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4282#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:43,730 INFO L273 TraceCheckUtils]: 10: Hoare triple {4282#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4283#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:43,734 INFO L273 TraceCheckUtils]: 11: Hoare triple {4283#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4283#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:43,735 INFO L273 TraceCheckUtils]: 12: Hoare triple {4283#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4284#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:43,736 INFO L273 TraceCheckUtils]: 13: Hoare triple {4284#(<= ~SIZE~0 (+ main_~i~0 5))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4284#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:43,736 INFO L273 TraceCheckUtils]: 14: Hoare triple {4284#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4285#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:23:43,738 INFO L273 TraceCheckUtils]: 15: Hoare triple {4285#(<= ~SIZE~0 (+ main_~i~0 6))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4285#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:23:43,738 INFO L273 TraceCheckUtils]: 16: Hoare triple {4285#(<= ~SIZE~0 (+ main_~i~0 6))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4286#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:23:43,740 INFO L273 TraceCheckUtils]: 17: Hoare triple {4286#(<= ~SIZE~0 (+ main_~i~0 7))} assume !(~i~0 >= 0); {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:43,740 INFO L273 TraceCheckUtils]: 18: Hoare triple {4287#(<= ~SIZE~0 6)} ~i~0 := 0; {4288#(and (<= ~SIZE~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:23:43,740 INFO L273 TraceCheckUtils]: 19: Hoare triple {4288#(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); {4288#(and (<= ~SIZE~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:23:43,741 INFO L256 TraceCheckUtils]: 20: Hoare triple {4288#(and (<= ~SIZE~0 6) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4279#true} is VALID [2018-11-23 12:23:43,741 INFO L273 TraceCheckUtils]: 21: Hoare triple {4279#true} ~cond := #in~cond; {4279#true} is VALID [2018-11-23 12:23:43,741 INFO L273 TraceCheckUtils]: 22: Hoare triple {4279#true} assume !(0 == ~cond); {4279#true} is VALID [2018-11-23 12:23:43,741 INFO L273 TraceCheckUtils]: 23: Hoare triple {4279#true} assume true; {4279#true} is VALID [2018-11-23 12:23:43,742 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {4279#true} {4288#(and (<= ~SIZE~0 6) (= main_~i~0 0))} #60#return; {4288#(and (<= ~SIZE~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:23:43,742 INFO L273 TraceCheckUtils]: 25: Hoare triple {4288#(and (<= ~SIZE~0 6) (= main_~i~0 0))} havoc #t~mem4; {4288#(and (<= ~SIZE~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:23:43,743 INFO L273 TraceCheckUtils]: 26: Hoare triple {4288#(and (<= ~SIZE~0 6) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4284#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:43,743 INFO L273 TraceCheckUtils]: 27: Hoare triple {4284#(<= ~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); {4284#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:43,743 INFO L256 TraceCheckUtils]: 28: Hoare triple {4284#(<= ~SIZE~0 (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4279#true} is VALID [2018-11-23 12:23:43,743 INFO L273 TraceCheckUtils]: 29: Hoare triple {4279#true} ~cond := #in~cond; {4279#true} is VALID [2018-11-23 12:23:43,743 INFO L273 TraceCheckUtils]: 30: Hoare triple {4279#true} assume !(0 == ~cond); {4279#true} is VALID [2018-11-23 12:23:43,743 INFO L273 TraceCheckUtils]: 31: Hoare triple {4279#true} assume true; {4279#true} is VALID [2018-11-23 12:23:43,744 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {4279#true} {4284#(<= ~SIZE~0 (+ main_~i~0 5))} #60#return; {4284#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:43,744 INFO L273 TraceCheckUtils]: 33: Hoare triple {4284#(<= ~SIZE~0 (+ main_~i~0 5))} havoc #t~mem4; {4284#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:43,745 INFO L273 TraceCheckUtils]: 34: Hoare triple {4284#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4283#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:43,745 INFO L273 TraceCheckUtils]: 35: Hoare triple {4283#(<= ~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); {4283#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:43,745 INFO L256 TraceCheckUtils]: 36: Hoare triple {4283#(<= ~SIZE~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4279#true} is VALID [2018-11-23 12:23:43,745 INFO L273 TraceCheckUtils]: 37: Hoare triple {4279#true} ~cond := #in~cond; {4279#true} is VALID [2018-11-23 12:23:43,746 INFO L273 TraceCheckUtils]: 38: Hoare triple {4279#true} assume !(0 == ~cond); {4279#true} is VALID [2018-11-23 12:23:43,746 INFO L273 TraceCheckUtils]: 39: Hoare triple {4279#true} assume true; {4279#true} is VALID [2018-11-23 12:23:43,747 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {4279#true} {4283#(<= ~SIZE~0 (+ main_~i~0 4))} #60#return; {4283#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:43,747 INFO L273 TraceCheckUtils]: 41: Hoare triple {4283#(<= ~SIZE~0 (+ main_~i~0 4))} havoc #t~mem4; {4283#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:43,748 INFO L273 TraceCheckUtils]: 42: Hoare triple {4283#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4282#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:43,748 INFO L273 TraceCheckUtils]: 43: Hoare triple {4282#(<= ~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); {4282#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:43,749 INFO L256 TraceCheckUtils]: 44: Hoare triple {4282#(<= ~SIZE~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4279#true} is VALID [2018-11-23 12:23:43,749 INFO L273 TraceCheckUtils]: 45: Hoare triple {4279#true} ~cond := #in~cond; {4279#true} is VALID [2018-11-23 12:23:43,749 INFO L273 TraceCheckUtils]: 46: Hoare triple {4279#true} assume !(0 == ~cond); {4279#true} is VALID [2018-11-23 12:23:43,749 INFO L273 TraceCheckUtils]: 47: Hoare triple {4279#true} assume true; {4279#true} is VALID [2018-11-23 12:23:43,751 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {4279#true} {4282#(<= ~SIZE~0 (+ main_~i~0 3))} #60#return; {4282#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:43,751 INFO L273 TraceCheckUtils]: 49: Hoare triple {4282#(<= ~SIZE~0 (+ main_~i~0 3))} havoc #t~mem4; {4282#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:43,752 INFO L273 TraceCheckUtils]: 50: Hoare triple {4282#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4281#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:43,752 INFO L273 TraceCheckUtils]: 51: Hoare triple {4281#(<= ~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); {4281#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:43,752 INFO L256 TraceCheckUtils]: 52: Hoare triple {4281#(<= ~SIZE~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4279#true} is VALID [2018-11-23 12:23:43,752 INFO L273 TraceCheckUtils]: 53: Hoare triple {4279#true} ~cond := #in~cond; {4279#true} is VALID [2018-11-23 12:23:43,753 INFO L273 TraceCheckUtils]: 54: Hoare triple {4279#true} assume !(0 == ~cond); {4279#true} is VALID [2018-11-23 12:23:43,753 INFO L273 TraceCheckUtils]: 55: Hoare triple {4279#true} assume true; {4279#true} is VALID [2018-11-23 12:23:43,753 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {4279#true} {4281#(<= ~SIZE~0 (+ main_~i~0 2))} #60#return; {4281#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:43,754 INFO L273 TraceCheckUtils]: 57: Hoare triple {4281#(<= ~SIZE~0 (+ main_~i~0 2))} havoc #t~mem4; {4281#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:43,754 INFO L273 TraceCheckUtils]: 58: Hoare triple {4281#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4289#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:43,754 INFO L273 TraceCheckUtils]: 59: Hoare triple {4289#(<= ~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); {4289#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:43,754 INFO L256 TraceCheckUtils]: 60: Hoare triple {4289#(<= ~SIZE~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4279#true} is VALID [2018-11-23 12:23:43,755 INFO L273 TraceCheckUtils]: 61: Hoare triple {4279#true} ~cond := #in~cond; {4279#true} is VALID [2018-11-23 12:23:43,755 INFO L273 TraceCheckUtils]: 62: Hoare triple {4279#true} assume !(0 == ~cond); {4279#true} is VALID [2018-11-23 12:23:43,755 INFO L273 TraceCheckUtils]: 63: Hoare triple {4279#true} assume true; {4279#true} is VALID [2018-11-23 12:23:43,755 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {4279#true} {4289#(<= ~SIZE~0 (+ main_~i~0 1))} #60#return; {4289#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:43,756 INFO L273 TraceCheckUtils]: 65: Hoare triple {4289#(<= ~SIZE~0 (+ main_~i~0 1))} havoc #t~mem4; {4289#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:43,757 INFO L273 TraceCheckUtils]: 66: Hoare triple {4289#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4290#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-23 12:23:43,757 INFO L273 TraceCheckUtils]: 67: Hoare triple {4290#(<= ~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); {4280#false} is VALID [2018-11-23 12:23:43,758 INFO L256 TraceCheckUtils]: 68: Hoare triple {4280#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4280#false} is VALID [2018-11-23 12:23:43,758 INFO L273 TraceCheckUtils]: 69: Hoare triple {4280#false} ~cond := #in~cond; {4280#false} is VALID [2018-11-23 12:23:43,758 INFO L273 TraceCheckUtils]: 70: Hoare triple {4280#false} assume 0 == ~cond; {4280#false} is VALID [2018-11-23 12:23:43,758 INFO L273 TraceCheckUtils]: 71: Hoare triple {4280#false} assume !false; {4280#false} is VALID [2018-11-23 12:23:43,763 INFO L134 CoverageAnalysis]: Checked inductivity of 169 backedges. 63 proven. 46 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2018-11-23 12:23:43,763 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:43,763 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:43,772 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:23:43,838 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2018-11-23 12:23:43,838 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:43,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:43,861 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:44,098 INFO L256 TraceCheckUtils]: 0: Hoare triple {4279#true} call ULTIMATE.init(); {4279#true} is VALID [2018-11-23 12:23:44,098 INFO L273 TraceCheckUtils]: 1: Hoare triple {4279#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {4279#true} is VALID [2018-11-23 12:23:44,098 INFO L273 TraceCheckUtils]: 2: Hoare triple {4279#true} assume true; {4279#true} is VALID [2018-11-23 12:23:44,099 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4279#true} {4279#true} #56#return; {4279#true} is VALID [2018-11-23 12:23:44,099 INFO L256 TraceCheckUtils]: 4: Hoare triple {4279#true} call #t~ret5 := main(); {4279#true} is VALID [2018-11-23 12:23:44,099 INFO L273 TraceCheckUtils]: 5: Hoare triple {4279#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {4279#true} is VALID [2018-11-23 12:23:44,100 INFO L273 TraceCheckUtils]: 6: Hoare triple {4279#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {4281#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:44,100 INFO L273 TraceCheckUtils]: 7: Hoare triple {4281#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4281#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:44,101 INFO L273 TraceCheckUtils]: 8: Hoare triple {4281#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4282#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:44,101 INFO L273 TraceCheckUtils]: 9: Hoare triple {4282#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4282#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:44,102 INFO L273 TraceCheckUtils]: 10: Hoare triple {4282#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4283#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:44,102 INFO L273 TraceCheckUtils]: 11: Hoare triple {4283#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4283#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:44,103 INFO L273 TraceCheckUtils]: 12: Hoare triple {4283#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4284#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:44,103 INFO L273 TraceCheckUtils]: 13: Hoare triple {4284#(<= ~SIZE~0 (+ main_~i~0 5))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4284#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:44,104 INFO L273 TraceCheckUtils]: 14: Hoare triple {4284#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4285#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:23:44,104 INFO L273 TraceCheckUtils]: 15: Hoare triple {4285#(<= ~SIZE~0 (+ main_~i~0 6))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4285#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:23:44,104 INFO L273 TraceCheckUtils]: 16: Hoare triple {4285#(<= ~SIZE~0 (+ main_~i~0 6))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4286#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:23:44,105 INFO L273 TraceCheckUtils]: 17: Hoare triple {4286#(<= ~SIZE~0 (+ main_~i~0 7))} assume !(~i~0 >= 0); {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,106 INFO L273 TraceCheckUtils]: 18: Hoare triple {4287#(<= ~SIZE~0 6)} ~i~0 := 0; {4348#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:23:44,106 INFO L273 TraceCheckUtils]: 19: Hoare triple {4348#(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); {4348#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:23:44,108 INFO L256 TraceCheckUtils]: 20: Hoare triple {4348#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,108 INFO L273 TraceCheckUtils]: 21: Hoare triple {4287#(<= ~SIZE~0 6)} ~cond := #in~cond; {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,109 INFO L273 TraceCheckUtils]: 22: Hoare triple {4287#(<= ~SIZE~0 6)} assume !(0 == ~cond); {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,109 INFO L273 TraceCheckUtils]: 23: Hoare triple {4287#(<= ~SIZE~0 6)} assume true; {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,110 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {4287#(<= ~SIZE~0 6)} {4348#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} #60#return; {4348#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:23:44,111 INFO L273 TraceCheckUtils]: 25: Hoare triple {4348#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} havoc #t~mem4; {4348#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:23:44,111 INFO L273 TraceCheckUtils]: 26: Hoare triple {4348#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4373#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:23:44,112 INFO L273 TraceCheckUtils]: 27: Hoare triple {4373#(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); {4373#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:23:44,113 INFO L256 TraceCheckUtils]: 28: Hoare triple {4373#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,114 INFO L273 TraceCheckUtils]: 29: Hoare triple {4287#(<= ~SIZE~0 6)} ~cond := #in~cond; {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,114 INFO L273 TraceCheckUtils]: 30: Hoare triple {4287#(<= ~SIZE~0 6)} assume !(0 == ~cond); {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,115 INFO L273 TraceCheckUtils]: 31: Hoare triple {4287#(<= ~SIZE~0 6)} assume true; {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,115 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {4287#(<= ~SIZE~0 6)} {4373#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} #60#return; {4373#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:23:44,116 INFO L273 TraceCheckUtils]: 33: Hoare triple {4373#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} havoc #t~mem4; {4373#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:23:44,117 INFO L273 TraceCheckUtils]: 34: Hoare triple {4373#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4398#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:23:44,118 INFO L273 TraceCheckUtils]: 35: Hoare triple {4398#(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); {4398#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:23:44,119 INFO L256 TraceCheckUtils]: 36: Hoare triple {4398#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,119 INFO L273 TraceCheckUtils]: 37: Hoare triple {4287#(<= ~SIZE~0 6)} ~cond := #in~cond; {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,120 INFO L273 TraceCheckUtils]: 38: Hoare triple {4287#(<= ~SIZE~0 6)} assume !(0 == ~cond); {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,120 INFO L273 TraceCheckUtils]: 39: Hoare triple {4287#(<= ~SIZE~0 6)} assume true; {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,121 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {4287#(<= ~SIZE~0 6)} {4398#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} #60#return; {4398#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:23:44,122 INFO L273 TraceCheckUtils]: 41: Hoare triple {4398#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} havoc #t~mem4; {4398#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:23:44,122 INFO L273 TraceCheckUtils]: 42: Hoare triple {4398#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4423#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:44,123 INFO L273 TraceCheckUtils]: 43: Hoare triple {4423#(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); {4423#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:44,124 INFO L256 TraceCheckUtils]: 44: Hoare triple {4423#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,125 INFO L273 TraceCheckUtils]: 45: Hoare triple {4287#(<= ~SIZE~0 6)} ~cond := #in~cond; {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,125 INFO L273 TraceCheckUtils]: 46: Hoare triple {4287#(<= ~SIZE~0 6)} assume !(0 == ~cond); {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,126 INFO L273 TraceCheckUtils]: 47: Hoare triple {4287#(<= ~SIZE~0 6)} assume true; {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,126 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {4287#(<= ~SIZE~0 6)} {4423#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} #60#return; {4423#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:44,127 INFO L273 TraceCheckUtils]: 49: Hoare triple {4423#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} havoc #t~mem4; {4423#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:44,128 INFO L273 TraceCheckUtils]: 50: Hoare triple {4423#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4448#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:23:44,129 INFO L273 TraceCheckUtils]: 51: Hoare triple {4448#(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); {4448#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:23:44,130 INFO L256 TraceCheckUtils]: 52: Hoare triple {4448#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,130 INFO L273 TraceCheckUtils]: 53: Hoare triple {4287#(<= ~SIZE~0 6)} ~cond := #in~cond; {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,131 INFO L273 TraceCheckUtils]: 54: Hoare triple {4287#(<= ~SIZE~0 6)} assume !(0 == ~cond); {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,131 INFO L273 TraceCheckUtils]: 55: Hoare triple {4287#(<= ~SIZE~0 6)} assume true; {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,132 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {4287#(<= ~SIZE~0 6)} {4448#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} #60#return; {4448#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:23:44,133 INFO L273 TraceCheckUtils]: 57: Hoare triple {4448#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} havoc #t~mem4; {4448#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:23:44,133 INFO L273 TraceCheckUtils]: 58: Hoare triple {4448#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4473#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:23:44,134 INFO L273 TraceCheckUtils]: 59: Hoare triple {4473#(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); {4473#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:23:44,135 INFO L256 TraceCheckUtils]: 60: Hoare triple {4473#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,136 INFO L273 TraceCheckUtils]: 61: Hoare triple {4287#(<= ~SIZE~0 6)} ~cond := #in~cond; {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,136 INFO L273 TraceCheckUtils]: 62: Hoare triple {4287#(<= ~SIZE~0 6)} assume !(0 == ~cond); {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,137 INFO L273 TraceCheckUtils]: 63: Hoare triple {4287#(<= ~SIZE~0 6)} assume true; {4287#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:23:44,138 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {4287#(<= ~SIZE~0 6)} {4473#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} #60#return; {4473#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:23:44,138 INFO L273 TraceCheckUtils]: 65: Hoare triple {4473#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} havoc #t~mem4; {4473#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:23:44,139 INFO L273 TraceCheckUtils]: 66: Hoare triple {4473#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4498#(and (<= ~SIZE~0 6) (<= 6 main_~i~0))} is VALID [2018-11-23 12:23:44,140 INFO L273 TraceCheckUtils]: 67: Hoare triple {4498#(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); {4280#false} is VALID [2018-11-23 12:23:44,140 INFO L256 TraceCheckUtils]: 68: Hoare triple {4280#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4280#false} is VALID [2018-11-23 12:23:44,140 INFO L273 TraceCheckUtils]: 69: Hoare triple {4280#false} ~cond := #in~cond; {4280#false} is VALID [2018-11-23 12:23:44,140 INFO L273 TraceCheckUtils]: 70: Hoare triple {4280#false} assume 0 == ~cond; {4280#false} is VALID [2018-11-23 12:23:44,141 INFO L273 TraceCheckUtils]: 71: Hoare triple {4280#false} assume !false; {4280#false} is VALID [2018-11-23 12:23:44,147 INFO L134 CoverageAnalysis]: Checked inductivity of 169 backedges. 84 proven. 25 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2018-11-23 12:23:44,166 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:44,166 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 16] total 19 [2018-11-23 12:23:44,166 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 72 [2018-11-23 12:23:44,167 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:44,167 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-23 12:23:44,252 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:44,252 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-23 12:23:44,252 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-23 12:23:44,253 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=130, Invalid=212, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:23:44,253 INFO L87 Difference]: Start difference. First operand 75 states and 76 transitions. Second operand 19 states. [2018-11-23 12:23:46,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:46,415 INFO L93 Difference]: Finished difference Result 138 states and 140 transitions. [2018-11-23 12:23:46,415 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 12:23:46,415 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 72 [2018-11-23 12:23:46,415 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:46,416 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:23:46,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 79 transitions. [2018-11-23 12:23:46,418 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:23:46,420 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 79 transitions. [2018-11-23 12:23:46,421 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 79 transitions. [2018-11-23 12:23:46,610 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:46,612 INFO L225 Difference]: With dead ends: 138 [2018-11-23 12:23:46,612 INFO L226 Difference]: Without dead ends: 78 [2018-11-23 12:23:46,614 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 70 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=142, Invalid=238, Unknown=0, NotChecked=0, Total=380 [2018-11-23 12:23:46,615 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2018-11-23 12:23:47,251 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 77. [2018-11-23 12:23:47,252 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:47,252 INFO L82 GeneralOperation]: Start isEquivalent. First operand 78 states. Second operand 77 states. [2018-11-23 12:23:47,252 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 77 states. [2018-11-23 12:23:47,252 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 77 states. [2018-11-23 12:23:47,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:47,255 INFO L93 Difference]: Finished difference Result 78 states and 79 transitions. [2018-11-23 12:23:47,255 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 79 transitions. [2018-11-23 12:23:47,256 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:47,256 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:47,256 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 78 states. [2018-11-23 12:23:47,256 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 78 states. [2018-11-23 12:23:47,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:47,259 INFO L93 Difference]: Finished difference Result 78 states and 79 transitions. [2018-11-23 12:23:47,259 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 79 transitions. [2018-11-23 12:23:47,259 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:47,259 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:47,259 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:47,260 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:47,260 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-11-23 12:23:47,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 78 transitions. [2018-11-23 12:23:47,262 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 78 transitions. Word has length 72 [2018-11-23 12:23:47,262 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:47,262 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 78 transitions. [2018-11-23 12:23:47,262 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-23 12:23:47,262 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 78 transitions. [2018-11-23 12:23:47,263 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2018-11-23 12:23:47,263 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:47,263 INFO L402 BasicCegarLoop]: trace histogram [7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:47,264 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:47,264 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:47,264 INFO L82 PathProgramCache]: Analyzing trace with hash 1009630420, now seen corresponding path program 10 times [2018-11-23 12:23:47,264 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:47,264 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:47,265 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:47,265 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:47,265 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:47,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:47,886 WARN L180 SmtUtils]: Spent 171.00 ms on a formula simplification. DAG size of input: 18 DAG size of output: 15 [2018-11-23 12:23:48,378 WARN L180 SmtUtils]: Spent 136.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 23 [2018-11-23 12:23:49,196 INFO L256 TraceCheckUtils]: 0: Hoare triple {4972#true} call ULTIMATE.init(); {4972#true} is VALID [2018-11-23 12:23:49,197 INFO L273 TraceCheckUtils]: 1: Hoare triple {4972#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {4972#true} is VALID [2018-11-23 12:23:49,197 INFO L273 TraceCheckUtils]: 2: Hoare triple {4972#true} assume true; {4972#true} is VALID [2018-11-23 12:23:49,197 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4972#true} {4972#true} #56#return; {4972#true} is VALID [2018-11-23 12:23:49,197 INFO L256 TraceCheckUtils]: 4: Hoare triple {4972#true} call #t~ret5 := main(); {4972#true} is VALID [2018-11-23 12:23:49,197 INFO L273 TraceCheckUtils]: 5: Hoare triple {4972#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {4972#true} is VALID [2018-11-23 12:23:49,198 INFO L273 TraceCheckUtils]: 6: Hoare triple {4972#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {4974#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:23:49,199 INFO L273 TraceCheckUtils]: 7: Hoare triple {4974#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4975#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,200 INFO L273 TraceCheckUtils]: 8: Hoare triple {4975#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4976#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,202 INFO L273 TraceCheckUtils]: 9: Hoare triple {4976#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4976#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,203 INFO L273 TraceCheckUtils]: 10: Hoare triple {4976#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4977#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,204 INFO L273 TraceCheckUtils]: 11: Hoare triple {4977#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4977#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,205 INFO L273 TraceCheckUtils]: 12: Hoare triple {4977#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4978#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,207 INFO L273 TraceCheckUtils]: 13: Hoare triple {4978#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4978#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,208 INFO L273 TraceCheckUtils]: 14: Hoare triple {4978#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4979#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,210 INFO L273 TraceCheckUtils]: 15: Hoare triple {4979#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4979#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,211 INFO L273 TraceCheckUtils]: 16: Hoare triple {4979#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4980#(and (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= (+ main_~i~0 6) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset| 1) 0)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,213 INFO L273 TraceCheckUtils]: 17: Hoare triple {4980#(and (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= (+ main_~i~0 6) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset| 1) 0)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {4981#(and (<= 0 main_~i~0) (or (<= 1 main_~i~0) (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,214 INFO L273 TraceCheckUtils]: 18: Hoare triple {4981#(and (<= 0 main_~i~0) (or (<= 1 main_~i~0) (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) 4))))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4982#(and (or (and (<= 0 (+ main_~i~0 1)) (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) 4))))) (<= 0 (+ (* 3 main_~i~0) |main_~#a~0.offset| 2))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,215 INFO L273 TraceCheckUtils]: 19: Hoare triple {4982#(and (or (and (<= 0 (+ main_~i~0 1)) (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) 4))))) (<= 0 (+ (* 3 main_~i~0) |main_~#a~0.offset| 2))) (= |main_~#a~0.offset| 0))} assume !(~i~0 >= 0); {4983#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,215 INFO L273 TraceCheckUtils]: 20: Hoare triple {4983#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) 4)))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {4984#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,216 INFO L273 TraceCheckUtils]: 21: Hoare triple {4984#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) 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); {4984#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,216 INFO L256 TraceCheckUtils]: 22: Hoare triple {4984#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4972#true} is VALID [2018-11-23 12:23:49,217 INFO L273 TraceCheckUtils]: 23: Hoare triple {4972#true} ~cond := #in~cond; {4985#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:23:49,218 INFO L273 TraceCheckUtils]: 24: Hoare triple {4985#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {4986#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:49,218 INFO L273 TraceCheckUtils]: 25: Hoare triple {4986#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4986#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:49,219 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {4986#(not (= |__VERIFIER_assert_#in~cond| 0))} {4984#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #60#return; {4984#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,220 INFO L273 TraceCheckUtils]: 27: Hoare triple {4984#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {4984#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,221 INFO L273 TraceCheckUtils]: 28: Hoare triple {4984#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4987#(and (= |main_~#a~0.offset| 0) (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))))} is VALID [2018-11-23 12:23:49,221 INFO L273 TraceCheckUtils]: 29: Hoare triple {4987#(and (= |main_~#a~0.offset| 0) (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4987#(and (= |main_~#a~0.offset| 0) (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))))} is VALID [2018-11-23 12:23:49,222 INFO L256 TraceCheckUtils]: 30: Hoare triple {4987#(and (= |main_~#a~0.offset| 0) (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4972#true} is VALID [2018-11-23 12:23:49,222 INFO L273 TraceCheckUtils]: 31: Hoare triple {4972#true} ~cond := #in~cond; {4972#true} is VALID [2018-11-23 12:23:49,222 INFO L273 TraceCheckUtils]: 32: Hoare triple {4972#true} assume !(0 == ~cond); {4972#true} is VALID [2018-11-23 12:23:49,222 INFO L273 TraceCheckUtils]: 33: Hoare triple {4972#true} assume true; {4972#true} is VALID [2018-11-23 12:23:49,223 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {4972#true} {4987#(and (= |main_~#a~0.offset| 0) (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))))} #60#return; {4987#(and (= |main_~#a~0.offset| 0) (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))))} is VALID [2018-11-23 12:23:49,224 INFO L273 TraceCheckUtils]: 35: Hoare triple {4987#(and (= |main_~#a~0.offset| 0) (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))))} havoc #t~mem4; {4987#(and (= |main_~#a~0.offset| 0) (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))))} is VALID [2018-11-23 12:23:49,225 INFO L273 TraceCheckUtils]: 36: Hoare triple {4987#(and (= |main_~#a~0.offset| 0) (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4978#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,226 INFO L273 TraceCheckUtils]: 37: Hoare triple {4978#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 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); {4978#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,226 INFO L256 TraceCheckUtils]: 38: Hoare triple {4978#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4972#true} is VALID [2018-11-23 12:23:49,227 INFO L273 TraceCheckUtils]: 39: Hoare triple {4972#true} ~cond := #in~cond; {4972#true} is VALID [2018-11-23 12:23:49,227 INFO L273 TraceCheckUtils]: 40: Hoare triple {4972#true} assume !(0 == ~cond); {4972#true} is VALID [2018-11-23 12:23:49,227 INFO L273 TraceCheckUtils]: 41: Hoare triple {4972#true} assume true; {4972#true} is VALID [2018-11-23 12:23:49,228 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {4972#true} {4978#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} #60#return; {4978#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,229 INFO L273 TraceCheckUtils]: 43: Hoare triple {4978#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {4978#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,230 INFO L273 TraceCheckUtils]: 44: Hoare triple {4978#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4977#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,231 INFO L273 TraceCheckUtils]: 45: Hoare triple {4977#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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); {4977#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,231 INFO L256 TraceCheckUtils]: 46: Hoare triple {4977#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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)); {4972#true} is VALID [2018-11-23 12:23:49,232 INFO L273 TraceCheckUtils]: 47: Hoare triple {4972#true} ~cond := #in~cond; {4972#true} is VALID [2018-11-23 12:23:49,232 INFO L273 TraceCheckUtils]: 48: Hoare triple {4972#true} assume !(0 == ~cond); {4972#true} is VALID [2018-11-23 12:23:49,232 INFO L273 TraceCheckUtils]: 49: Hoare triple {4972#true} assume true; {4972#true} is VALID [2018-11-23 12:23:49,233 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {4972#true} {4977#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} #60#return; {4977#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,234 INFO L273 TraceCheckUtils]: 51: Hoare triple {4977#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {4977#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,235 INFO L273 TraceCheckUtils]: 52: Hoare triple {4977#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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; {4976#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,236 INFO L273 TraceCheckUtils]: 53: Hoare triple {4976#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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); {4976#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,236 INFO L256 TraceCheckUtils]: 54: Hoare triple {4976#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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)); {4972#true} is VALID [2018-11-23 12:23:49,237 INFO L273 TraceCheckUtils]: 55: Hoare triple {4972#true} ~cond := #in~cond; {4972#true} is VALID [2018-11-23 12:23:49,237 INFO L273 TraceCheckUtils]: 56: Hoare triple {4972#true} assume !(0 == ~cond); {4972#true} is VALID [2018-11-23 12:23:49,237 INFO L273 TraceCheckUtils]: 57: Hoare triple {4972#true} assume true; {4972#true} is VALID [2018-11-23 12:23:49,238 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {4972#true} {4976#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} #60#return; {4976#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,239 INFO L273 TraceCheckUtils]: 59: Hoare triple {4976#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {4976#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:49,240 INFO L273 TraceCheckUtils]: 60: Hoare triple {4976#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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; {4988#(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:49,241 INFO L273 TraceCheckUtils]: 61: Hoare triple {4988#(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); {4988#(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:49,241 INFO L256 TraceCheckUtils]: 62: Hoare triple {4988#(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)); {4972#true} is VALID [2018-11-23 12:23:49,241 INFO L273 TraceCheckUtils]: 63: Hoare triple {4972#true} ~cond := #in~cond; {4972#true} is VALID [2018-11-23 12:23:49,242 INFO L273 TraceCheckUtils]: 64: Hoare triple {4972#true} assume !(0 == ~cond); {4972#true} is VALID [2018-11-23 12:23:49,242 INFO L273 TraceCheckUtils]: 65: Hoare triple {4972#true} assume true; {4972#true} is VALID [2018-11-23 12:23:49,243 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {4972#true} {4988#(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))} #60#return; {4988#(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:49,243 INFO L273 TraceCheckUtils]: 67: Hoare triple {4988#(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; {4988#(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:49,244 INFO L273 TraceCheckUtils]: 68: Hoare triple {4988#(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; {4989#(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:49,245 INFO L273 TraceCheckUtils]: 69: Hoare triple {4989#(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); {4990#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:23:49,246 INFO L256 TraceCheckUtils]: 70: Hoare triple {4990#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4986#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:49,247 INFO L273 TraceCheckUtils]: 71: Hoare triple {4986#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {4991#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:23:49,247 INFO L273 TraceCheckUtils]: 72: Hoare triple {4991#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {4973#false} is VALID [2018-11-23 12:23:49,247 INFO L273 TraceCheckUtils]: 73: Hoare triple {4973#false} assume !false; {4973#false} is VALID [2018-11-23 12:23:49,265 INFO L134 CoverageAnalysis]: Checked inductivity of 180 backedges. 17 proven. 118 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2018-11-23 12:23:49,265 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:49,266 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:49,277 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:23:49,302 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:23:49,302 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:49,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:49,324 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:49,358 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 25 treesize of output 22 [2018-11-23 12:23:49,408 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 25 [2018-11-23 12:23:49,413 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:49,415 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:49,416 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 25 treesize of output 53 [2018-11-23 12:23:49,422 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:49,429 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:49,436 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:49,445 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:49,445 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:29, output treesize:29 [2018-11-23 12:23:49,550 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 54 treesize of output 47 [2018-11-23 12:23:49,559 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:49,561 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:49,562 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:49,563 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:49,564 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:49,566 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:49,567 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 129 [2018-11-23 12:23:49,582 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 89 treesize of output 114 [2018-11-23 12:23:49,585 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:49,605 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:49,614 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:49,626 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:49,626 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:57, output treesize:43 [2018-11-23 12:23:49,757 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 68 treesize of output 59 [2018-11-23 12:23:49,769 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:49,770 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:49,772 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:49,773 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:49,775 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:49,780 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:49,781 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:49,782 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:49,784 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:49,786 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:49,788 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:49,790 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:49,791 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 12 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 59 treesize of output 229 [2018-11-23 12:23:49,812 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 0 case distinctions, treesize of input 148 treesize of output 219 [2018-11-23 12:23:49,820 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:49,855 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:49,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:49,879 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:49,880 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:71, output treesize:57 [2018-11-23 12:23:50,148 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 82 treesize of output 71 [2018-11-23 12:23:50,163 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,165 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,167 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,168 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,170 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,172 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,174 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,176 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,177 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,179 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,181 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,183 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,185 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,186 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,188 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,190 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,192 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,194 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,195 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,196 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,198 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 20 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 71 treesize of output 361 [2018-11-23 12:23:50,253 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 0 case distinctions, treesize of input 225 treesize of output 360 [2018-11-23 12:23:50,281 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:50,377 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:50,393 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:50,410 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:50,410 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:85, output treesize:71 [2018-11-23 12:23:50,605 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 96 treesize of output 83 [2018-11-23 12:23:50,626 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,627 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,627 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,628 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,629 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,631 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,632 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,633 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,634 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,635 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,637 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,638 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,639 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,640 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,642 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,644 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,645 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,647 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,648 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,650 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,652 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,653 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,655 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,656 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,658 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,659 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,661 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,662 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,664 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,665 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:50,667 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 30 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 83 treesize of output 525 [2018-11-23 12:23:50,751 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 30 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 320 treesize of output 537 [2018-11-23 12:23:50,759 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:50,862 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:50,879 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:50,900 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:50,900 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:99, output treesize:85 [2018-11-23 12:23:51,134 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 110 treesize of output 95 [2018-11-23 12:23:51,155 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,157 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,158 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,161 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,162 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,164 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,166 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,168 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,170 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,172 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,173 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,174 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,176 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,178 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,180 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,182 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,183 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,185 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,186 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,187 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,188 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,190 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,192 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,194 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,196 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,199 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,202 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,204 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,206 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,207 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,210 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,212 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,213 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,216 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,217 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,219 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,221 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,223 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,225 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,227 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,229 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,231 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:51,233 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 42 disjoint index pairs (out of 15 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 95 treesize of output 721 [2018-11-23 12:23:51,318 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 42 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 433 treesize of output 750 [2018-11-23 12:23:51,327 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:51,478 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:51,501 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:51,526 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:51,527 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:116, output treesize:102 [2018-11-23 12:23:58,928 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 97 treesize of output 81 [2018-11-23 12:23:58,943 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,944 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,944 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,945 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,946 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,947 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,949 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,950 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,951 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,952 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,953 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,954 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,955 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,956 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,957 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,958 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,960 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,961 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,962 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,963 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,964 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:23:58,965 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,966 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,967 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,968 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,970 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,971 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,972 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,974 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,975 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,977 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,978 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,979 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,981 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,982 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,984 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,985 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,986 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,988 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,989 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,990 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,992 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,993 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,994 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,996 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:58,997 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:59,002 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 8 select indices, 8 select index equivalence classes, 42 disjoint index pairs (out of 28 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 81 treesize of output 439 [2018-11-23 12:23:59,006 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:59,106 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:59,117 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:59,118 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:106, output treesize:7 [2018-11-23 12:23:59,123 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:59,124 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, v_main_~i~0_79]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 v_main_~i~0_79))) (and (= (+ v_main_~i~0_79 5) (select .cse0 (+ .cse1 20))) (= main_~i~0 6) (= (+ v_main_~i~0_79 3) (select .cse0 (+ .cse1 12))) (= (select .cse0 (+ .cse1 24)) (+ v_main_~i~0_79 6)) (= v_main_~i~0_79 (select .cse0 .cse1)) (<= v_main_~i~0_79 0) (<= (select .cse0 (* 4 main_~i~0)) |main_#t~mem4|) (= (+ v_main_~i~0_79 4) (select .cse0 (+ .cse1 16))) (= (+ v_main_~i~0_79 2) (select .cse0 (+ .cse1 8))) (= (+ v_main_~i~0_79 1) (select .cse0 (+ .cse1 4))) (<= 0 v_main_~i~0_79))) [2018-11-23 12:23:59,124 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 6) (<= 6 |main_#t~mem4|)) [2018-11-23 12:23:59,237 INFO L256 TraceCheckUtils]: 0: Hoare triple {4972#true} call ULTIMATE.init(); {4972#true} is VALID [2018-11-23 12:23:59,237 INFO L273 TraceCheckUtils]: 1: Hoare triple {4972#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {4972#true} is VALID [2018-11-23 12:23:59,237 INFO L273 TraceCheckUtils]: 2: Hoare triple {4972#true} assume true; {4972#true} is VALID [2018-11-23 12:23:59,237 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4972#true} {4972#true} #56#return; {4972#true} is VALID [2018-11-23 12:23:59,237 INFO L256 TraceCheckUtils]: 4: Hoare triple {4972#true} call #t~ret5 := main(); {4972#true} is VALID [2018-11-23 12:23:59,237 INFO L273 TraceCheckUtils]: 5: Hoare triple {4972#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {4972#true} is VALID [2018-11-23 12:23:59,238 INFO L273 TraceCheckUtils]: 6: Hoare triple {4972#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {4974#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:23:59,239 INFO L273 TraceCheckUtils]: 7: Hoare triple {4974#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5016#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,240 INFO L273 TraceCheckUtils]: 8: Hoare triple {5016#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5020#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,242 INFO L273 TraceCheckUtils]: 9: Hoare triple {5020#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5024#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,244 INFO L273 TraceCheckUtils]: 10: Hoare triple {5024#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5028#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,246 INFO L273 TraceCheckUtils]: 11: Hoare triple {5028#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5032#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,248 INFO L273 TraceCheckUtils]: 12: Hoare triple {5032#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5036#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,250 INFO L273 TraceCheckUtils]: 13: Hoare triple {5036#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5040#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,253 INFO L273 TraceCheckUtils]: 14: Hoare triple {5040#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5044#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,255 INFO L273 TraceCheckUtils]: 15: Hoare triple {5044#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5048#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,259 INFO L273 TraceCheckUtils]: 16: Hoare triple {5048#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5052#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,261 INFO L273 TraceCheckUtils]: 17: Hoare triple {5052#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5056#(and (<= 0 main_~i~0) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= main_~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:59,263 INFO L273 TraceCheckUtils]: 18: Hoare triple {5056#(and (<= 0 main_~i~0) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5060#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 (+ main_~i~0 1)) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,265 INFO L273 TraceCheckUtils]: 19: Hoare triple {5060#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 (+ main_~i~0 1)) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} assume !(~i~0 >= 0); {5064#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,266 INFO L273 TraceCheckUtils]: 20: Hoare triple {5064#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {5068#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,268 INFO L273 TraceCheckUtils]: 21: Hoare triple {5068#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= 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); {5068#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,270 INFO L256 TraceCheckUtils]: 22: Hoare triple {5068#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,271 INFO L273 TraceCheckUtils]: 23: Hoare triple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} ~cond := #in~cond; {5079#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:23:59,272 INFO L273 TraceCheckUtils]: 24: Hoare triple {5079#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {5083#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79))))} is VALID [2018-11-23 12:23:59,273 INFO L273 TraceCheckUtils]: 25: Hoare triple {5083#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79))))} assume true; {5083#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79))))} is VALID [2018-11-23 12:23:59,274 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {5083#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79))))} {5068#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #60#return; {5068#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,276 INFO L273 TraceCheckUtils]: 27: Hoare triple {5068#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {5068#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,277 INFO L273 TraceCheckUtils]: 28: Hoare triple {5068#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5096#(and (= main_~i~0 1) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,279 INFO L273 TraceCheckUtils]: 29: Hoare triple {5096#(and (= main_~i~0 1) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |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); {5096#(and (= main_~i~0 1) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,282 INFO L256 TraceCheckUtils]: 30: Hoare triple {5096#(and (= main_~i~0 1) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,283 INFO L273 TraceCheckUtils]: 31: Hoare triple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} ~cond := #in~cond; {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,283 INFO L273 TraceCheckUtils]: 32: Hoare triple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} assume !(0 == ~cond); {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,284 INFO L273 TraceCheckUtils]: 33: Hoare triple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} assume true; {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,285 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} {5096#(and (= main_~i~0 1) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} #60#return; {5096#(and (= main_~i~0 1) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,286 INFO L273 TraceCheckUtils]: 35: Hoare triple {5096#(and (= main_~i~0 1) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {5096#(and (= main_~i~0 1) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,288 INFO L273 TraceCheckUtils]: 36: Hoare triple {5096#(and (= main_~i~0 1) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5121#(and (= main_~i~0 2) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,289 INFO L273 TraceCheckUtils]: 37: Hoare triple {5121#(and (= main_~i~0 2) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |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); {5121#(and (= main_~i~0 2) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,292 INFO L256 TraceCheckUtils]: 38: Hoare triple {5121#(and (= main_~i~0 2) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,293 INFO L273 TraceCheckUtils]: 39: Hoare triple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} ~cond := #in~cond; {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,293 INFO L273 TraceCheckUtils]: 40: Hoare triple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} assume !(0 == ~cond); {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,294 INFO L273 TraceCheckUtils]: 41: Hoare triple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} assume true; {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,295 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} {5121#(and (= main_~i~0 2) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} #60#return; {5121#(and (= main_~i~0 2) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,296 INFO L273 TraceCheckUtils]: 43: Hoare triple {5121#(and (= main_~i~0 2) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {5121#(and (= main_~i~0 2) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,298 INFO L273 TraceCheckUtils]: 44: Hoare triple {5121#(and (= main_~i~0 2) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5146#(and (= main_~i~0 3) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,299 INFO L273 TraceCheckUtils]: 45: Hoare triple {5146#(and (= main_~i~0 3) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |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); {5146#(and (= main_~i~0 3) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,302 INFO L256 TraceCheckUtils]: 46: Hoare triple {5146#(and (= main_~i~0 3) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,303 INFO L273 TraceCheckUtils]: 47: Hoare triple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} ~cond := #in~cond; {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,304 INFO L273 TraceCheckUtils]: 48: Hoare triple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} assume !(0 == ~cond); {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,304 INFO L273 TraceCheckUtils]: 49: Hoare triple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} assume true; {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,305 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} {5146#(and (= main_~i~0 3) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} #60#return; {5146#(and (= main_~i~0 3) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,307 INFO L273 TraceCheckUtils]: 51: Hoare triple {5146#(and (= main_~i~0 3) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {5146#(and (= main_~i~0 3) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,309 INFO L273 TraceCheckUtils]: 52: Hoare triple {5146#(and (= main_~i~0 3) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5171#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,310 INFO L273 TraceCheckUtils]: 53: Hoare triple {5171#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= 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); {5171#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,313 INFO L256 TraceCheckUtils]: 54: Hoare triple {5171#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,314 INFO L273 TraceCheckUtils]: 55: Hoare triple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} ~cond := #in~cond; {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,314 INFO L273 TraceCheckUtils]: 56: Hoare triple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} assume !(0 == ~cond); {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,314 INFO L273 TraceCheckUtils]: 57: Hoare triple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} assume true; {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,315 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} {5171#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} #60#return; {5171#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,316 INFO L273 TraceCheckUtils]: 59: Hoare triple {5171#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {5171#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,317 INFO L273 TraceCheckUtils]: 60: Hoare triple {5171#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5196#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,320 INFO L273 TraceCheckUtils]: 61: Hoare triple {5196#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= 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); {5196#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,323 INFO L256 TraceCheckUtils]: 62: Hoare triple {5196#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,323 INFO L273 TraceCheckUtils]: 63: Hoare triple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} ~cond := #in~cond; {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,324 INFO L273 TraceCheckUtils]: 64: Hoare triple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} assume !(0 == ~cond); {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,325 INFO L273 TraceCheckUtils]: 65: Hoare triple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} assume true; {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} is VALID [2018-11-23 12:23:59,325 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {5075#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| Int) (v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 12))) (= v_main_~i~0_79 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_main_~i~0_79))) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 4))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 24))) (= (+ v_main_~i~0_79 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 16))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 20))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~i~0_79) 8))) (<= 0 v_main_~i~0_79)))} {5196#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} #60#return; {5196#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,327 INFO L273 TraceCheckUtils]: 67: Hoare triple {5196#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {5196#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,328 INFO L273 TraceCheckUtils]: 68: Hoare triple {5196#(and (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5221#(and (= main_~i~0 6) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:59,330 INFO L273 TraceCheckUtils]: 69: Hoare triple {5221#(and (= main_~i~0 6) (exists ((v_main_~i~0_79 Int)) (and (= (+ v_main_~i~0_79 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 16)) (+ v_main_~i~0_79 4)) (= (+ v_main_~i~0_79 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_79 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 20))) (= v_main_~i~0_79 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset|))) (= (+ v_main_~i~0_79 6) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 24))) (<= v_main_~i~0_79 0) (= (+ v_main_~i~0_79 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_79) |main_~#a~0.offset| 4))) (<= 0 v_main_~i~0_79))) (= |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); {5225#(and (= main_~i~0 6) (<= 6 |main_#t~mem4|))} is VALID [2018-11-23 12:23:59,331 INFO L256 TraceCheckUtils]: 70: Hoare triple {5225#(and (= main_~i~0 6) (<= 6 |main_#t~mem4|))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5229#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:23:59,332 INFO L273 TraceCheckUtils]: 71: Hoare triple {5229#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {5233#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:23:59,332 INFO L273 TraceCheckUtils]: 72: Hoare triple {5233#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4973#false} is VALID [2018-11-23 12:23:59,333 INFO L273 TraceCheckUtils]: 73: Hoare triple {4973#false} assume !false; {4973#false} is VALID [2018-11-23 12:23:59,394 INFO L134 CoverageAnalysis]: Checked inductivity of 180 backedges. 31 proven. 104 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2018-11-23 12:23:59,413 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:59,413 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 29] total 46 [2018-11-23 12:23:59,413 INFO L78 Accepts]: Start accepts. Automaton has 46 states. Word has length 74 [2018-11-23 12:23:59,414 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:59,414 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 46 states. [2018-11-23 12:23:59,636 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:59,636 INFO L459 AbstractCegarLoop]: Interpolant automaton has 46 states [2018-11-23 12:23:59,636 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 46 interpolants. [2018-11-23 12:23:59,637 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=378, Invalid=1692, Unknown=0, NotChecked=0, Total=2070 [2018-11-23 12:23:59,637 INFO L87 Difference]: Start difference. First operand 77 states and 78 transitions. Second operand 46 states. [2018-11-23 12:24:07,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:07,883 INFO L93 Difference]: Finished difference Result 89 states and 90 transitions. [2018-11-23 12:24:07,883 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2018-11-23 12:24:07,883 INFO L78 Accepts]: Start accepts. Automaton has 46 states. Word has length 74 [2018-11-23 12:24:07,883 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:24:07,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-11-23 12:24:07,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 72 transitions. [2018-11-23 12:24:07,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-11-23 12:24:07,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 72 transitions. [2018-11-23 12:24:07,887 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 37 states and 72 transitions. [2018-11-23 12:24:08,690 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:24:08,693 INFO L225 Difference]: With dead ends: 89 [2018-11-23 12:24:08,693 INFO L226 Difference]: Without dead ends: 87 [2018-11-23 12:24:08,695 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 40 SyntacticMatches, 19 SemanticMatches, 63 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1371 ImplicationChecksByTransitivity, 6.5s TimeCoverageRelationStatistics Valid=782, Invalid=3378, Unknown=0, NotChecked=0, Total=4160 [2018-11-23 12:24:08,695 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2018-11-23 12:24:13,848 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 85. [2018-11-23 12:24:13,848 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:24:13,849 INFO L82 GeneralOperation]: Start isEquivalent. First operand 87 states. Second operand 85 states. [2018-11-23 12:24:13,849 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand 85 states. [2018-11-23 12:24:13,849 INFO L87 Difference]: Start difference. First operand 87 states. Second operand 85 states. [2018-11-23 12:24:13,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:13,852 INFO L93 Difference]: Finished difference Result 87 states and 88 transitions. [2018-11-23 12:24:13,852 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 88 transitions. [2018-11-23 12:24:13,852 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:13,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:13,853 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 87 states. [2018-11-23 12:24:13,853 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 87 states. [2018-11-23 12:24:13,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:13,855 INFO L93 Difference]: Finished difference Result 87 states and 88 transitions. [2018-11-23 12:24:13,855 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 88 transitions. [2018-11-23 12:24:13,856 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:13,856 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:13,856 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:24:13,856 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:24:13,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 85 states. [2018-11-23 12:24:13,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 86 transitions. [2018-11-23 12:24:13,858 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 86 transitions. Word has length 74 [2018-11-23 12:24:13,858 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:24:13,859 INFO L480 AbstractCegarLoop]: Abstraction has 85 states and 86 transitions. [2018-11-23 12:24:13,859 INFO L481 AbstractCegarLoop]: Interpolant automaton has 46 states. [2018-11-23 12:24:13,859 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 86 transitions. [2018-11-23 12:24:13,860 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2018-11-23 12:24:13,860 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:24:13,860 INFO L402 BasicCegarLoop]: trace histogram [8, 8, 8, 7, 7, 7, 7, 7, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:24:13,860 INFO L423 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:24:13,860 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:24:13,861 INFO L82 PathProgramCache]: Analyzing trace with hash -1518864121, now seen corresponding path program 11 times [2018-11-23 12:24:13,861 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:24:13,861 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:24:13,861 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:13,862 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:24:13,862 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:13,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:15,166 INFO L256 TraceCheckUtils]: 0: Hoare triple {5696#true} call ULTIMATE.init(); {5696#true} is VALID [2018-11-23 12:24:15,166 INFO L273 TraceCheckUtils]: 1: Hoare triple {5696#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {5696#true} is VALID [2018-11-23 12:24:15,166 INFO L273 TraceCheckUtils]: 2: Hoare triple {5696#true} assume true; {5696#true} is VALID [2018-11-23 12:24:15,167 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5696#true} {5696#true} #56#return; {5696#true} is VALID [2018-11-23 12:24:15,167 INFO L256 TraceCheckUtils]: 4: Hoare triple {5696#true} call #t~ret5 := main(); {5696#true} is VALID [2018-11-23 12:24:15,167 INFO L273 TraceCheckUtils]: 5: Hoare triple {5696#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {5696#true} is VALID [2018-11-23 12:24:15,168 INFO L273 TraceCheckUtils]: 6: Hoare triple {5696#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {5698#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:15,168 INFO L273 TraceCheckUtils]: 7: Hoare triple {5698#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5698#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:15,168 INFO L273 TraceCheckUtils]: 8: Hoare triple {5698#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5699#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:15,169 INFO L273 TraceCheckUtils]: 9: Hoare triple {5699#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5699#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:15,169 INFO L273 TraceCheckUtils]: 10: Hoare triple {5699#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5700#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:15,170 INFO L273 TraceCheckUtils]: 11: Hoare triple {5700#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5700#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:15,170 INFO L273 TraceCheckUtils]: 12: Hoare triple {5700#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5701#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:15,170 INFO L273 TraceCheckUtils]: 13: Hoare triple {5701#(<= ~SIZE~0 (+ main_~i~0 5))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5701#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:15,171 INFO L273 TraceCheckUtils]: 14: Hoare triple {5701#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5702#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:24:15,172 INFO L273 TraceCheckUtils]: 15: Hoare triple {5702#(<= ~SIZE~0 (+ main_~i~0 6))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5702#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:24:15,172 INFO L273 TraceCheckUtils]: 16: Hoare triple {5702#(<= ~SIZE~0 (+ main_~i~0 6))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5703#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:24:15,173 INFO L273 TraceCheckUtils]: 17: Hoare triple {5703#(<= ~SIZE~0 (+ main_~i~0 7))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5703#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:24:15,174 INFO L273 TraceCheckUtils]: 18: Hoare triple {5703#(<= ~SIZE~0 (+ main_~i~0 7))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5704#(<= ~SIZE~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:24:15,174 INFO L273 TraceCheckUtils]: 19: Hoare triple {5704#(<= ~SIZE~0 (+ main_~i~0 8))} assume !(~i~0 >= 0); {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,175 INFO L273 TraceCheckUtils]: 20: Hoare triple {5705#(<= ~SIZE~0 7)} ~i~0 := 0; {5706#(and (<= ~SIZE~0 7) (= main_~i~0 0))} is VALID [2018-11-23 12:24:15,176 INFO L273 TraceCheckUtils]: 21: Hoare triple {5706#(and (<= ~SIZE~0 7) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5706#(and (<= ~SIZE~0 7) (= main_~i~0 0))} is VALID [2018-11-23 12:24:15,176 INFO L256 TraceCheckUtils]: 22: Hoare triple {5706#(and (<= ~SIZE~0 7) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5696#true} is VALID [2018-11-23 12:24:15,176 INFO L273 TraceCheckUtils]: 23: Hoare triple {5696#true} ~cond := #in~cond; {5696#true} is VALID [2018-11-23 12:24:15,176 INFO L273 TraceCheckUtils]: 24: Hoare triple {5696#true} assume !(0 == ~cond); {5696#true} is VALID [2018-11-23 12:24:15,177 INFO L273 TraceCheckUtils]: 25: Hoare triple {5696#true} assume true; {5696#true} is VALID [2018-11-23 12:24:15,177 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {5696#true} {5706#(and (<= ~SIZE~0 7) (= main_~i~0 0))} #60#return; {5706#(and (<= ~SIZE~0 7) (= main_~i~0 0))} is VALID [2018-11-23 12:24:15,178 INFO L273 TraceCheckUtils]: 27: Hoare triple {5706#(and (<= ~SIZE~0 7) (= main_~i~0 0))} havoc #t~mem4; {5706#(and (<= ~SIZE~0 7) (= main_~i~0 0))} is VALID [2018-11-23 12:24:15,179 INFO L273 TraceCheckUtils]: 28: Hoare triple {5706#(and (<= ~SIZE~0 7) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5702#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:24:15,179 INFO L273 TraceCheckUtils]: 29: Hoare triple {5702#(<= ~SIZE~0 (+ main_~i~0 6))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5702#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:24:15,180 INFO L256 TraceCheckUtils]: 30: Hoare triple {5702#(<= ~SIZE~0 (+ main_~i~0 6))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5696#true} is VALID [2018-11-23 12:24:15,180 INFO L273 TraceCheckUtils]: 31: Hoare triple {5696#true} ~cond := #in~cond; {5696#true} is VALID [2018-11-23 12:24:15,180 INFO L273 TraceCheckUtils]: 32: Hoare triple {5696#true} assume !(0 == ~cond); {5696#true} is VALID [2018-11-23 12:24:15,180 INFO L273 TraceCheckUtils]: 33: Hoare triple {5696#true} assume true; {5696#true} is VALID [2018-11-23 12:24:15,181 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {5696#true} {5702#(<= ~SIZE~0 (+ main_~i~0 6))} #60#return; {5702#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:24:15,181 INFO L273 TraceCheckUtils]: 35: Hoare triple {5702#(<= ~SIZE~0 (+ main_~i~0 6))} havoc #t~mem4; {5702#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:24:15,182 INFO L273 TraceCheckUtils]: 36: Hoare triple {5702#(<= ~SIZE~0 (+ main_~i~0 6))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5701#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:15,183 INFO L273 TraceCheckUtils]: 37: Hoare triple {5701#(<= ~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); {5701#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:15,183 INFO L256 TraceCheckUtils]: 38: Hoare triple {5701#(<= ~SIZE~0 (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5696#true} is VALID [2018-11-23 12:24:15,183 INFO L273 TraceCheckUtils]: 39: Hoare triple {5696#true} ~cond := #in~cond; {5696#true} is VALID [2018-11-23 12:24:15,183 INFO L273 TraceCheckUtils]: 40: Hoare triple {5696#true} assume !(0 == ~cond); {5696#true} is VALID [2018-11-23 12:24:15,183 INFO L273 TraceCheckUtils]: 41: Hoare triple {5696#true} assume true; {5696#true} is VALID [2018-11-23 12:24:15,184 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {5696#true} {5701#(<= ~SIZE~0 (+ main_~i~0 5))} #60#return; {5701#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:15,185 INFO L273 TraceCheckUtils]: 43: Hoare triple {5701#(<= ~SIZE~0 (+ main_~i~0 5))} havoc #t~mem4; {5701#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:15,186 INFO L273 TraceCheckUtils]: 44: Hoare triple {5701#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5700#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:15,186 INFO L273 TraceCheckUtils]: 45: Hoare triple {5700#(<= ~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); {5700#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:15,186 INFO L256 TraceCheckUtils]: 46: Hoare triple {5700#(<= ~SIZE~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5696#true} is VALID [2018-11-23 12:24:15,186 INFO L273 TraceCheckUtils]: 47: Hoare triple {5696#true} ~cond := #in~cond; {5696#true} is VALID [2018-11-23 12:24:15,187 INFO L273 TraceCheckUtils]: 48: Hoare triple {5696#true} assume !(0 == ~cond); {5696#true} is VALID [2018-11-23 12:24:15,187 INFO L273 TraceCheckUtils]: 49: Hoare triple {5696#true} assume true; {5696#true} is VALID [2018-11-23 12:24:15,188 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {5696#true} {5700#(<= ~SIZE~0 (+ main_~i~0 4))} #60#return; {5700#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:15,188 INFO L273 TraceCheckUtils]: 51: Hoare triple {5700#(<= ~SIZE~0 (+ main_~i~0 4))} havoc #t~mem4; {5700#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:15,189 INFO L273 TraceCheckUtils]: 52: Hoare triple {5700#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5699#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:15,189 INFO L273 TraceCheckUtils]: 53: Hoare triple {5699#(<= ~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); {5699#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:15,190 INFO L256 TraceCheckUtils]: 54: Hoare triple {5699#(<= ~SIZE~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5696#true} is VALID [2018-11-23 12:24:15,190 INFO L273 TraceCheckUtils]: 55: Hoare triple {5696#true} ~cond := #in~cond; {5696#true} is VALID [2018-11-23 12:24:15,190 INFO L273 TraceCheckUtils]: 56: Hoare triple {5696#true} assume !(0 == ~cond); {5696#true} is VALID [2018-11-23 12:24:15,190 INFO L273 TraceCheckUtils]: 57: Hoare triple {5696#true} assume true; {5696#true} is VALID [2018-11-23 12:24:15,191 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {5696#true} {5699#(<= ~SIZE~0 (+ main_~i~0 3))} #60#return; {5699#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:15,191 INFO L273 TraceCheckUtils]: 59: Hoare triple {5699#(<= ~SIZE~0 (+ main_~i~0 3))} havoc #t~mem4; {5699#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:15,192 INFO L273 TraceCheckUtils]: 60: Hoare triple {5699#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5698#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:15,193 INFO L273 TraceCheckUtils]: 61: Hoare triple {5698#(<= ~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); {5698#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:15,193 INFO L256 TraceCheckUtils]: 62: Hoare triple {5698#(<= ~SIZE~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5696#true} is VALID [2018-11-23 12:24:15,193 INFO L273 TraceCheckUtils]: 63: Hoare triple {5696#true} ~cond := #in~cond; {5696#true} is VALID [2018-11-23 12:24:15,193 INFO L273 TraceCheckUtils]: 64: Hoare triple {5696#true} assume !(0 == ~cond); {5696#true} is VALID [2018-11-23 12:24:15,194 INFO L273 TraceCheckUtils]: 65: Hoare triple {5696#true} assume true; {5696#true} is VALID [2018-11-23 12:24:15,194 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {5696#true} {5698#(<= ~SIZE~0 (+ main_~i~0 2))} #60#return; {5698#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:15,195 INFO L273 TraceCheckUtils]: 67: Hoare triple {5698#(<= ~SIZE~0 (+ main_~i~0 2))} havoc #t~mem4; {5698#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:15,196 INFO L273 TraceCheckUtils]: 68: Hoare triple {5698#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5707#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:24:15,196 INFO L273 TraceCheckUtils]: 69: Hoare triple {5707#(<= ~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); {5707#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:24:15,196 INFO L256 TraceCheckUtils]: 70: Hoare triple {5707#(<= ~SIZE~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5696#true} is VALID [2018-11-23 12:24:15,196 INFO L273 TraceCheckUtils]: 71: Hoare triple {5696#true} ~cond := #in~cond; {5696#true} is VALID [2018-11-23 12:24:15,196 INFO L273 TraceCheckUtils]: 72: Hoare triple {5696#true} assume !(0 == ~cond); {5696#true} is VALID [2018-11-23 12:24:15,196 INFO L273 TraceCheckUtils]: 73: Hoare triple {5696#true} assume true; {5696#true} is VALID [2018-11-23 12:24:15,197 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {5696#true} {5707#(<= ~SIZE~0 (+ main_~i~0 1))} #60#return; {5707#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:24:15,197 INFO L273 TraceCheckUtils]: 75: Hoare triple {5707#(<= ~SIZE~0 (+ main_~i~0 1))} havoc #t~mem4; {5707#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:24:15,198 INFO L273 TraceCheckUtils]: 76: Hoare triple {5707#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5708#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-23 12:24:15,198 INFO L273 TraceCheckUtils]: 77: Hoare triple {5708#(<= ~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); {5697#false} is VALID [2018-11-23 12:24:15,199 INFO L256 TraceCheckUtils]: 78: Hoare triple {5697#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5697#false} is VALID [2018-11-23 12:24:15,199 INFO L273 TraceCheckUtils]: 79: Hoare triple {5697#false} ~cond := #in~cond; {5697#false} is VALID [2018-11-23 12:24:15,199 INFO L273 TraceCheckUtils]: 80: Hoare triple {5697#false} assume 0 == ~cond; {5697#false} is VALID [2018-11-23 12:24:15,199 INFO L273 TraceCheckUtils]: 81: Hoare triple {5697#false} assume !false; {5697#false} is VALID [2018-11-23 12:24:15,205 INFO L134 CoverageAnalysis]: Checked inductivity of 232 backedges. 87 proven. 61 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2018-11-23 12:24:15,206 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:24:15,206 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:24:15,215 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:24:15,278 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 8 check-sat command(s) [2018-11-23 12:24:15,279 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:24:15,293 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:15,295 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:24:15,703 INFO L256 TraceCheckUtils]: 0: Hoare triple {5696#true} call ULTIMATE.init(); {5696#true} is VALID [2018-11-23 12:24:15,704 INFO L273 TraceCheckUtils]: 1: Hoare triple {5696#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {5696#true} is VALID [2018-11-23 12:24:15,704 INFO L273 TraceCheckUtils]: 2: Hoare triple {5696#true} assume true; {5696#true} is VALID [2018-11-23 12:24:15,704 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5696#true} {5696#true} #56#return; {5696#true} is VALID [2018-11-23 12:24:15,704 INFO L256 TraceCheckUtils]: 4: Hoare triple {5696#true} call #t~ret5 := main(); {5696#true} is VALID [2018-11-23 12:24:15,705 INFO L273 TraceCheckUtils]: 5: Hoare triple {5696#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {5696#true} is VALID [2018-11-23 12:24:15,706 INFO L273 TraceCheckUtils]: 6: Hoare triple {5696#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {5698#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:15,706 INFO L273 TraceCheckUtils]: 7: Hoare triple {5698#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5698#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:15,706 INFO L273 TraceCheckUtils]: 8: Hoare triple {5698#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5699#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:15,707 INFO L273 TraceCheckUtils]: 9: Hoare triple {5699#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5699#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:15,707 INFO L273 TraceCheckUtils]: 10: Hoare triple {5699#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5700#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:15,707 INFO L273 TraceCheckUtils]: 11: Hoare triple {5700#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5700#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:15,708 INFO L273 TraceCheckUtils]: 12: Hoare triple {5700#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5701#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:15,709 INFO L273 TraceCheckUtils]: 13: Hoare triple {5701#(<= ~SIZE~0 (+ main_~i~0 5))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5701#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:15,710 INFO L273 TraceCheckUtils]: 14: Hoare triple {5701#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5702#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:24:15,710 INFO L273 TraceCheckUtils]: 15: Hoare triple {5702#(<= ~SIZE~0 (+ main_~i~0 6))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5702#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:24:15,711 INFO L273 TraceCheckUtils]: 16: Hoare triple {5702#(<= ~SIZE~0 (+ main_~i~0 6))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5703#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:24:15,711 INFO L273 TraceCheckUtils]: 17: Hoare triple {5703#(<= ~SIZE~0 (+ main_~i~0 7))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {5703#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:24:15,712 INFO L273 TraceCheckUtils]: 18: Hoare triple {5703#(<= ~SIZE~0 (+ main_~i~0 7))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5704#(<= ~SIZE~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:24:15,713 INFO L273 TraceCheckUtils]: 19: Hoare triple {5704#(<= ~SIZE~0 (+ main_~i~0 8))} assume !(~i~0 >= 0); {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,714 INFO L273 TraceCheckUtils]: 20: Hoare triple {5705#(<= ~SIZE~0 7)} ~i~0 := 0; {5772#(and (<= 0 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,714 INFO L273 TraceCheckUtils]: 21: Hoare triple {5772#(and (<= 0 main_~i~0) (<= ~SIZE~0 7))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5772#(and (<= 0 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,716 INFO L256 TraceCheckUtils]: 22: Hoare triple {5772#(and (<= 0 main_~i~0) (<= ~SIZE~0 7))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,716 INFO L273 TraceCheckUtils]: 23: Hoare triple {5705#(<= ~SIZE~0 7)} ~cond := #in~cond; {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,717 INFO L273 TraceCheckUtils]: 24: Hoare triple {5705#(<= ~SIZE~0 7)} assume !(0 == ~cond); {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,717 INFO L273 TraceCheckUtils]: 25: Hoare triple {5705#(<= ~SIZE~0 7)} assume true; {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,718 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {5705#(<= ~SIZE~0 7)} {5772#(and (<= 0 main_~i~0) (<= ~SIZE~0 7))} #60#return; {5772#(and (<= 0 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,719 INFO L273 TraceCheckUtils]: 27: Hoare triple {5772#(and (<= 0 main_~i~0) (<= ~SIZE~0 7))} havoc #t~mem4; {5772#(and (<= 0 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,719 INFO L273 TraceCheckUtils]: 28: Hoare triple {5772#(and (<= 0 main_~i~0) (<= ~SIZE~0 7))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5797#(and (<= 1 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,720 INFO L273 TraceCheckUtils]: 29: Hoare triple {5797#(and (<= 1 main_~i~0) (<= ~SIZE~0 7))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5797#(and (<= 1 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,721 INFO L256 TraceCheckUtils]: 30: Hoare triple {5797#(and (<= 1 main_~i~0) (<= ~SIZE~0 7))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,722 INFO L273 TraceCheckUtils]: 31: Hoare triple {5705#(<= ~SIZE~0 7)} ~cond := #in~cond; {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,722 INFO L273 TraceCheckUtils]: 32: Hoare triple {5705#(<= ~SIZE~0 7)} assume !(0 == ~cond); {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,723 INFO L273 TraceCheckUtils]: 33: Hoare triple {5705#(<= ~SIZE~0 7)} assume true; {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,724 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {5705#(<= ~SIZE~0 7)} {5797#(and (<= 1 main_~i~0) (<= ~SIZE~0 7))} #60#return; {5797#(and (<= 1 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,724 INFO L273 TraceCheckUtils]: 35: Hoare triple {5797#(and (<= 1 main_~i~0) (<= ~SIZE~0 7))} havoc #t~mem4; {5797#(and (<= 1 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,725 INFO L273 TraceCheckUtils]: 36: Hoare triple {5797#(and (<= 1 main_~i~0) (<= ~SIZE~0 7))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5822#(and (<= 2 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,726 INFO L273 TraceCheckUtils]: 37: Hoare triple {5822#(and (<= 2 main_~i~0) (<= ~SIZE~0 7))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5822#(and (<= 2 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,727 INFO L256 TraceCheckUtils]: 38: Hoare triple {5822#(and (<= 2 main_~i~0) (<= ~SIZE~0 7))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,727 INFO L273 TraceCheckUtils]: 39: Hoare triple {5705#(<= ~SIZE~0 7)} ~cond := #in~cond; {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,728 INFO L273 TraceCheckUtils]: 40: Hoare triple {5705#(<= ~SIZE~0 7)} assume !(0 == ~cond); {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,728 INFO L273 TraceCheckUtils]: 41: Hoare triple {5705#(<= ~SIZE~0 7)} assume true; {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,729 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {5705#(<= ~SIZE~0 7)} {5822#(and (<= 2 main_~i~0) (<= ~SIZE~0 7))} #60#return; {5822#(and (<= 2 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,730 INFO L273 TraceCheckUtils]: 43: Hoare triple {5822#(and (<= 2 main_~i~0) (<= ~SIZE~0 7))} havoc #t~mem4; {5822#(and (<= 2 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,731 INFO L273 TraceCheckUtils]: 44: Hoare triple {5822#(and (<= 2 main_~i~0) (<= ~SIZE~0 7))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5847#(and (<= 3 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,731 INFO L273 TraceCheckUtils]: 45: Hoare triple {5847#(and (<= 3 main_~i~0) (<= ~SIZE~0 7))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5847#(and (<= 3 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,732 INFO L256 TraceCheckUtils]: 46: Hoare triple {5847#(and (<= 3 main_~i~0) (<= ~SIZE~0 7))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,733 INFO L273 TraceCheckUtils]: 47: Hoare triple {5705#(<= ~SIZE~0 7)} ~cond := #in~cond; {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,733 INFO L273 TraceCheckUtils]: 48: Hoare triple {5705#(<= ~SIZE~0 7)} assume !(0 == ~cond); {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,734 INFO L273 TraceCheckUtils]: 49: Hoare triple {5705#(<= ~SIZE~0 7)} assume true; {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,735 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {5705#(<= ~SIZE~0 7)} {5847#(and (<= 3 main_~i~0) (<= ~SIZE~0 7))} #60#return; {5847#(and (<= 3 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,735 INFO L273 TraceCheckUtils]: 51: Hoare triple {5847#(and (<= 3 main_~i~0) (<= ~SIZE~0 7))} havoc #t~mem4; {5847#(and (<= 3 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,736 INFO L273 TraceCheckUtils]: 52: Hoare triple {5847#(and (<= 3 main_~i~0) (<= ~SIZE~0 7))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5872#(and (<= 4 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,737 INFO L273 TraceCheckUtils]: 53: Hoare triple {5872#(and (<= 4 main_~i~0) (<= ~SIZE~0 7))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5872#(and (<= 4 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,738 INFO L256 TraceCheckUtils]: 54: Hoare triple {5872#(and (<= 4 main_~i~0) (<= ~SIZE~0 7))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,739 INFO L273 TraceCheckUtils]: 55: Hoare triple {5705#(<= ~SIZE~0 7)} ~cond := #in~cond; {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,739 INFO L273 TraceCheckUtils]: 56: Hoare triple {5705#(<= ~SIZE~0 7)} assume !(0 == ~cond); {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,740 INFO L273 TraceCheckUtils]: 57: Hoare triple {5705#(<= ~SIZE~0 7)} assume true; {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,740 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {5705#(<= ~SIZE~0 7)} {5872#(and (<= 4 main_~i~0) (<= ~SIZE~0 7))} #60#return; {5872#(and (<= 4 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,741 INFO L273 TraceCheckUtils]: 59: Hoare triple {5872#(and (<= 4 main_~i~0) (<= ~SIZE~0 7))} havoc #t~mem4; {5872#(and (<= 4 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,742 INFO L273 TraceCheckUtils]: 60: Hoare triple {5872#(and (<= 4 main_~i~0) (<= ~SIZE~0 7))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5897#(and (<= 5 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,743 INFO L273 TraceCheckUtils]: 61: Hoare triple {5897#(and (<= 5 main_~i~0) (<= ~SIZE~0 7))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5897#(and (<= 5 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,744 INFO L256 TraceCheckUtils]: 62: Hoare triple {5897#(and (<= 5 main_~i~0) (<= ~SIZE~0 7))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,744 INFO L273 TraceCheckUtils]: 63: Hoare triple {5705#(<= ~SIZE~0 7)} ~cond := #in~cond; {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,745 INFO L273 TraceCheckUtils]: 64: Hoare triple {5705#(<= ~SIZE~0 7)} assume !(0 == ~cond); {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,745 INFO L273 TraceCheckUtils]: 65: Hoare triple {5705#(<= ~SIZE~0 7)} assume true; {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,746 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {5705#(<= ~SIZE~0 7)} {5897#(and (<= 5 main_~i~0) (<= ~SIZE~0 7))} #60#return; {5897#(and (<= 5 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,747 INFO L273 TraceCheckUtils]: 67: Hoare triple {5897#(and (<= 5 main_~i~0) (<= ~SIZE~0 7))} havoc #t~mem4; {5897#(and (<= 5 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,748 INFO L273 TraceCheckUtils]: 68: Hoare triple {5897#(and (<= 5 main_~i~0) (<= ~SIZE~0 7))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5922#(and (<= 6 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,748 INFO L273 TraceCheckUtils]: 69: Hoare triple {5922#(and (<= 6 main_~i~0) (<= ~SIZE~0 7))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5922#(and (<= 6 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,749 INFO L256 TraceCheckUtils]: 70: Hoare triple {5922#(and (<= 6 main_~i~0) (<= ~SIZE~0 7))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,750 INFO L273 TraceCheckUtils]: 71: Hoare triple {5705#(<= ~SIZE~0 7)} ~cond := #in~cond; {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,750 INFO L273 TraceCheckUtils]: 72: Hoare triple {5705#(<= ~SIZE~0 7)} assume !(0 == ~cond); {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,751 INFO L273 TraceCheckUtils]: 73: Hoare triple {5705#(<= ~SIZE~0 7)} assume true; {5705#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:24:15,752 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {5705#(<= ~SIZE~0 7)} {5922#(and (<= 6 main_~i~0) (<= ~SIZE~0 7))} #60#return; {5922#(and (<= 6 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,752 INFO L273 TraceCheckUtils]: 75: Hoare triple {5922#(and (<= 6 main_~i~0) (<= ~SIZE~0 7))} havoc #t~mem4; {5922#(and (<= 6 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,753 INFO L273 TraceCheckUtils]: 76: Hoare triple {5922#(and (<= 6 main_~i~0) (<= ~SIZE~0 7))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5947#(and (<= 7 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:24:15,754 INFO L273 TraceCheckUtils]: 77: Hoare triple {5947#(and (<= 7 main_~i~0) (<= ~SIZE~0 7))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5697#false} is VALID [2018-11-23 12:24:15,754 INFO L256 TraceCheckUtils]: 78: Hoare triple {5697#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5697#false} is VALID [2018-11-23 12:24:15,754 INFO L273 TraceCheckUtils]: 79: Hoare triple {5697#false} ~cond := #in~cond; {5697#false} is VALID [2018-11-23 12:24:15,755 INFO L273 TraceCheckUtils]: 80: Hoare triple {5697#false} assume 0 == ~cond; {5697#false} is VALID [2018-11-23 12:24:15,755 INFO L273 TraceCheckUtils]: 81: Hoare triple {5697#false} assume !false; {5697#false} is VALID [2018-11-23 12:24:15,762 INFO L134 CoverageAnalysis]: Checked inductivity of 232 backedges. 112 proven. 36 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2018-11-23 12:24:15,781 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:24:15,781 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 18] total 21 [2018-11-23 12:24:15,782 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 82 [2018-11-23 12:24:15,782 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:24:15,782 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-23 12:24:15,896 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:24:15,896 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-23 12:24:15,896 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-23 12:24:15,897 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=159, Invalid=261, Unknown=0, NotChecked=0, Total=420 [2018-11-23 12:24:15,897 INFO L87 Difference]: Start difference. First operand 85 states and 86 transitions. Second operand 21 states. [2018-11-23 12:24:19,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:19,720 INFO L93 Difference]: Finished difference Result 156 states and 158 transitions. [2018-11-23 12:24:19,720 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-23 12:24:19,720 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 82 [2018-11-23 12:24:19,720 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:24:19,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:24:19,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 86 transitions. [2018-11-23 12:24:19,723 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:24:19,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 86 transitions. [2018-11-23 12:24:19,725 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 86 transitions. [2018-11-23 12:24:20,123 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:24:20,125 INFO L225 Difference]: With dead ends: 156 [2018-11-23 12:24:20,125 INFO L226 Difference]: Without dead ends: 88 [2018-11-23 12:24:20,126 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 80 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 156 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=172, Invalid=290, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:24:20,126 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2018-11-23 12:24:21,649 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 87. [2018-11-23 12:24:21,649 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:24:21,649 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand 87 states. [2018-11-23 12:24:21,649 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand 87 states. [2018-11-23 12:24:21,649 INFO L87 Difference]: Start difference. First operand 88 states. Second operand 87 states. [2018-11-23 12:24:21,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:21,652 INFO L93 Difference]: Finished difference Result 88 states and 89 transitions. [2018-11-23 12:24:21,652 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 89 transitions. [2018-11-23 12:24:21,652 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:21,653 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:21,653 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand 88 states. [2018-11-23 12:24:21,653 INFO L87 Difference]: Start difference. First operand 87 states. Second operand 88 states. [2018-11-23 12:24:21,655 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:21,655 INFO L93 Difference]: Finished difference Result 88 states and 89 transitions. [2018-11-23 12:24:21,655 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 89 transitions. [2018-11-23 12:24:21,656 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:21,656 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:21,656 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:24:21,656 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:24:21,656 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 87 states. [2018-11-23 12:24:21,658 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 88 transitions. [2018-11-23 12:24:21,658 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 88 transitions. Word has length 82 [2018-11-23 12:24:21,658 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:24:21,658 INFO L480 AbstractCegarLoop]: Abstraction has 87 states and 88 transitions. [2018-11-23 12:24:21,658 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-23 12:24:21,659 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 88 transitions. [2018-11-23 12:24:21,659 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2018-11-23 12:24:21,660 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:24:21,660 INFO L402 BasicCegarLoop]: trace histogram [8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:24:21,660 INFO L423 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:24:21,660 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:24:21,660 INFO L82 PathProgramCache]: Analyzing trace with hash 1669598341, now seen corresponding path program 12 times [2018-11-23 12:24:21,660 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:24:21,660 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:24:21,661 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:21,661 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:24:21,661 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:21,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:22,217 WARN L180 SmtUtils]: Spent 108.00 ms on a formula simplification that was a NOOP. DAG size: 10 [2018-11-23 12:24:22,775 WARN L180 SmtUtils]: Spent 277.00 ms on a formula simplification. DAG size of input: 23 DAG size of output: 20 [2018-11-23 12:24:23,656 WARN L180 SmtUtils]: Spent 406.00 ms on a formula simplification. DAG size of input: 52 DAG size of output: 31 [2018-11-23 12:24:24,514 WARN L180 SmtUtils]: Spent 155.00 ms on a formula simplification. DAG size of input: 27 DAG size of output: 15 [2018-11-23 12:24:24,962 INFO L256 TraceCheckUtils]: 0: Hoare triple {6480#true} call ULTIMATE.init(); {6480#true} is VALID [2018-11-23 12:24:24,962 INFO L273 TraceCheckUtils]: 1: Hoare triple {6480#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {6480#true} is VALID [2018-11-23 12:24:24,962 INFO L273 TraceCheckUtils]: 2: Hoare triple {6480#true} assume true; {6480#true} is VALID [2018-11-23 12:24:24,963 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6480#true} {6480#true} #56#return; {6480#true} is VALID [2018-11-23 12:24:24,963 INFO L256 TraceCheckUtils]: 4: Hoare triple {6480#true} call #t~ret5 := main(); {6480#true} is VALID [2018-11-23 12:24:24,963 INFO L273 TraceCheckUtils]: 5: Hoare triple {6480#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {6480#true} is VALID [2018-11-23 12:24:24,964 INFO L273 TraceCheckUtils]: 6: Hoare triple {6480#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {6482#(and (<= (+ main_~i~0 2) ~SIZE~0) (<= ~SIZE~0 (+ main_~i~0 2)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,965 INFO L273 TraceCheckUtils]: 7: Hoare triple {6482#(and (<= (+ main_~i~0 2) ~SIZE~0) (<= ~SIZE~0 (+ main_~i~0 2)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6483#(and (<= (+ main_~i~0 2) ~SIZE~0) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ main_~i~0 2)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,966 INFO L273 TraceCheckUtils]: 8: Hoare triple {6483#(and (<= (+ main_~i~0 2) ~SIZE~0) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ main_~i~0 2)) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6484#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,968 INFO L273 TraceCheckUtils]: 9: Hoare triple {6484#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6484#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,969 INFO L273 TraceCheckUtils]: 10: Hoare triple {6484#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6485#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,970 INFO L273 TraceCheckUtils]: 11: Hoare triple {6485#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6485#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,972 INFO L273 TraceCheckUtils]: 12: Hoare triple {6485#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6486#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,973 INFO L273 TraceCheckUtils]: 13: Hoare triple {6486#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6486#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,974 INFO L273 TraceCheckUtils]: 14: Hoare triple {6486#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6487#(and (or (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,976 INFO L273 TraceCheckUtils]: 15: Hoare triple {6487#(and (or (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6487#(and (or (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,977 INFO L273 TraceCheckUtils]: 16: Hoare triple {6487#(and (or (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6488#(and (= |main_~#a~0.offset| 0) (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 6) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))))} is VALID [2018-11-23 12:24:24,978 INFO L273 TraceCheckUtils]: 17: Hoare triple {6488#(and (= |main_~#a~0.offset| 0) (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 6) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6488#(and (= |main_~#a~0.offset| 0) (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 6) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))))} is VALID [2018-11-23 12:24:24,980 INFO L273 TraceCheckUtils]: 18: Hoare triple {6488#(and (= |main_~#a~0.offset| 0) (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 6) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6489#(and (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= (+ main_~i~0 7) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset| 1) 0)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,981 INFO L273 TraceCheckUtils]: 19: Hoare triple {6489#(and (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= (+ main_~i~0 7) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset| 1) 0)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6490#(and (<= 0 main_~i~0) (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,983 INFO L273 TraceCheckUtils]: 20: Hoare triple {6490#(and (<= 0 main_~i~0) (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) 4))))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6491#(and (or (and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 7)) 4)))) (<= 0 (+ main_~i~0 1))) (<= 0 (+ (* 3 main_~i~0) |main_~#a~0.offset| 2))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,984 INFO L273 TraceCheckUtils]: 21: Hoare triple {6491#(and (or (and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 7)) 4)))) (<= 0 (+ main_~i~0 1))) (<= 0 (+ (* 3 main_~i~0) |main_~#a~0.offset| 2))) (= |main_~#a~0.offset| 0))} assume !(~i~0 >= 0); {6492#(and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 6) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,985 INFO L273 TraceCheckUtils]: 22: Hoare triple {6492#(and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 6) 4)))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {6493#(and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 6) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,985 INFO L273 TraceCheckUtils]: 23: Hoare triple {6493#(and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 6) 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); {6493#(and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 6) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,986 INFO L256 TraceCheckUtils]: 24: Hoare triple {6493#(and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 6) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6480#true} is VALID [2018-11-23 12:24:24,986 INFO L273 TraceCheckUtils]: 25: Hoare triple {6480#true} ~cond := #in~cond; {6494#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:24:24,987 INFO L273 TraceCheckUtils]: 26: Hoare triple {6494#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {6495#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:24:24,987 INFO L273 TraceCheckUtils]: 27: Hoare triple {6495#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6495#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:24:24,988 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {6495#(not (= |__VERIFIER_assert_#in~cond| 0))} {6493#(and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 6) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #60#return; {6493#(and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 6) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,989 INFO L273 TraceCheckUtils]: 29: Hoare triple {6493#(and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 6) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6493#(and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 6) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,990 INFO L273 TraceCheckUtils]: 30: Hoare triple {6493#(and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 6) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6496#(and (<= (+ main_~i~0 6) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,991 INFO L273 TraceCheckUtils]: 31: Hoare triple {6496#(and (<= (+ main_~i~0 6) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 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); {6496#(and (<= (+ main_~i~0 6) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,991 INFO L256 TraceCheckUtils]: 32: Hoare triple {6496#(and (<= (+ main_~i~0 6) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6480#true} is VALID [2018-11-23 12:24:24,991 INFO L273 TraceCheckUtils]: 33: Hoare triple {6480#true} ~cond := #in~cond; {6480#true} is VALID [2018-11-23 12:24:24,992 INFO L273 TraceCheckUtils]: 34: Hoare triple {6480#true} assume !(0 == ~cond); {6480#true} is VALID [2018-11-23 12:24:24,992 INFO L273 TraceCheckUtils]: 35: Hoare triple {6480#true} assume true; {6480#true} is VALID [2018-11-23 12:24:24,993 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {6480#true} {6496#(and (<= (+ main_~i~0 6) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (= |main_~#a~0.offset| 0))} #60#return; {6496#(and (<= (+ main_~i~0 6) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,993 INFO L273 TraceCheckUtils]: 37: Hoare triple {6496#(and (<= (+ main_~i~0 6) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6496#(and (<= (+ main_~i~0 6) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:24,995 INFO L273 TraceCheckUtils]: 38: Hoare triple {6496#(and (<= (+ main_~i~0 6) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6497#(and (= |main_~#a~0.offset| 0) (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))))} is VALID [2018-11-23 12:24:24,995 INFO L273 TraceCheckUtils]: 39: Hoare triple {6497#(and (= |main_~#a~0.offset| 0) (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6497#(and (= |main_~#a~0.offset| 0) (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))))} is VALID [2018-11-23 12:24:24,996 INFO L256 TraceCheckUtils]: 40: Hoare triple {6497#(and (= |main_~#a~0.offset| 0) (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6480#true} is VALID [2018-11-23 12:24:24,996 INFO L273 TraceCheckUtils]: 41: Hoare triple {6480#true} ~cond := #in~cond; {6480#true} is VALID [2018-11-23 12:24:24,996 INFO L273 TraceCheckUtils]: 42: Hoare triple {6480#true} assume !(0 == ~cond); {6480#true} is VALID [2018-11-23 12:24:24,996 INFO L273 TraceCheckUtils]: 43: Hoare triple {6480#true} assume true; {6480#true} is VALID [2018-11-23 12:24:24,997 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {6480#true} {6497#(and (= |main_~#a~0.offset| 0) (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))))} #60#return; {6497#(and (= |main_~#a~0.offset| 0) (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))))} is VALID [2018-11-23 12:24:24,998 INFO L273 TraceCheckUtils]: 45: Hoare triple {6497#(and (= |main_~#a~0.offset| 0) (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))))} havoc #t~mem4; {6497#(and (= |main_~#a~0.offset| 0) (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))))} is VALID [2018-11-23 12:24:24,999 INFO L273 TraceCheckUtils]: 46: Hoare triple {6497#(and (= |main_~#a~0.offset| 0) (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6486#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:25,000 INFO L273 TraceCheckUtils]: 47: Hoare triple {6486#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 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); {6486#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:25,001 INFO L256 TraceCheckUtils]: 48: Hoare triple {6486#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6480#true} is VALID [2018-11-23 12:24:25,001 INFO L273 TraceCheckUtils]: 49: Hoare triple {6480#true} ~cond := #in~cond; {6480#true} is VALID [2018-11-23 12:24:25,001 INFO L273 TraceCheckUtils]: 50: Hoare triple {6480#true} assume !(0 == ~cond); {6480#true} is VALID [2018-11-23 12:24:25,001 INFO L273 TraceCheckUtils]: 51: Hoare triple {6480#true} assume true; {6480#true} is VALID [2018-11-23 12:24:25,003 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {6480#true} {6486#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} #60#return; {6486#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:25,003 INFO L273 TraceCheckUtils]: 53: Hoare triple {6486#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6486#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:25,004 INFO L273 TraceCheckUtils]: 54: Hoare triple {6486#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6485#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:25,005 INFO L273 TraceCheckUtils]: 55: Hoare triple {6485#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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); {6485#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:25,005 INFO L256 TraceCheckUtils]: 56: Hoare triple {6485#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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)); {6480#true} is VALID [2018-11-23 12:24:25,005 INFO L273 TraceCheckUtils]: 57: Hoare triple {6480#true} ~cond := #in~cond; {6480#true} is VALID [2018-11-23 12:24:25,005 INFO L273 TraceCheckUtils]: 58: Hoare triple {6480#true} assume !(0 == ~cond); {6480#true} is VALID [2018-11-23 12:24:25,005 INFO L273 TraceCheckUtils]: 59: Hoare triple {6480#true} assume true; {6480#true} is VALID [2018-11-23 12:24:25,006 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {6480#true} {6485#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} #60#return; {6485#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:25,006 INFO L273 TraceCheckUtils]: 61: Hoare triple {6485#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6485#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:25,007 INFO L273 TraceCheckUtils]: 62: Hoare triple {6485#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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; {6484#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:25,008 INFO L273 TraceCheckUtils]: 63: Hoare triple {6484#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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); {6484#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:25,008 INFO L256 TraceCheckUtils]: 64: Hoare triple {6484#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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)); {6480#true} is VALID [2018-11-23 12:24:25,009 INFO L273 TraceCheckUtils]: 65: Hoare triple {6480#true} ~cond := #in~cond; {6480#true} is VALID [2018-11-23 12:24:25,009 INFO L273 TraceCheckUtils]: 66: Hoare triple {6480#true} assume !(0 == ~cond); {6480#true} is VALID [2018-11-23 12:24:25,009 INFO L273 TraceCheckUtils]: 67: Hoare triple {6480#true} assume true; {6480#true} is VALID [2018-11-23 12:24:25,010 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {6480#true} {6484#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} #60#return; {6484#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:25,011 INFO L273 TraceCheckUtils]: 69: Hoare triple {6484#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6484#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:25,012 INFO L273 TraceCheckUtils]: 70: Hoare triple {6484#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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; {6498#(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:25,012 INFO L273 TraceCheckUtils]: 71: Hoare triple {6498#(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); {6498#(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:25,012 INFO L256 TraceCheckUtils]: 72: Hoare triple {6498#(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)); {6480#true} is VALID [2018-11-23 12:24:25,012 INFO L273 TraceCheckUtils]: 73: Hoare triple {6480#true} ~cond := #in~cond; {6480#true} is VALID [2018-11-23 12:24:25,013 INFO L273 TraceCheckUtils]: 74: Hoare triple {6480#true} assume !(0 == ~cond); {6480#true} is VALID [2018-11-23 12:24:25,013 INFO L273 TraceCheckUtils]: 75: Hoare triple {6480#true} assume true; {6480#true} is VALID [2018-11-23 12:24:25,013 INFO L268 TraceCheckUtils]: 76: Hoare quadruple {6480#true} {6498#(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))} #60#return; {6498#(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:25,014 INFO L273 TraceCheckUtils]: 77: Hoare triple {6498#(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; {6498#(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:25,014 INFO L273 TraceCheckUtils]: 78: Hoare triple {6498#(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; {6499#(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:25,015 INFO L273 TraceCheckUtils]: 79: Hoare triple {6499#(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); {6500#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:24:25,016 INFO L256 TraceCheckUtils]: 80: Hoare triple {6500#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6495#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:24:25,017 INFO L273 TraceCheckUtils]: 81: Hoare triple {6495#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {6501#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:24:25,017 INFO L273 TraceCheckUtils]: 82: Hoare triple {6501#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {6481#false} is VALID [2018-11-23 12:24:25,017 INFO L273 TraceCheckUtils]: 83: Hoare triple {6481#false} assume !false; {6481#false} is VALID [2018-11-23 12:24:25,041 INFO L134 CoverageAnalysis]: Checked inductivity of 245 backedges. 13 proven. 166 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2018-11-23 12:24:25,042 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:24:25,042 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:24:25,051 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:24:25,155 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2018-11-23 12:24:25,155 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:24:25,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:25,176 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:24:25,235 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 25 treesize of output 22 [2018-11-23 12:24:25,241 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 25 [2018-11-23 12:24:25,248 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,249 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,250 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 25 treesize of output 53 [2018-11-23 12:24:25,253 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:25,261 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:25,268 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:25,278 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:25,279 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:34, output treesize:34 [2018-11-23 12:24:25,394 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 54 treesize of output 47 [2018-11-23 12:24:25,404 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,405 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,406 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,407 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,409 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,410 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,411 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 129 [2018-11-23 12:24:25,425 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 89 treesize of output 114 [2018-11-23 12:24:25,430 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:25,449 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:25,457 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:25,470 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:25,470 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:62, output treesize:48 [2018-11-23 12:24:25,652 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 65 treesize of output 56 [2018-11-23 12:24:25,662 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,664 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,669 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,674 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,676 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,679 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,713 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 1 new quantified variables, introduced 6 case distinctions, treesize of input 56 treesize of output 118 [2018-11-23 12:24:25,726 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,727 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,733 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,734 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,740 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,741 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,747 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,749 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:25,787 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 8 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 9 case distinctions, treesize of input 58 treesize of output 152 [2018-11-23 12:24:25,791 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:25,821 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:25,836 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:25,862 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:25,862 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:78, output treesize:78 [2018-11-23 12:24:26,112 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 93 treesize of output 80 [2018-11-23 12:24:26,134 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,136 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,140 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,146 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,153 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,156 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,167 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,169 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,173 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,181 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,190 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,192 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,244 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 12 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 12 case distinctions, treesize of input 80 treesize of output 222 [2018-11-23 12:24:26,266 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,268 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,285 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,339 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,341 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,358 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,362 INFO L303 Elim1Store]: Index analysis took 105 ms [2018-11-23 12:24:26,404 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 12 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 15 case distinctions, treesize of input 122 treesize of output 213 [2018-11-23 12:24:26,409 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:26,450 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:26,467 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,497 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:26,497 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:106, output treesize:92 [2018-11-23 12:24:26,807 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 107 treesize of output 92 [2018-11-23 12:24:26,830 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,832 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,837 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,838 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,846 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,847 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,854 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,859 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,862 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,876 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,878 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,883 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,885 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,892 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,895 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,902 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,909 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,911 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:26,971 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 1 new quantified variables, introduced 15 case distinctions, treesize of input 92 treesize of output 322 [2018-11-23 12:24:27,003 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,005 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,027 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,046 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,047 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,075 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,133 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 18 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 18 case distinctions, treesize of input 181 treesize of output 318 [2018-11-23 12:24:27,139 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:27,201 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:27,222 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,257 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:27,257 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:120, output treesize:106 [2018-11-23 12:24:27,581 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 121 treesize of output 104 [2018-11-23 12:24:27,614 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,616 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,621 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,623 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,625 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,632 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,634 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,635 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,641 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,643 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,652 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,658 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,661 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,678 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,680 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,686 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,688 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,691 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,699 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,703 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,705 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,712 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,715 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,726 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,734 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,737 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,743 INFO L303 Elim1Store]: Index analysis took 147 ms [2018-11-23 12:24:27,809 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 26 disjoint index pairs (out of 21 index pairs), introduced 1 new quantified variables, introduced 18 case distinctions, treesize of input 104 treesize of output 454 [2018-11-23 12:24:27,879 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,881 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,903 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,931 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,933 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,965 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:27,971 INFO L303 Elim1Store]: Index analysis took 130 ms [2018-11-23 12:24:28,031 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 8 select indices, 8 select index equivalence classes, 26 disjoint index pairs (out of 28 index pairs), introduced 0 new quantified variables, introduced 21 case distinctions, treesize of input 258 treesize of output 459 [2018-11-23 12:24:28,064 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:28,156 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:28,181 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:28,217 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:28,218 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:134, output treesize:120 [2018-11-23 12:24:28,653 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 135 treesize of output 116 [2018-11-23 12:24:28,686 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,688 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,690 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,692 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,698 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,709 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,711 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,715 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,717 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,718 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,723 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,725 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,728 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,783 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,784 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,789 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,794 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,798 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,806 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,808 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,810 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,812 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,818 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,828 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,830 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,834 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,836 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,838 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,846 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,848 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,850 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,855 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,862 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,868 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,874 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,876 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:28,880 INFO L303 Elim1Store]: Index analysis took 200 ms [2018-11-23 12:24:28,954 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 8 select indices, 8 select index equivalence classes, 36 disjoint index pairs (out of 28 index pairs), introduced 1 new quantified variables, introduced 21 case distinctions, treesize of input 116 treesize of output 618 [2018-11-23 12:24:29,009 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:29,011 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:29,036 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:29,057 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:29,058 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:29,087 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:29,161 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 9 select indices, 9 select index equivalence classes, 36 disjoint index pairs (out of 36 index pairs), introduced 0 new quantified variables, introduced 24 case distinctions, treesize of input 353 treesize of output 636 [2018-11-23 12:24:29,169 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:29,304 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:29,332 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:29,380 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:29,380 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:151, output treesize:137 [2018-11-23 12:24:44,520 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 119 treesize of output 99 [2018-11-23 12:24:44,549 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,551 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,552 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,554 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,555 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,557 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,558 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,560 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,561 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:24:44,562 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,564 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,565 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,567 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,568 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,570 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,572 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,573 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,575 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,576 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,577 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,579 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,580 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,581 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:24:44,582 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,584 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,585 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,587 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,588 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,590 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,591 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,592 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,593 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,595 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,596 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,598 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,600 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,601 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,603 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,605 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,606 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,608 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,609 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,611 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,613 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,614 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,616 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,617 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,619 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,620 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,622 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,624 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,625 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,627 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,628 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,630 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,631 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,633 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,635 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,636 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,638 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,639 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:44,654 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 10 select indices, 10 select index equivalence classes, 56 disjoint index pairs (out of 45 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 99 treesize of output 583 [2018-11-23 12:24:44,665 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:44,817 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:44,838 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:44,839 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:138, output treesize:10 [2018-11-23 12:24:44,844 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:24:44,844 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, v_main_~i~0_105, v_main_~i~0_100]. (let ((.cse2 (* 4 v_main_~i~0_100)) (.cse3 (+ v_main_~i~0_100 2)) (.cse4 (+ v_main_~i~0_105 5)) (.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 v_main_~i~0_105))) (and (= (select .cse0 (+ .cse1 12)) (+ v_main_~i~0_105 3)) (= (+ v_main_~i~0_100 1) (select .cse0 (+ .cse2 4))) (= (select .cse0 (+ .cse1 16)) (+ v_main_~i~0_105 4)) (= (select .cse0 .cse2) v_main_~i~0_100) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (<= main_~i~0 .cse3) (<= (select .cse0 (* 4 main_~i~0)) |main_#t~mem4|) (= (select .cse0 (+ .cse1 4)) (+ v_main_~i~0_105 1)) (= (select .cse0 (+ .cse2 8)) .cse3) (= (select .cse0 (+ .cse1 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 .cse4) (= (select .cse0 .cse1) v_main_~i~0_105) (= .cse4 (select .cse0 (+ .cse1 20))) (= main_~i~0 7))) [2018-11-23 12:24:44,844 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= main_~i~0 |main_#t~mem4|) (<= main_~i~0 7) (= main_~i~0 7)) [2018-11-23 12:24:45,079 INFO L256 TraceCheckUtils]: 0: Hoare triple {6480#true} call ULTIMATE.init(); {6480#true} is VALID [2018-11-23 12:24:45,080 INFO L273 TraceCheckUtils]: 1: Hoare triple {6480#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {6480#true} is VALID [2018-11-23 12:24:45,080 INFO L273 TraceCheckUtils]: 2: Hoare triple {6480#true} assume true; {6480#true} is VALID [2018-11-23 12:24:45,080 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6480#true} {6480#true} #56#return; {6480#true} is VALID [2018-11-23 12:24:45,080 INFO L256 TraceCheckUtils]: 4: Hoare triple {6480#true} call #t~ret5 := main(); {6480#true} is VALID [2018-11-23 12:24:45,080 INFO L273 TraceCheckUtils]: 5: Hoare triple {6480#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {6480#true} is VALID [2018-11-23 12:24:45,081 INFO L273 TraceCheckUtils]: 6: Hoare triple {6480#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {6523#(and (<= ~SIZE~0 (+ main_~i~0 2)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,082 INFO L273 TraceCheckUtils]: 7: Hoare triple {6523#(and (<= ~SIZE~0 (+ main_~i~0 2)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6527#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ 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:24:45,084 INFO L273 TraceCheckUtils]: 8: Hoare triple {6527#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ 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 := #t~post2 - 1;havoc #t~post2; {6531#(and (<= ~SIZE~0 (+ main_~i~0 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,085 INFO L273 TraceCheckUtils]: 9: Hoare triple {6531#(and (<= ~SIZE~0 (+ main_~i~0 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6535#(and (<= ~SIZE~0 (+ main_~i~0 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,087 INFO L273 TraceCheckUtils]: 10: Hoare triple {6535#(and (<= ~SIZE~0 (+ main_~i~0 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6539#(and (exists ((v_main_~i~0_100 Int)) (and (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (<= v_main_~i~0_100 (+ main_~i~0 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,093 INFO L273 TraceCheckUtils]: 11: Hoare triple {6539#(and (exists ((v_main_~i~0_100 Int)) (and (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (<= v_main_~i~0_100 (+ main_~i~0 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6543#(and (exists ((v_main_~i~0_100 Int)) (and (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (<= v_main_~i~0_100 (+ main_~i~0 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,095 INFO L273 TraceCheckUtils]: 12: Hoare triple {6543#(and (exists ((v_main_~i~0_100 Int)) (and (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (<= v_main_~i~0_100 (+ main_~i~0 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6547#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (exists ((v_main_~i~0_100 Int)) (and (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= v_main_~i~0_100 (+ main_~i~0 2)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,102 INFO L273 TraceCheckUtils]: 13: Hoare triple {6547#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (exists ((v_main_~i~0_100 Int)) (and (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= v_main_~i~0_100 (+ main_~i~0 2)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6551#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (exists ((v_main_~i~0_100 Int)) (and (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= v_main_~i~0_100 (+ main_~i~0 2)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 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:24:45,104 INFO L273 TraceCheckUtils]: 14: Hoare triple {6551#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (exists ((v_main_~i~0_100 Int)) (and (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= v_main_~i~0_100 (+ main_~i~0 2)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 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 := #t~post2 - 1;havoc #t~post2; {6555#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (exists ((v_main_~i~0_100 Int)) (and (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)) (<= v_main_~i~0_100 (+ main_~i~0 3)))) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,111 INFO L273 TraceCheckUtils]: 15: Hoare triple {6555#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (exists ((v_main_~i~0_100 Int)) (and (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)) (<= v_main_~i~0_100 (+ main_~i~0 3)))) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6559#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (exists ((v_main_~i~0_100 Int)) (and (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)) (<= v_main_~i~0_100 (+ main_~i~0 3)))) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,114 INFO L273 TraceCheckUtils]: 16: Hoare triple {6559#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (exists ((v_main_~i~0_100 Int)) (and (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)) (<= v_main_~i~0_100 (+ main_~i~0 3)))) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6563#(and (exists ((v_main_~i~0_100 Int)) (and (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (<= v_main_~i~0_100 (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,120 INFO L273 TraceCheckUtils]: 17: Hoare triple {6563#(and (exists ((v_main_~i~0_100 Int)) (and (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (<= v_main_~i~0_100 (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6567#(and (exists ((v_main_~i~0_100 Int)) (and (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (<= v_main_~i~0_100 (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~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:45,123 INFO L273 TraceCheckUtils]: 18: Hoare triple {6567#(and (exists ((v_main_~i~0_100 Int)) (and (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (<= v_main_~i~0_100 (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6571#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (exists ((v_main_~i~0_100 Int)) (and (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= v_main_~i~0_100 (+ main_~i~0 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,130 INFO L273 TraceCheckUtils]: 19: Hoare triple {6571#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (exists ((v_main_~i~0_100 Int)) (and (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= v_main_~i~0_100 (+ main_~i~0 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {6575#(and (<= 0 main_~i~0) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (exists ((v_main_~i~0_100 Int)) (and (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= v_main_~i~0_100 (+ main_~i~0 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,132 INFO L273 TraceCheckUtils]: 20: Hoare triple {6575#(and (<= 0 main_~i~0) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (exists ((v_main_~i~0_100 Int)) (and (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= v_main_~i~0_100 (+ main_~i~0 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6579#(and (= |main_~#a~0.offset| 0) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_105 (+ main_~i~0 1)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))))} is VALID [2018-11-23 12:24:45,135 INFO L273 TraceCheckUtils]: 21: Hoare triple {6579#(and (= |main_~#a~0.offset| 0) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_105 (+ main_~i~0 1)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))))} assume !(~i~0 >= 0); {6583#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,137 INFO L273 TraceCheckUtils]: 22: Hoare triple {6583#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {6587#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,139 INFO L273 TraceCheckUtils]: 23: Hoare triple {6587#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6587#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,143 INFO L256 TraceCheckUtils]: 24: Hoare triple {6587#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,143 INFO L273 TraceCheckUtils]: 25: Hoare triple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} ~cond := #in~cond; {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,162 INFO L273 TraceCheckUtils]: 26: Hoare triple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} assume !(0 == ~cond); {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,163 INFO L273 TraceCheckUtils]: 27: Hoare triple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} assume true; {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,164 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} {6587#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #60#return; {6587#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,165 INFO L273 TraceCheckUtils]: 29: Hoare triple {6587#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6587#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,166 INFO L273 TraceCheckUtils]: 30: Hoare triple {6587#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6613#(and (= main_~i~0 1) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,168 INFO L273 TraceCheckUtils]: 31: Hoare triple {6613#(and (= main_~i~0 1) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6617#(and (= main_~i~0 1) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (<= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) |main_#t~mem4|) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,173 INFO L256 TraceCheckUtils]: 32: Hoare triple {6617#(and (= main_~i~0 1) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (<= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) |main_#t~mem4|) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,174 INFO L273 TraceCheckUtils]: 33: Hoare triple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} ~cond := #in~cond; {6624#(and (exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:24:45,175 INFO L273 TraceCheckUtils]: 34: Hoare triple {6624#(and (exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {6628#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2)))))} is VALID [2018-11-23 12:24:45,176 INFO L273 TraceCheckUtils]: 35: Hoare triple {6628#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2)))))} assume true; {6628#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2)))))} is VALID [2018-11-23 12:24:45,177 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {6628#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2)))))} {6617#(and (= main_~i~0 1) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (<= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) |main_#t~mem4|) (= |main_~#a~0.offset| 0))} #60#return; {6613#(and (= main_~i~0 1) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,178 INFO L273 TraceCheckUtils]: 37: Hoare triple {6613#(and (= main_~i~0 1) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6613#(and (= main_~i~0 1) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,181 INFO L273 TraceCheckUtils]: 38: Hoare triple {6613#(and (= main_~i~0 1) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6641#(and (= main_~i~0 2) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,183 INFO L273 TraceCheckUtils]: 39: Hoare triple {6641#(and (= main_~i~0 2) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6641#(and (= main_~i~0 2) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,187 INFO L256 TraceCheckUtils]: 40: Hoare triple {6641#(and (= main_~i~0 2) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,188 INFO L273 TraceCheckUtils]: 41: Hoare triple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} ~cond := #in~cond; {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,188 INFO L273 TraceCheckUtils]: 42: Hoare triple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} assume !(0 == ~cond); {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,189 INFO L273 TraceCheckUtils]: 43: Hoare triple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} assume true; {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,190 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} {6641#(and (= main_~i~0 2) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} #60#return; {6641#(and (= main_~i~0 2) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,192 INFO L273 TraceCheckUtils]: 45: Hoare triple {6641#(and (= main_~i~0 2) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6641#(and (= main_~i~0 2) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,194 INFO L273 TraceCheckUtils]: 46: Hoare triple {6641#(and (= main_~i~0 2) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6666#(and (= main_~i~0 3) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,195 INFO L273 TraceCheckUtils]: 47: Hoare triple {6666#(and (= main_~i~0 3) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6666#(and (= main_~i~0 3) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,200 INFO L256 TraceCheckUtils]: 48: Hoare triple {6666#(and (= main_~i~0 3) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,200 INFO L273 TraceCheckUtils]: 49: Hoare triple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} ~cond := #in~cond; {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,201 INFO L273 TraceCheckUtils]: 50: Hoare triple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} assume !(0 == ~cond); {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,202 INFO L273 TraceCheckUtils]: 51: Hoare triple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} assume true; {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,203 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} {6666#(and (= main_~i~0 3) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} #60#return; {6666#(and (= main_~i~0 3) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,204 INFO L273 TraceCheckUtils]: 53: Hoare triple {6666#(and (= main_~i~0 3) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6666#(and (= main_~i~0 3) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,205 INFO L273 TraceCheckUtils]: 54: Hoare triple {6666#(and (= main_~i~0 3) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6691#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,207 INFO L273 TraceCheckUtils]: 55: Hoare triple {6691#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6691#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,211 INFO L256 TraceCheckUtils]: 56: Hoare triple {6691#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,212 INFO L273 TraceCheckUtils]: 57: Hoare triple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} ~cond := #in~cond; {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,212 INFO L273 TraceCheckUtils]: 58: Hoare triple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} assume !(0 == ~cond); {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,213 INFO L273 TraceCheckUtils]: 59: Hoare triple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} assume true; {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,213 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} {6691#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} #60#return; {6691#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,214 INFO L273 TraceCheckUtils]: 61: Hoare triple {6691#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6691#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,215 INFO L273 TraceCheckUtils]: 62: Hoare triple {6691#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6716#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,217 INFO L273 TraceCheckUtils]: 63: Hoare triple {6716#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6716#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,221 INFO L256 TraceCheckUtils]: 64: Hoare triple {6716#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,222 INFO L273 TraceCheckUtils]: 65: Hoare triple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} ~cond := #in~cond; {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,222 INFO L273 TraceCheckUtils]: 66: Hoare triple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} assume !(0 == ~cond); {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,223 INFO L273 TraceCheckUtils]: 67: Hoare triple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} assume true; {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,223 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} {6716#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} #60#return; {6716#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,224 INFO L273 TraceCheckUtils]: 69: Hoare triple {6716#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6716#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,226 INFO L273 TraceCheckUtils]: 70: Hoare triple {6716#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6741#(and (= main_~i~0 6) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,227 INFO L273 TraceCheckUtils]: 71: Hoare triple {6741#(and (= main_~i~0 6) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6741#(and (= main_~i~0 6) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,231 INFO L256 TraceCheckUtils]: 72: Hoare triple {6741#(and (= main_~i~0 6) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,232 INFO L273 TraceCheckUtils]: 73: Hoare triple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} ~cond := #in~cond; {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,233 INFO L273 TraceCheckUtils]: 74: Hoare triple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} assume !(0 == ~cond); {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,233 INFO L273 TraceCheckUtils]: 75: Hoare triple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} assume true; {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} is VALID [2018-11-23 12:24:45,234 INFO L268 TraceCheckUtils]: 76: Hoare quadruple {6594#(exists ((v_main_~i~0_100 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int) (v_main_~i~0_105 Int)) (and (= (+ v_main_~i~0_105 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 8))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 16)) (+ v_main_~i~0_105 4)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_105)) v_main_~i~0_105) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_105) 20)) (+ v_main_~i~0_105 5)) (= v_main_~i~0_100 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_100))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_100) 8)) (+ v_main_~i~0_100 2))))} {6741#(and (= main_~i~0 6) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} #60#return; {6741#(and (= main_~i~0 6) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,235 INFO L273 TraceCheckUtils]: 77: Hoare triple {6741#(and (= main_~i~0 6) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6741#(and (= main_~i~0 6) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,236 INFO L273 TraceCheckUtils]: 78: Hoare triple {6741#(and (= main_~i~0 6) (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6766#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:45,239 INFO L273 TraceCheckUtils]: 79: Hoare triple {6766#(and (exists ((v_main_~i~0_100 Int) (v_main_~i~0_105 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 20)) (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 12)) (+ v_main_~i~0_105 3)) (<= v_main_~i~0_105 0) (<= 0 v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 8)) (+ v_main_~i~0_105 2)) (<= v_main_~i~0_100 (+ v_main_~i~0_105 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 4)) (+ v_main_~i~0_105 1)) (= (+ v_main_~i~0_100 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 4))) (<= ~SIZE~0 (+ v_main_~i~0_100 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset| 16)) (+ v_main_~i~0_105 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_105) |main_~#a~0.offset|)) v_main_~i~0_105) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset|)) v_main_~i~0_100) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_100) |main_~#a~0.offset| 8)) (+ v_main_~i~0_100 2)))) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6770#(and (<= main_~i~0 |main_#t~mem4|) (= main_~i~0 7))} is VALID [2018-11-23 12:24:45,240 INFO L256 TraceCheckUtils]: 80: Hoare triple {6770#(and (<= main_~i~0 |main_#t~mem4|) (= main_~i~0 7))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6774#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:24:45,241 INFO L273 TraceCheckUtils]: 81: Hoare triple {6774#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {6778#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:24:45,241 INFO L273 TraceCheckUtils]: 82: Hoare triple {6778#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6481#false} is VALID [2018-11-23 12:24:45,241 INFO L273 TraceCheckUtils]: 83: Hoare triple {6481#false} assume !false; {6481#false} is VALID [2018-11-23 12:24:45,348 INFO L134 CoverageAnalysis]: Checked inductivity of 245 backedges. 3 proven. 176 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2018-11-23 12:24:45,367 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:24:45,368 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 33] total 53 [2018-11-23 12:24:45,368 INFO L78 Accepts]: Start accepts. Automaton has 53 states. Word has length 84 [2018-11-23 12:24:45,369 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:24:45,369 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 53 states. [2018-11-23 12:24:45,687 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:45,687 INFO L459 AbstractCegarLoop]: Interpolant automaton has 53 states [2018-11-23 12:24:45,688 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 53 interpolants. [2018-11-23 12:24:45,689 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=296, Invalid=2460, Unknown=0, NotChecked=0, Total=2756 [2018-11-23 12:24:45,689 INFO L87 Difference]: Start difference. First operand 87 states and 88 transitions. Second operand 53 states. [2018-11-23 12:24:50,013 WARN L180 SmtUtils]: Spent 105.00 ms on a formula simplification that was a NOOP. DAG size: 110 [2018-11-23 12:24:51,609 WARN L180 SmtUtils]: Spent 121.00 ms on a formula simplification. DAG size of input: 127 DAG size of output: 125 [2018-11-23 12:24:53,056 WARN L180 SmtUtils]: Spent 125.00 ms on a formula simplification. DAG size of input: 125 DAG size of output: 113 [2018-11-23 12:25:06,438 WARN L180 SmtUtils]: Spent 109.00 ms on a formula simplification. DAG size of input: 77 DAG size of output: 73 [2018-11-23 12:25:09,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:25:09,402 INFO L93 Difference]: Finished difference Result 171 states and 175 transitions. [2018-11-23 12:25:09,403 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 66 states. [2018-11-23 12:25:09,403 INFO L78 Accepts]: Start accepts. Automaton has 53 states. Word has length 84 [2018-11-23 12:25:09,403 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:25:09,403 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 53 states. [2018-11-23 12:25:09,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 133 transitions. [2018-11-23 12:25:09,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 53 states. [2018-11-23 12:25:09,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 133 transitions. [2018-11-23 12:25:09,410 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 66 states and 133 transitions. [2018-11-23 12:25:10,418 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 133 edges. 133 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:25:10,421 INFO L225 Difference]: With dead ends: 171 [2018-11-23 12:25:10,421 INFO L226 Difference]: Without dead ends: 100 [2018-11-23 12:25:10,425 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 177 GetRequests, 44 SyntacticMatches, 22 SemanticMatches, 111 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4508 ImplicationChecksByTransitivity, 14.4s TimeCoverageRelationStatistics Valid=1274, Invalid=11382, Unknown=0, NotChecked=0, Total=12656 [2018-11-23 12:25:10,425 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2018-11-23 12:25:11,699 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 97. [2018-11-23 12:25:11,699 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:25:11,699 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand 97 states. [2018-11-23 12:25:11,699 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 97 states. [2018-11-23 12:25:11,699 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 97 states. [2018-11-23 12:25:11,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:25:11,702 INFO L93 Difference]: Finished difference Result 100 states and 101 transitions. [2018-11-23 12:25:11,703 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 101 transitions. [2018-11-23 12:25:11,703 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:25:11,703 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:25:11,703 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand 100 states. [2018-11-23 12:25:11,703 INFO L87 Difference]: Start difference. First operand 97 states. Second operand 100 states. [2018-11-23 12:25:11,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:25:11,706 INFO L93 Difference]: Finished difference Result 100 states and 101 transitions. [2018-11-23 12:25:11,706 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 101 transitions. [2018-11-23 12:25:11,706 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:25:11,707 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:25:11,707 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:25:11,707 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:25:11,707 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 97 states. [2018-11-23 12:25:11,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 98 transitions. [2018-11-23 12:25:11,709 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 98 transitions. Word has length 84 [2018-11-23 12:25:11,710 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:25:11,710 INFO L480 AbstractCegarLoop]: Abstraction has 97 states and 98 transitions. [2018-11-23 12:25:11,710 INFO L481 AbstractCegarLoop]: Interpolant automaton has 53 states. [2018-11-23 12:25:11,710 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 98 transitions. [2018-11-23 12:25:11,711 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2018-11-23 12:25:11,711 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:25:11,711 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:25:11,712 INFO L423 AbstractCegarLoop]: === Iteration 16 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:25:11,712 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:25:11,712 INFO L82 PathProgramCache]: Analyzing trace with hash -1723837002, now seen corresponding path program 13 times [2018-11-23 12:25:11,712 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:25:11,712 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:25:11,713 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:25:11,713 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:25:11,713 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:25:11,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:25:12,276 WARN L180 SmtUtils]: Spent 101.00 ms on a formula simplification. DAG size of input: 18 DAG size of output: 15 [2018-11-23 12:25:13,532 INFO L256 TraceCheckUtils]: 0: Hoare triple {7479#true} call ULTIMATE.init(); {7479#true} is VALID [2018-11-23 12:25:13,532 INFO L273 TraceCheckUtils]: 1: Hoare triple {7479#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {7479#true} is VALID [2018-11-23 12:25:13,533 INFO L273 TraceCheckUtils]: 2: Hoare triple {7479#true} assume true; {7479#true} is VALID [2018-11-23 12:25:13,533 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7479#true} {7479#true} #56#return; {7479#true} is VALID [2018-11-23 12:25:13,533 INFO L256 TraceCheckUtils]: 4: Hoare triple {7479#true} call #t~ret5 := main(); {7479#true} is VALID [2018-11-23 12:25:13,533 INFO L273 TraceCheckUtils]: 5: Hoare triple {7479#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {7479#true} is VALID [2018-11-23 12:25:13,544 INFO L273 TraceCheckUtils]: 6: Hoare triple {7479#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {7481#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:25:13,545 INFO L273 TraceCheckUtils]: 7: Hoare triple {7481#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7482#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,546 INFO L273 TraceCheckUtils]: 8: Hoare triple {7482#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7483#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,547 INFO L273 TraceCheckUtils]: 9: Hoare triple {7483#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7483#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,548 INFO L273 TraceCheckUtils]: 10: Hoare triple {7483#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7484#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,550 INFO L273 TraceCheckUtils]: 11: Hoare triple {7484#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7484#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,551 INFO L273 TraceCheckUtils]: 12: Hoare triple {7484#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7485#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,552 INFO L273 TraceCheckUtils]: 13: Hoare triple {7485#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7485#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,553 INFO L273 TraceCheckUtils]: 14: Hoare triple {7485#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7486#(and (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,555 INFO L273 TraceCheckUtils]: 15: Hoare triple {7486#(and (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7486#(and (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,556 INFO L273 TraceCheckUtils]: 16: Hoare triple {7486#(and (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7487#(and (or (<= (+ main_~i~0 6) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,558 INFO L273 TraceCheckUtils]: 17: Hoare triple {7487#(and (or (<= (+ main_~i~0 6) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7487#(and (or (<= (+ main_~i~0 6) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,559 INFO L273 TraceCheckUtils]: 18: Hoare triple {7487#(and (or (<= (+ main_~i~0 6) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7488#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= (+ main_~i~0 7) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,561 INFO L273 TraceCheckUtils]: 19: Hoare triple {7488#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= (+ main_~i~0 7) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) 4))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7488#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= (+ main_~i~0 7) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,563 INFO L273 TraceCheckUtils]: 20: Hoare triple {7488#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= (+ main_~i~0 7) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) 4))))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7489#(and (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= (+ main_~i~0 8) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 7)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset| 1) 0)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,564 INFO L273 TraceCheckUtils]: 21: Hoare triple {7489#(and (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= (+ main_~i~0 8) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 7)) 4)))) (<= (+ (* 3 main_~i~0) |main_~#a~0.offset| 1) 0)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7490#(and (<= 0 main_~i~0) (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 7) 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,565 INFO L273 TraceCheckUtils]: 22: Hoare triple {7490#(and (<= 0 main_~i~0) (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 7) 4))))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7491#(and (<= 0 (+ main_~i~0 1)) (= |main_~#a~0.offset| 0) (or (<= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 7) 4)))) (<= 0 (+ (* 3 main_~i~0) |main_~#a~0.offset| 2))))} is VALID [2018-11-23 12:25:13,566 INFO L273 TraceCheckUtils]: 23: Hoare triple {7491#(and (<= 0 (+ main_~i~0 1)) (= |main_~#a~0.offset| 0) (or (<= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 7) 4)))) (<= 0 (+ (* 3 main_~i~0) |main_~#a~0.offset| 2))))} assume !(~i~0 >= 0); {7492#(and (<= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 7) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,567 INFO L273 TraceCheckUtils]: 24: Hoare triple {7492#(and (<= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 7) 4)))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {7493#(and (<= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 7) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,568 INFO L273 TraceCheckUtils]: 25: Hoare triple {7493#(and (<= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 7) 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); {7493#(and (<= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 7) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,568 INFO L256 TraceCheckUtils]: 26: Hoare triple {7493#(and (<= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 7) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7479#true} is VALID [2018-11-23 12:25:13,568 INFO L273 TraceCheckUtils]: 27: Hoare triple {7479#true} ~cond := #in~cond; {7494#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:25:13,569 INFO L273 TraceCheckUtils]: 28: Hoare triple {7494#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {7495#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:25:13,570 INFO L273 TraceCheckUtils]: 29: Hoare triple {7495#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7495#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:25:13,571 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {7495#(not (= |__VERIFIER_assert_#in~cond| 0))} {7493#(and (<= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 7) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #60#return; {7493#(and (<= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 7) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,571 INFO L273 TraceCheckUtils]: 31: Hoare triple {7493#(and (<= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 7) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7493#(and (<= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 7) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,573 INFO L273 TraceCheckUtils]: 32: Hoare triple {7493#(and (<= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 7) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7496#(and (<= (+ main_~i~0 7) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,573 INFO L273 TraceCheckUtils]: 33: Hoare triple {7496#(and (<= (+ main_~i~0 7) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) 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); {7496#(and (<= (+ main_~i~0 7) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,574 INFO L256 TraceCheckUtils]: 34: Hoare triple {7496#(and (<= (+ main_~i~0 7) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) 4)))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7479#true} is VALID [2018-11-23 12:25:13,574 INFO L273 TraceCheckUtils]: 35: Hoare triple {7479#true} ~cond := #in~cond; {7479#true} is VALID [2018-11-23 12:25:13,574 INFO L273 TraceCheckUtils]: 36: Hoare triple {7479#true} assume !(0 == ~cond); {7479#true} is VALID [2018-11-23 12:25:13,574 INFO L273 TraceCheckUtils]: 37: Hoare triple {7479#true} assume true; {7479#true} is VALID [2018-11-23 12:25:13,575 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {7479#true} {7496#(and (<= (+ main_~i~0 7) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) 4)))) (= |main_~#a~0.offset| 0))} #60#return; {7496#(and (<= (+ main_~i~0 7) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,576 INFO L273 TraceCheckUtils]: 39: Hoare triple {7496#(and (<= (+ main_~i~0 7) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7496#(and (<= (+ main_~i~0 7) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,577 INFO L273 TraceCheckUtils]: 40: Hoare triple {7496#(and (<= (+ main_~i~0 7) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) 4)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7497#(and (<= (+ main_~i~0 6) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,578 INFO L273 TraceCheckUtils]: 41: Hoare triple {7497#(and (<= (+ main_~i~0 6) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 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); {7497#(and (<= (+ main_~i~0 6) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,578 INFO L256 TraceCheckUtils]: 42: Hoare triple {7497#(and (<= (+ main_~i~0 6) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7479#true} is VALID [2018-11-23 12:25:13,579 INFO L273 TraceCheckUtils]: 43: Hoare triple {7479#true} ~cond := #in~cond; {7479#true} is VALID [2018-11-23 12:25:13,579 INFO L273 TraceCheckUtils]: 44: Hoare triple {7479#true} assume !(0 == ~cond); {7479#true} is VALID [2018-11-23 12:25:13,579 INFO L273 TraceCheckUtils]: 45: Hoare triple {7479#true} assume true; {7479#true} is VALID [2018-11-23 12:25:13,580 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {7479#true} {7497#(and (<= (+ main_~i~0 6) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (= |main_~#a~0.offset| 0))} #60#return; {7497#(and (<= (+ main_~i~0 6) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,581 INFO L273 TraceCheckUtils]: 47: Hoare triple {7497#(and (<= (+ main_~i~0 6) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7497#(and (<= (+ main_~i~0 6) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,582 INFO L273 TraceCheckUtils]: 48: Hoare triple {7497#(and (<= (+ main_~i~0 6) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) 4)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7486#(and (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,583 INFO L273 TraceCheckUtils]: 49: Hoare triple {7486#(and (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 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); {7486#(and (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,583 INFO L256 TraceCheckUtils]: 50: Hoare triple {7486#(and (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7479#true} is VALID [2018-11-23 12:25:13,583 INFO L273 TraceCheckUtils]: 51: Hoare triple {7479#true} ~cond := #in~cond; {7479#true} is VALID [2018-11-23 12:25:13,584 INFO L273 TraceCheckUtils]: 52: Hoare triple {7479#true} assume !(0 == ~cond); {7479#true} is VALID [2018-11-23 12:25:13,584 INFO L273 TraceCheckUtils]: 53: Hoare triple {7479#true} assume true; {7479#true} is VALID [2018-11-23 12:25:13,585 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {7479#true} {7486#(and (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (= |main_~#a~0.offset| 0))} #60#return; {7486#(and (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,586 INFO L273 TraceCheckUtils]: 55: Hoare triple {7486#(and (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7486#(and (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,587 INFO L273 TraceCheckUtils]: 56: Hoare triple {7486#(and (<= (+ main_~i~0 5) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) 4)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7485#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,588 INFO L273 TraceCheckUtils]: 57: Hoare triple {7485#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 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); {7485#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,588 INFO L256 TraceCheckUtils]: 58: Hoare triple {7485#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7479#true} is VALID [2018-11-23 12:25:13,588 INFO L273 TraceCheckUtils]: 59: Hoare triple {7479#true} ~cond := #in~cond; {7479#true} is VALID [2018-11-23 12:25:13,588 INFO L273 TraceCheckUtils]: 60: Hoare triple {7479#true} assume !(0 == ~cond); {7479#true} is VALID [2018-11-23 12:25:13,589 INFO L273 TraceCheckUtils]: 61: Hoare triple {7479#true} assume true; {7479#true} is VALID [2018-11-23 12:25:13,590 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {7479#true} {7485#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} #60#return; {7485#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,590 INFO L273 TraceCheckUtils]: 63: Hoare triple {7485#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7485#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,592 INFO L273 TraceCheckUtils]: 64: Hoare triple {7485#(and (<= (+ main_~i~0 4) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) 4)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7484#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,593 INFO L273 TraceCheckUtils]: 65: Hoare triple {7484#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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); {7484#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,593 INFO L256 TraceCheckUtils]: 66: Hoare triple {7484#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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)); {7479#true} is VALID [2018-11-23 12:25:13,593 INFO L273 TraceCheckUtils]: 67: Hoare triple {7479#true} ~cond := #in~cond; {7479#true} is VALID [2018-11-23 12:25:13,593 INFO L273 TraceCheckUtils]: 68: Hoare triple {7479#true} assume !(0 == ~cond); {7479#true} is VALID [2018-11-23 12:25:13,593 INFO L273 TraceCheckUtils]: 69: Hoare triple {7479#true} assume true; {7479#true} is VALID [2018-11-23 12:25:13,594 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {7479#true} {7484#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} #60#return; {7484#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,595 INFO L273 TraceCheckUtils]: 71: Hoare triple {7484#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7484#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 2)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,597 INFO L273 TraceCheckUtils]: 72: Hoare triple {7484#(and (<= (+ main_~i~0 3) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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; {7483#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,598 INFO L273 TraceCheckUtils]: 73: Hoare triple {7483#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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); {7483#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,598 INFO L256 TraceCheckUtils]: 74: Hoare triple {7483#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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)); {7479#true} is VALID [2018-11-23 12:25:13,598 INFO L273 TraceCheckUtils]: 75: Hoare triple {7479#true} ~cond := #in~cond; {7479#true} is VALID [2018-11-23 12:25:13,598 INFO L273 TraceCheckUtils]: 76: Hoare triple {7479#true} assume !(0 == ~cond); {7479#true} is VALID [2018-11-23 12:25:13,599 INFO L273 TraceCheckUtils]: 77: Hoare triple {7479#true} assume true; {7479#true} is VALID [2018-11-23 12:25:13,600 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {7479#true} {7483#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} #60#return; {7483#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,600 INFO L273 TraceCheckUtils]: 79: Hoare triple {7483#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7483#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:13,602 INFO L273 TraceCheckUtils]: 80: Hoare triple {7483#(and (<= (+ main_~i~0 2) (select (store (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4) (+ main_~i~0 1)) (+ |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; {7498#(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:25:13,603 INFO L273 TraceCheckUtils]: 81: Hoare triple {7498#(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); {7498#(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:25:13,603 INFO L256 TraceCheckUtils]: 82: Hoare triple {7498#(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)); {7479#true} is VALID [2018-11-23 12:25:13,603 INFO L273 TraceCheckUtils]: 83: Hoare triple {7479#true} ~cond := #in~cond; {7479#true} is VALID [2018-11-23 12:25:13,603 INFO L273 TraceCheckUtils]: 84: Hoare triple {7479#true} assume !(0 == ~cond); {7479#true} is VALID [2018-11-23 12:25:13,603 INFO L273 TraceCheckUtils]: 85: Hoare triple {7479#true} assume true; {7479#true} is VALID [2018-11-23 12:25:13,604 INFO L268 TraceCheckUtils]: 86: Hoare quadruple {7479#true} {7498#(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))} #60#return; {7498#(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:25:13,605 INFO L273 TraceCheckUtils]: 87: Hoare triple {7498#(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; {7498#(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:25:13,606 INFO L273 TraceCheckUtils]: 88: Hoare triple {7498#(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; {7499#(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:25:13,607 INFO L273 TraceCheckUtils]: 89: Hoare triple {7499#(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); {7500#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:25:13,608 INFO L256 TraceCheckUtils]: 90: Hoare triple {7500#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7495#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:25:13,608 INFO L273 TraceCheckUtils]: 91: Hoare triple {7495#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {7501#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:25:13,609 INFO L273 TraceCheckUtils]: 92: Hoare triple {7501#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {7480#false} is VALID [2018-11-23 12:25:13,609 INFO L273 TraceCheckUtils]: 93: Hoare triple {7480#false} assume !false; {7480#false} is VALID [2018-11-23 12:25:13,640 INFO L134 CoverageAnalysis]: Checked inductivity of 320 backedges. 23 proven. 206 refuted. 0 times theorem prover too weak. 91 trivial. 0 not checked. [2018-11-23 12:25:13,640 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:25:13,640 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:25:13,651 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:25:13,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:25:13,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:25:13,709 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:25:13,744 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 25 treesize of output 22 [2018-11-23 12:25:13,750 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 25 [2018-11-23 12:25:13,757 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,759 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,759 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 25 treesize of output 53 [2018-11-23 12:25:13,764 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:13,781 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:13,789 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:13,798 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:13,799 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:29, output treesize:29 [2018-11-23 12:25:13,925 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 54 treesize of output 47 [2018-11-23 12:25:13,937 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,938 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,940 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,941 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,943 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,945 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:13,946 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 129 [2018-11-23 12:25:13,964 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 89 treesize of output 114 [2018-11-23 12:25:13,969 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:13,989 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:14,000 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:14,012 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:14,012 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:57, output treesize:43 [2018-11-23 12:25:14,168 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 68 treesize of output 59 [2018-11-23 12:25:14,191 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,193 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,194 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,196 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,197 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,199 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,201 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,202 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,204 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,206 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,207 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,209 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,210 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 12 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 59 treesize of output 229 [2018-11-23 12:25:14,234 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 0 case distinctions, treesize of input 148 treesize of output 219 [2018-11-23 12:25:14,244 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:14,278 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:14,291 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:14,305 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:14,305 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:71, output treesize:57 [2018-11-23 12:25:14,495 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 82 treesize of output 71 [2018-11-23 12:25:14,514 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,515 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,517 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,519 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,521 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,522 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,524 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,527 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,528 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,530 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,532 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,534 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,535 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,537 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,539 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,541 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,544 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,546 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,547 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,549 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:14,551 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 20 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 71 treesize of output 361 [2018-11-23 12:25:14,586 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 0 case distinctions, treesize of input 225 treesize of output 360 [2018-11-23 12:25:14,598 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:14,681 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:14,697 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:14,723 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:14,724 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:85, output treesize:71 [2018-11-23 12:25:15,034 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 96 treesize of output 83 [2018-11-23 12:25:15,054 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,055 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,057 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,058 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,060 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,062 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,063 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,065 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,067 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,068 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,069 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,070 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,072 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,074 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,075 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,076 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,078 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,081 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,083 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,085 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,087 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,089 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,092 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,094 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,096 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,098 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,100 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,102 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,104 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,106 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,108 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 30 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 83 treesize of output 525 [2018-11-23 12:25:15,155 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 30 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 320 treesize of output 537 [2018-11-23 12:25:15,165 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:15,329 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:15,347 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:15,368 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:15,368 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:99, output treesize:85 [2018-11-23 12:25:15,588 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 110 treesize of output 95 [2018-11-23 12:25:15,603 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,604 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,605 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,607 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,610 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,612 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,613 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,615 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,616 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,618 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,619 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,621 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,624 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,625 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,627 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,628 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,631 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,632 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,634 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,635 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,636 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,638 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,641 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,643 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,645 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,647 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,648 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,650 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,652 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,654 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,656 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,658 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,660 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,662 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,664 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,666 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,668 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,670 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,672 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,674 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,676 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,679 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:15,680 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 42 disjoint index pairs (out of 15 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 95 treesize of output 721 [2018-11-23 12:25:15,840 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 42 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 433 treesize of output 750 [2018-11-23 12:25:15,845 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:15,988 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:16,008 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:16,029 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:16,030 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:113, output treesize:99 [2018-11-23 12:25:16,254 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 124 treesize of output 107 [2018-11-23 12:25:16,274 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,277 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,278 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,280 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,282 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,284 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,285 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,286 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,288 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,289 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,292 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,293 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,294 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,296 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,298 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,300 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,302 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,304 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,306 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,307 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,309 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,311 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,313 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,314 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,317 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,318 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,319 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,321 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,323 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,324 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,326 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,329 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,331 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,333 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,335 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,337 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,339 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,341 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,344 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,346 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,348 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,350 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,351 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,353 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,356 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,357 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,359 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,361 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,363 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,365 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,368 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,370 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,372 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,375 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,377 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,379 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:16,379 INFO L303 Elim1Store]: Index analysis took 110 ms [2018-11-23 12:25:16,380 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 56 disjoint index pairs (out of 21 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 107 treesize of output 949 [2018-11-23 12:25:16,435 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 8 select indices, 8 select index equivalence classes, 56 disjoint index pairs (out of 28 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 564 treesize of output 999 [2018-11-23 12:25:16,462 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:16,671 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:16,695 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:16,723 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:16,724 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:127, output treesize:113 [2018-11-23 12:25:17,012 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 138 treesize of output 119 [2018-11-23 12:25:17,029 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,030 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,032 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,033 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,034 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,036 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,037 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,038 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,039 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,041 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,042 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,043 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,045 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,046 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,047 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,048 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,050 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,051 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,052 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,054 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,055 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,056 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,057 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,059 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,060 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,061 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,062 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,064 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,065 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,066 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,068 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,069 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,070 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,072 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,073 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,074 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,076 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,078 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,079 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,081 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,082 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,084 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,086 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,087 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,089 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,090 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,092 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,094 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,095 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,097 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,099 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,100 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,102 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,104 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,105 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,107 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,108 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,110 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,112 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,114 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,115 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,117 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,118 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,120 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,122 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,123 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,125 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,127 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,128 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,130 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,131 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,133 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:17,133 INFO L303 Elim1Store]: Index analysis took 108 ms [2018-11-23 12:25:17,135 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 8 select indices, 8 select index equivalence classes, 72 disjoint index pairs (out of 28 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 119 treesize of output 1209 [2018-11-23 12:25:17,247 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 9 select indices, 9 select index equivalence classes, 72 disjoint index pairs (out of 36 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 713 treesize of output 1284 [2018-11-23 12:25:17,256 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:17,575 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:17,600 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:17,631 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:17,632 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:144, output treesize:130 [2018-11-23 12:25:30,626 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 123 treesize of output 103 [2018-11-23 12:25:30,656 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,657 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,659 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,660 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,661 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,662 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,663 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,664 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,665 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,667 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,668 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,669 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,670 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,671 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,672 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,673 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,675 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,676 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,677 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,678 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,679 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,680 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,681 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,682 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,684 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,685 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,686 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,687 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,688 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,689 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,690 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,691 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,692 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,694 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,695 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,696 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,697 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,698 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,699 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,700 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,702 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,703 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,704 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,705 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:25:30,706 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,708 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,709 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,711 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,712 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,713 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,715 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,716 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,718 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,719 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,720 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,722 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,723 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,725 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,726 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,728 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,729 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,730 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,732 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,733 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,735 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,736 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,738 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,739 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,741 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,742 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,743 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,745 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,746 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,748 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,749 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,750 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,752 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,753 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,755 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,756 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:30,756 INFO L303 Elim1Store]: Index analysis took 103 ms [2018-11-23 12:25:30,760 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 10 select indices, 10 select index equivalence classes, 72 disjoint index pairs (out of 45 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 103 treesize of output 771 [2018-11-23 12:25:30,768 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:30,993 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:31,005 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:31,005 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:132, output treesize:7 [2018-11-23 12:25:31,011 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:25:31,012 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, v_main_~i~0_120]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 v_main_~i~0_120))) (and (= (+ v_main_~i~0_120 2) (select .cse0 (+ .cse1 8))) (= main_~i~0 8) (= (+ v_main_~i~0_120 4) (select .cse0 (+ .cse1 16))) (<= 0 v_main_~i~0_120) (<= (select .cse0 (* 4 main_~i~0)) |main_#t~mem4|) (= (+ v_main_~i~0_120 5) (select .cse0 (+ .cse1 20))) (= (select .cse0 (+ .cse1 24)) (+ v_main_~i~0_120 6)) (= (+ v_main_~i~0_120 3) (select .cse0 (+ .cse1 12))) (<= v_main_~i~0_120 0) (= (select .cse0 (+ .cse1 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 7) (select .cse0 (+ .cse1 28))) (= (select .cse0 .cse1) v_main_~i~0_120) (= (select .cse0 (+ .cse1 32)) (+ v_main_~i~0_120 8)))) [2018-11-23 12:25:31,012 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 8) (<= 8 |main_#t~mem4|)) [2018-11-23 12:25:31,156 INFO L256 TraceCheckUtils]: 0: Hoare triple {7479#true} call ULTIMATE.init(); {7479#true} is VALID [2018-11-23 12:25:31,156 INFO L273 TraceCheckUtils]: 1: Hoare triple {7479#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {7479#true} is VALID [2018-11-23 12:25:31,156 INFO L273 TraceCheckUtils]: 2: Hoare triple {7479#true} assume true; {7479#true} is VALID [2018-11-23 12:25:31,156 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7479#true} {7479#true} #56#return; {7479#true} is VALID [2018-11-23 12:25:31,157 INFO L256 TraceCheckUtils]: 4: Hoare triple {7479#true} call #t~ret5 := main(); {7479#true} is VALID [2018-11-23 12:25:31,157 INFO L273 TraceCheckUtils]: 5: Hoare triple {7479#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {7479#true} is VALID [2018-11-23 12:25:31,157 INFO L273 TraceCheckUtils]: 6: Hoare triple {7479#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {7481#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:25:31,158 INFO L273 TraceCheckUtils]: 7: Hoare triple {7481#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7526#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,160 INFO L273 TraceCheckUtils]: 8: Hoare triple {7526#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7530#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,161 INFO L273 TraceCheckUtils]: 9: Hoare triple {7530#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7534#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,162 INFO L273 TraceCheckUtils]: 10: Hoare triple {7534#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7538#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,164 INFO L273 TraceCheckUtils]: 11: Hoare triple {7538#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7542#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,167 INFO L273 TraceCheckUtils]: 12: Hoare triple {7542#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7546#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,169 INFO L273 TraceCheckUtils]: 13: Hoare triple {7546#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7550#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,173 INFO L273 TraceCheckUtils]: 14: Hoare triple {7550#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7554#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,175 INFO L273 TraceCheckUtils]: 15: Hoare triple {7554#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7558#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,178 INFO L273 TraceCheckUtils]: 16: Hoare triple {7558#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7562#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,180 INFO L273 TraceCheckUtils]: 17: Hoare triple {7562#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7566#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,184 INFO L273 TraceCheckUtils]: 18: Hoare triple {7566#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7570#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 28)) (+ main_~i~0 7)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,188 INFO L273 TraceCheckUtils]: 19: Hoare triple {7570#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 28)) (+ main_~i~0 7)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7574#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 28)) (+ main_~i~0 7)) (= 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:31,193 INFO L273 TraceCheckUtils]: 20: Hoare triple {7574#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 28)) (+ main_~i~0 7)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7578#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 28)) (+ main_~i~0 7)) (= (+ main_~i~0 8) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 32))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,195 INFO L273 TraceCheckUtils]: 21: Hoare triple {7578#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 28)) (+ main_~i~0 7)) (= (+ main_~i~0 8) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 32))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {7582#(and (<= 0 main_~i~0) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 28)) (+ main_~i~0 7)) (= (+ main_~i~0 8) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 32))) (= 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:31,198 INFO L273 TraceCheckUtils]: 22: Hoare triple {7582#(and (<= 0 main_~i~0) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 28)) (+ main_~i~0 7)) (= (+ main_~i~0 8) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 32))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7586#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (<= v_main_~i~0_120 (+ main_~i~0 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,202 INFO L273 TraceCheckUtils]: 23: Hoare triple {7586#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (<= v_main_~i~0_120 (+ main_~i~0 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} assume !(~i~0 >= 0); {7590#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,203 INFO L273 TraceCheckUtils]: 24: Hoare triple {7590#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {7594#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,205 INFO L273 TraceCheckUtils]: 25: Hoare triple {7594#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= 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); {7594#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,209 INFO L256 TraceCheckUtils]: 26: Hoare triple {7594#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,210 INFO L273 TraceCheckUtils]: 27: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} ~cond := #in~cond; {7605#(and (exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28))))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:25:31,211 INFO L273 TraceCheckUtils]: 28: Hoare triple {7605#(and (exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28))))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {7609#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28))))))} is VALID [2018-11-23 12:25:31,212 INFO L273 TraceCheckUtils]: 29: Hoare triple {7609#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28))))))} assume true; {7609#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28))))))} is VALID [2018-11-23 12:25:31,213 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {7609#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28))))))} {7594#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #60#return; {7594#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,214 INFO L273 TraceCheckUtils]: 31: Hoare triple {7594#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7594#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,215 INFO L273 TraceCheckUtils]: 32: Hoare triple {7594#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7622#(and (= main_~i~0 1) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,217 INFO L273 TraceCheckUtils]: 33: Hoare triple {7622#(and (= main_~i~0 1) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |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); {7622#(and (= main_~i~0 1) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,221 INFO L256 TraceCheckUtils]: 34: Hoare triple {7622#(and (= main_~i~0 1) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,221 INFO L273 TraceCheckUtils]: 35: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} ~cond := #in~cond; {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,222 INFO L273 TraceCheckUtils]: 36: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} assume !(0 == ~cond); {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,223 INFO L273 TraceCheckUtils]: 37: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} assume true; {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,223 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} {7622#(and (= main_~i~0 1) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} #60#return; {7622#(and (= main_~i~0 1) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,224 INFO L273 TraceCheckUtils]: 39: Hoare triple {7622#(and (= main_~i~0 1) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7622#(and (= main_~i~0 1) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,225 INFO L273 TraceCheckUtils]: 40: Hoare triple {7622#(and (= main_~i~0 1) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7647#(and (= main_~i~0 2) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,227 INFO L273 TraceCheckUtils]: 41: Hoare triple {7647#(and (= main_~i~0 2) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |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); {7647#(and (= main_~i~0 2) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,231 INFO L256 TraceCheckUtils]: 42: Hoare triple {7647#(and (= main_~i~0 2) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,231 INFO L273 TraceCheckUtils]: 43: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} ~cond := #in~cond; {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,232 INFO L273 TraceCheckUtils]: 44: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} assume !(0 == ~cond); {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,233 INFO L273 TraceCheckUtils]: 45: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} assume true; {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,234 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} {7647#(and (= main_~i~0 2) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} #60#return; {7647#(and (= main_~i~0 2) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,235 INFO L273 TraceCheckUtils]: 47: Hoare triple {7647#(and (= main_~i~0 2) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7647#(and (= main_~i~0 2) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,236 INFO L273 TraceCheckUtils]: 48: Hoare triple {7647#(and (= main_~i~0 2) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7672#(and (= main_~i~0 3) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,238 INFO L273 TraceCheckUtils]: 49: Hoare triple {7672#(and (= main_~i~0 3) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |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); {7672#(and (= main_~i~0 3) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,240 INFO L256 TraceCheckUtils]: 50: Hoare triple {7672#(and (= main_~i~0 3) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,240 INFO L273 TraceCheckUtils]: 51: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} ~cond := #in~cond; {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,241 INFO L273 TraceCheckUtils]: 52: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} assume !(0 == ~cond); {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,241 INFO L273 TraceCheckUtils]: 53: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} assume true; {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,242 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} {7672#(and (= main_~i~0 3) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} #60#return; {7672#(and (= main_~i~0 3) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,244 INFO L273 TraceCheckUtils]: 55: Hoare triple {7672#(and (= main_~i~0 3) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7672#(and (= main_~i~0 3) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,246 INFO L273 TraceCheckUtils]: 56: Hoare triple {7672#(and (= main_~i~0 3) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7697#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,247 INFO L273 TraceCheckUtils]: 57: Hoare triple {7697#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= 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); {7697#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,251 INFO L256 TraceCheckUtils]: 58: Hoare triple {7697#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,252 INFO L273 TraceCheckUtils]: 59: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} ~cond := #in~cond; {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,252 INFO L273 TraceCheckUtils]: 60: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} assume !(0 == ~cond); {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,253 INFO L273 TraceCheckUtils]: 61: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} assume true; {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,253 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} {7697#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} #60#return; {7697#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,254 INFO L273 TraceCheckUtils]: 63: Hoare triple {7697#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7697#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,256 INFO L273 TraceCheckUtils]: 64: Hoare triple {7697#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7722#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,257 INFO L273 TraceCheckUtils]: 65: Hoare triple {7722#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= 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); {7722#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,261 INFO L256 TraceCheckUtils]: 66: Hoare triple {7722#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,261 INFO L273 TraceCheckUtils]: 67: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} ~cond := #in~cond; {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,262 INFO L273 TraceCheckUtils]: 68: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} assume !(0 == ~cond); {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,262 INFO L273 TraceCheckUtils]: 69: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} assume true; {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,263 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} {7722#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} #60#return; {7722#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,264 INFO L273 TraceCheckUtils]: 71: Hoare triple {7722#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7722#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,265 INFO L273 TraceCheckUtils]: 72: Hoare triple {7722#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7747#(and (= main_~i~0 6) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,266 INFO L273 TraceCheckUtils]: 73: Hoare triple {7747#(and (= main_~i~0 6) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |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); {7747#(and (= main_~i~0 6) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,270 INFO L256 TraceCheckUtils]: 74: Hoare triple {7747#(and (= main_~i~0 6) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,270 INFO L273 TraceCheckUtils]: 75: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} ~cond := #in~cond; {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,271 INFO L273 TraceCheckUtils]: 76: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} assume !(0 == ~cond); {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,272 INFO L273 TraceCheckUtils]: 77: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} assume true; {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,272 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} {7747#(and (= main_~i~0 6) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} #60#return; {7747#(and (= main_~i~0 6) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,274 INFO L273 TraceCheckUtils]: 79: Hoare triple {7747#(and (= main_~i~0 6) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7747#(and (= main_~i~0 6) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,275 INFO L273 TraceCheckUtils]: 80: Hoare triple {7747#(and (= main_~i~0 6) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7772#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,277 INFO L273 TraceCheckUtils]: 81: Hoare triple {7772#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7772#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,280 INFO L256 TraceCheckUtils]: 82: Hoare triple {7772#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,281 INFO L273 TraceCheckUtils]: 83: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} ~cond := #in~cond; {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,281 INFO L273 TraceCheckUtils]: 84: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} assume !(0 == ~cond); {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,282 INFO L273 TraceCheckUtils]: 85: Hoare triple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} assume true; {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} is VALID [2018-11-23 12:25:31,283 INFO L268 TraceCheckUtils]: 86: Hoare quadruple {7601#(exists ((v_main_~i~0_120 Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (and (<= v_main_~i~0_120 0) (= (+ v_main_~i~0_120 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 24))) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 12))) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 16))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 4)) (+ v_main_~i~0_120 1)) (<= 0 v_main_~i~0_120) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 32)) (+ v_main_~i~0_120 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (* 4 v_main_~i~0_120)) v_main_~i~0_120) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 20))) (= (+ v_main_~i~0_120 7) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ (* 4 v_main_~i~0_120) 28)))))} {7772#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} #60#return; {7772#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,284 INFO L273 TraceCheckUtils]: 87: Hoare triple {7772#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7772#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,286 INFO L273 TraceCheckUtils]: 88: Hoare triple {7772#(and (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7797#(and (= main_~i~0 8) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:31,289 INFO L273 TraceCheckUtils]: 89: Hoare triple {7797#(and (= main_~i~0 8) (exists ((v_main_~i~0_120 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 28)) (+ v_main_~i~0_120 7)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 8)) (+ v_main_~i~0_120 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 32)) (+ v_main_~i~0_120 8)) (= (+ v_main_~i~0_120 4) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 16))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 24)) (+ v_main_~i~0_120 6)) (<= v_main_~i~0_120 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset|)) v_main_~i~0_120) (= (+ v_main_~i~0_120 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 12))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 4)) (+ v_main_~i~0_120 1)) (= (+ v_main_~i~0_120 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_120) |main_~#a~0.offset| 20))) (<= 0 v_main_~i~0_120))) (= |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); {7801#(and (= main_~i~0 8) (<= 8 |main_#t~mem4|))} is VALID [2018-11-23 12:25:31,290 INFO L256 TraceCheckUtils]: 90: Hoare triple {7801#(and (= main_~i~0 8) (<= 8 |main_#t~mem4|))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7805#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:25:31,290 INFO L273 TraceCheckUtils]: 91: Hoare triple {7805#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {7809#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:25:31,291 INFO L273 TraceCheckUtils]: 92: Hoare triple {7809#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7480#false} is VALID [2018-11-23 12:25:31,291 INFO L273 TraceCheckUtils]: 93: Hoare triple {7480#false} assume !false; {7480#false} is VALID [2018-11-23 12:25:31,419 INFO L134 CoverageAnalysis]: Checked inductivity of 320 backedges. 57 proven. 172 refuted. 0 times theorem prover too weak. 91 trivial. 0 not checked. [2018-11-23 12:25:31,438 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:25:31,439 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 35] total 55 [2018-11-23 12:25:31,439 INFO L78 Accepts]: Start accepts. Automaton has 55 states. Word has length 94 [2018-11-23 12:25:31,440 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:25:31,440 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 55 states. [2018-11-23 12:25:31,795 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 144 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:25:31,795 INFO L459 AbstractCegarLoop]: Interpolant automaton has 55 states [2018-11-23 12:25:31,796 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 55 interpolants. [2018-11-23 12:25:31,797 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=561, Invalid=2409, Unknown=0, NotChecked=0, Total=2970 [2018-11-23 12:25:31,797 INFO L87 Difference]: Start difference. First operand 97 states and 98 transitions. Second operand 55 states. [2018-11-23 12:25:42,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:25:42,462 INFO L93 Difference]: Finished difference Result 109 states and 110 transitions. [2018-11-23 12:25:42,462 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 45 states. [2018-11-23 12:25:42,462 INFO L78 Accepts]: Start accepts. Automaton has 55 states. Word has length 94 [2018-11-23 12:25:42,462 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:25:42,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 55 states. [2018-11-23 12:25:42,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 86 transitions. [2018-11-23 12:25:42,465 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 55 states. [2018-11-23 12:25:42,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 86 transitions. [2018-11-23 12:25:42,467 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 45 states and 86 transitions. [2018-11-23 12:25:43,083 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:25:43,085 INFO L225 Difference]: With dead ends: 109 [2018-11-23 12:25:43,085 INFO L226 Difference]: Without dead ends: 107 [2018-11-23 12:25:43,087 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 152 GetRequests, 50 SyntacticMatches, 26 SemanticMatches, 76 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2000 ImplicationChecksByTransitivity, 8.5s TimeCoverageRelationStatistics Valid=1159, Invalid=4847, Unknown=0, NotChecked=0, Total=6006 [2018-11-23 12:25:43,087 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2018-11-23 12:25:44,734 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 105. [2018-11-23 12:25:44,734 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:25:44,734 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand 105 states. [2018-11-23 12:25:44,735 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand 105 states. [2018-11-23 12:25:44,735 INFO L87 Difference]: Start difference. First operand 107 states. Second operand 105 states. [2018-11-23 12:25:44,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:25:44,738 INFO L93 Difference]: Finished difference Result 107 states and 108 transitions. [2018-11-23 12:25:44,738 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 108 transitions. [2018-11-23 12:25:44,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:25:44,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:25:44,738 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 107 states. [2018-11-23 12:25:44,739 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 107 states. [2018-11-23 12:25:44,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:25:44,741 INFO L93 Difference]: Finished difference Result 107 states and 108 transitions. [2018-11-23 12:25:44,741 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 108 transitions. [2018-11-23 12:25:44,742 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:25:44,742 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:25:44,742 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:25:44,742 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:25:44,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 105 states. [2018-11-23 12:25:44,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 106 transitions. [2018-11-23 12:25:44,745 INFO L78 Accepts]: Start accepts. Automaton has 105 states and 106 transitions. Word has length 94 [2018-11-23 12:25:44,745 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:25:44,745 INFO L480 AbstractCegarLoop]: Abstraction has 105 states and 106 transitions. [2018-11-23 12:25:44,745 INFO L481 AbstractCegarLoop]: Interpolant automaton has 55 states. [2018-11-23 12:25:44,745 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 106 transitions. [2018-11-23 12:25:44,746 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2018-11-23 12:25:44,746 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:25:44,747 INFO L402 BasicCegarLoop]: trace histogram [10, 10, 10, 9, 9, 9, 9, 9, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:25:44,747 INFO L423 AbstractCegarLoop]: === Iteration 17 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:25:44,747 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:25:44,747 INFO L82 PathProgramCache]: Analyzing trace with hash 1457295337, now seen corresponding path program 14 times [2018-11-23 12:25:44,747 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:25:44,747 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:25:44,748 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:25:44,748 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:25:44,748 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:25:44,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:25:45,561 INFO L256 TraceCheckUtils]: 0: Hoare triple {8376#true} call ULTIMATE.init(); {8376#true} is VALID [2018-11-23 12:25:45,561 INFO L273 TraceCheckUtils]: 1: Hoare triple {8376#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {8376#true} is VALID [2018-11-23 12:25:45,561 INFO L273 TraceCheckUtils]: 2: Hoare triple {8376#true} assume true; {8376#true} is VALID [2018-11-23 12:25:45,561 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8376#true} {8376#true} #56#return; {8376#true} is VALID [2018-11-23 12:25:45,561 INFO L256 TraceCheckUtils]: 4: Hoare triple {8376#true} call #t~ret5 := main(); {8376#true} is VALID [2018-11-23 12:25:45,562 INFO L273 TraceCheckUtils]: 5: Hoare triple {8376#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {8376#true} is VALID [2018-11-23 12:25:45,562 INFO L273 TraceCheckUtils]: 6: Hoare triple {8376#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {8378#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:25:45,563 INFO L273 TraceCheckUtils]: 7: Hoare triple {8378#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {8378#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:25:45,563 INFO L273 TraceCheckUtils]: 8: Hoare triple {8378#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8379#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:25:45,565 INFO L273 TraceCheckUtils]: 9: Hoare triple {8379#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {8379#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:25:45,565 INFO L273 TraceCheckUtils]: 10: Hoare triple {8379#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8380#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:25:45,567 INFO L273 TraceCheckUtils]: 11: Hoare triple {8380#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {8380#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:25:45,567 INFO L273 TraceCheckUtils]: 12: Hoare triple {8380#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8381#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:25:45,570 INFO L273 TraceCheckUtils]: 13: Hoare triple {8381#(<= ~SIZE~0 (+ main_~i~0 5))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {8381#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:25:45,570 INFO L273 TraceCheckUtils]: 14: Hoare triple {8381#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8382#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:25:45,573 INFO L273 TraceCheckUtils]: 15: Hoare triple {8382#(<= ~SIZE~0 (+ main_~i~0 6))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {8382#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:25:45,573 INFO L273 TraceCheckUtils]: 16: Hoare triple {8382#(<= ~SIZE~0 (+ main_~i~0 6))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8383#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:25:45,575 INFO L273 TraceCheckUtils]: 17: Hoare triple {8383#(<= ~SIZE~0 (+ main_~i~0 7))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {8383#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:25:45,578 INFO L273 TraceCheckUtils]: 18: Hoare triple {8383#(<= ~SIZE~0 (+ main_~i~0 7))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8384#(<= ~SIZE~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:25:45,578 INFO L273 TraceCheckUtils]: 19: Hoare triple {8384#(<= ~SIZE~0 (+ main_~i~0 8))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {8384#(<= ~SIZE~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:25:45,580 INFO L273 TraceCheckUtils]: 20: Hoare triple {8384#(<= ~SIZE~0 (+ main_~i~0 8))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8385#(<= ~SIZE~0 (+ main_~i~0 9))} is VALID [2018-11-23 12:25:45,580 INFO L273 TraceCheckUtils]: 21: Hoare triple {8385#(<= ~SIZE~0 (+ main_~i~0 9))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {8385#(<= ~SIZE~0 (+ main_~i~0 9))} is VALID [2018-11-23 12:25:45,582 INFO L273 TraceCheckUtils]: 22: Hoare triple {8385#(<= ~SIZE~0 (+ main_~i~0 9))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8386#(<= ~SIZE~0 (+ main_~i~0 10))} is VALID [2018-11-23 12:25:45,582 INFO L273 TraceCheckUtils]: 23: Hoare triple {8386#(<= ~SIZE~0 (+ main_~i~0 10))} assume !(~i~0 >= 0); {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:45,584 INFO L273 TraceCheckUtils]: 24: Hoare triple {8387#(<= ~SIZE~0 9)} ~i~0 := 0; {8388#(and (<= ~SIZE~0 9) (= main_~i~0 0))} is VALID [2018-11-23 12:25:45,584 INFO L273 TraceCheckUtils]: 25: Hoare triple {8388#(and (<= ~SIZE~0 9) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8388#(and (<= ~SIZE~0 9) (= main_~i~0 0))} is VALID [2018-11-23 12:25:45,584 INFO L256 TraceCheckUtils]: 26: Hoare triple {8388#(and (<= ~SIZE~0 9) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8376#true} is VALID [2018-11-23 12:25:45,584 INFO L273 TraceCheckUtils]: 27: Hoare triple {8376#true} ~cond := #in~cond; {8376#true} is VALID [2018-11-23 12:25:45,584 INFO L273 TraceCheckUtils]: 28: Hoare triple {8376#true} assume !(0 == ~cond); {8376#true} is VALID [2018-11-23 12:25:45,585 INFO L273 TraceCheckUtils]: 29: Hoare triple {8376#true} assume true; {8376#true} is VALID [2018-11-23 12:25:45,586 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {8376#true} {8388#(and (<= ~SIZE~0 9) (= main_~i~0 0))} #60#return; {8388#(and (<= ~SIZE~0 9) (= main_~i~0 0))} is VALID [2018-11-23 12:25:45,586 INFO L273 TraceCheckUtils]: 31: Hoare triple {8388#(and (<= ~SIZE~0 9) (= main_~i~0 0))} havoc #t~mem4; {8388#(and (<= ~SIZE~0 9) (= main_~i~0 0))} is VALID [2018-11-23 12:25:45,589 INFO L273 TraceCheckUtils]: 32: Hoare triple {8388#(and (<= ~SIZE~0 9) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8384#(<= ~SIZE~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:25:45,589 INFO L273 TraceCheckUtils]: 33: Hoare triple {8384#(<= ~SIZE~0 (+ main_~i~0 8))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8384#(<= ~SIZE~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:25:45,589 INFO L256 TraceCheckUtils]: 34: Hoare triple {8384#(<= ~SIZE~0 (+ main_~i~0 8))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8376#true} is VALID [2018-11-23 12:25:45,590 INFO L273 TraceCheckUtils]: 35: Hoare triple {8376#true} ~cond := #in~cond; {8376#true} is VALID [2018-11-23 12:25:45,590 INFO L273 TraceCheckUtils]: 36: Hoare triple {8376#true} assume !(0 == ~cond); {8376#true} is VALID [2018-11-23 12:25:45,590 INFO L273 TraceCheckUtils]: 37: Hoare triple {8376#true} assume true; {8376#true} is VALID [2018-11-23 12:25:45,592 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {8376#true} {8384#(<= ~SIZE~0 (+ main_~i~0 8))} #60#return; {8384#(<= ~SIZE~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:25:45,592 INFO L273 TraceCheckUtils]: 39: Hoare triple {8384#(<= ~SIZE~0 (+ main_~i~0 8))} havoc #t~mem4; {8384#(<= ~SIZE~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:25:45,594 INFO L273 TraceCheckUtils]: 40: Hoare triple {8384#(<= ~SIZE~0 (+ main_~i~0 8))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8383#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:25:45,594 INFO L273 TraceCheckUtils]: 41: Hoare triple {8383#(<= ~SIZE~0 (+ main_~i~0 7))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8383#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:25:45,595 INFO L256 TraceCheckUtils]: 42: Hoare triple {8383#(<= ~SIZE~0 (+ main_~i~0 7))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8376#true} is VALID [2018-11-23 12:25:45,595 INFO L273 TraceCheckUtils]: 43: Hoare triple {8376#true} ~cond := #in~cond; {8376#true} is VALID [2018-11-23 12:25:45,595 INFO L273 TraceCheckUtils]: 44: Hoare triple {8376#true} assume !(0 == ~cond); {8376#true} is VALID [2018-11-23 12:25:45,595 INFO L273 TraceCheckUtils]: 45: Hoare triple {8376#true} assume true; {8376#true} is VALID [2018-11-23 12:25:45,597 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {8376#true} {8383#(<= ~SIZE~0 (+ main_~i~0 7))} #60#return; {8383#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:25:45,597 INFO L273 TraceCheckUtils]: 47: Hoare triple {8383#(<= ~SIZE~0 (+ main_~i~0 7))} havoc #t~mem4; {8383#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:25:45,599 INFO L273 TraceCheckUtils]: 48: Hoare triple {8383#(<= ~SIZE~0 (+ main_~i~0 7))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8382#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:25:45,599 INFO L273 TraceCheckUtils]: 49: Hoare triple {8382#(<= ~SIZE~0 (+ main_~i~0 6))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8382#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:25:45,599 INFO L256 TraceCheckUtils]: 50: Hoare triple {8382#(<= ~SIZE~0 (+ main_~i~0 6))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8376#true} is VALID [2018-11-23 12:25:45,600 INFO L273 TraceCheckUtils]: 51: Hoare triple {8376#true} ~cond := #in~cond; {8376#true} is VALID [2018-11-23 12:25:45,600 INFO L273 TraceCheckUtils]: 52: Hoare triple {8376#true} assume !(0 == ~cond); {8376#true} is VALID [2018-11-23 12:25:45,600 INFO L273 TraceCheckUtils]: 53: Hoare triple {8376#true} assume true; {8376#true} is VALID [2018-11-23 12:25:45,602 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {8376#true} {8382#(<= ~SIZE~0 (+ main_~i~0 6))} #60#return; {8382#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:25:45,602 INFO L273 TraceCheckUtils]: 55: Hoare triple {8382#(<= ~SIZE~0 (+ main_~i~0 6))} havoc #t~mem4; {8382#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:25:45,604 INFO L273 TraceCheckUtils]: 56: Hoare triple {8382#(<= ~SIZE~0 (+ main_~i~0 6))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8381#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:25:45,604 INFO L273 TraceCheckUtils]: 57: Hoare triple {8381#(<= ~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); {8381#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:25:45,604 INFO L256 TraceCheckUtils]: 58: Hoare triple {8381#(<= ~SIZE~0 (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8376#true} is VALID [2018-11-23 12:25:45,605 INFO L273 TraceCheckUtils]: 59: Hoare triple {8376#true} ~cond := #in~cond; {8376#true} is VALID [2018-11-23 12:25:45,605 INFO L273 TraceCheckUtils]: 60: Hoare triple {8376#true} assume !(0 == ~cond); {8376#true} is VALID [2018-11-23 12:25:45,605 INFO L273 TraceCheckUtils]: 61: Hoare triple {8376#true} assume true; {8376#true} is VALID [2018-11-23 12:25:45,607 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {8376#true} {8381#(<= ~SIZE~0 (+ main_~i~0 5))} #60#return; {8381#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:25:45,607 INFO L273 TraceCheckUtils]: 63: Hoare triple {8381#(<= ~SIZE~0 (+ main_~i~0 5))} havoc #t~mem4; {8381#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:25:45,609 INFO L273 TraceCheckUtils]: 64: Hoare triple {8381#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8380#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:25:45,609 INFO L273 TraceCheckUtils]: 65: Hoare triple {8380#(<= ~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); {8380#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:25:45,610 INFO L256 TraceCheckUtils]: 66: Hoare triple {8380#(<= ~SIZE~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8376#true} is VALID [2018-11-23 12:25:45,610 INFO L273 TraceCheckUtils]: 67: Hoare triple {8376#true} ~cond := #in~cond; {8376#true} is VALID [2018-11-23 12:25:45,610 INFO L273 TraceCheckUtils]: 68: Hoare triple {8376#true} assume !(0 == ~cond); {8376#true} is VALID [2018-11-23 12:25:45,610 INFO L273 TraceCheckUtils]: 69: Hoare triple {8376#true} assume true; {8376#true} is VALID [2018-11-23 12:25:45,612 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {8376#true} {8380#(<= ~SIZE~0 (+ main_~i~0 4))} #60#return; {8380#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:25:45,612 INFO L273 TraceCheckUtils]: 71: Hoare triple {8380#(<= ~SIZE~0 (+ main_~i~0 4))} havoc #t~mem4; {8380#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:25:45,615 INFO L273 TraceCheckUtils]: 72: Hoare triple {8380#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8379#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:25:45,615 INFO L273 TraceCheckUtils]: 73: Hoare triple {8379#(<= ~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); {8379#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:25:45,615 INFO L256 TraceCheckUtils]: 74: Hoare triple {8379#(<= ~SIZE~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8376#true} is VALID [2018-11-23 12:25:45,615 INFO L273 TraceCheckUtils]: 75: Hoare triple {8376#true} ~cond := #in~cond; {8376#true} is VALID [2018-11-23 12:25:45,615 INFO L273 TraceCheckUtils]: 76: Hoare triple {8376#true} assume !(0 == ~cond); {8376#true} is VALID [2018-11-23 12:25:45,615 INFO L273 TraceCheckUtils]: 77: Hoare triple {8376#true} assume true; {8376#true} is VALID [2018-11-23 12:25:45,616 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {8376#true} {8379#(<= ~SIZE~0 (+ main_~i~0 3))} #60#return; {8379#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:25:45,617 INFO L273 TraceCheckUtils]: 79: Hoare triple {8379#(<= ~SIZE~0 (+ main_~i~0 3))} havoc #t~mem4; {8379#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:25:45,617 INFO L273 TraceCheckUtils]: 80: Hoare triple {8379#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8378#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:25:45,619 INFO L273 TraceCheckUtils]: 81: Hoare triple {8378#(<= ~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); {8378#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:25:45,619 INFO L256 TraceCheckUtils]: 82: Hoare triple {8378#(<= ~SIZE~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8376#true} is VALID [2018-11-23 12:25:45,619 INFO L273 TraceCheckUtils]: 83: Hoare triple {8376#true} ~cond := #in~cond; {8376#true} is VALID [2018-11-23 12:25:45,619 INFO L273 TraceCheckUtils]: 84: Hoare triple {8376#true} assume !(0 == ~cond); {8376#true} is VALID [2018-11-23 12:25:45,619 INFO L273 TraceCheckUtils]: 85: Hoare triple {8376#true} assume true; {8376#true} is VALID [2018-11-23 12:25:45,621 INFO L268 TraceCheckUtils]: 86: Hoare quadruple {8376#true} {8378#(<= ~SIZE~0 (+ main_~i~0 2))} #60#return; {8378#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:25:45,621 INFO L273 TraceCheckUtils]: 87: Hoare triple {8378#(<= ~SIZE~0 (+ main_~i~0 2))} havoc #t~mem4; {8378#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:25:45,624 INFO L273 TraceCheckUtils]: 88: Hoare triple {8378#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8389#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:25:45,624 INFO L273 TraceCheckUtils]: 89: Hoare triple {8389#(<= ~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); {8389#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:25:45,624 INFO L256 TraceCheckUtils]: 90: Hoare triple {8389#(<= ~SIZE~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8376#true} is VALID [2018-11-23 12:25:45,624 INFO L273 TraceCheckUtils]: 91: Hoare triple {8376#true} ~cond := #in~cond; {8376#true} is VALID [2018-11-23 12:25:45,624 INFO L273 TraceCheckUtils]: 92: Hoare triple {8376#true} assume !(0 == ~cond); {8376#true} is VALID [2018-11-23 12:25:45,624 INFO L273 TraceCheckUtils]: 93: Hoare triple {8376#true} assume true; {8376#true} is VALID [2018-11-23 12:25:45,626 INFO L268 TraceCheckUtils]: 94: Hoare quadruple {8376#true} {8389#(<= ~SIZE~0 (+ main_~i~0 1))} #60#return; {8389#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:25:45,626 INFO L273 TraceCheckUtils]: 95: Hoare triple {8389#(<= ~SIZE~0 (+ main_~i~0 1))} havoc #t~mem4; {8389#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:25:45,628 INFO L273 TraceCheckUtils]: 96: Hoare triple {8389#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8390#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-23 12:25:45,628 INFO L273 TraceCheckUtils]: 97: Hoare triple {8390#(<= ~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); {8377#false} is VALID [2018-11-23 12:25:45,629 INFO L256 TraceCheckUtils]: 98: Hoare triple {8377#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8377#false} is VALID [2018-11-23 12:25:45,629 INFO L273 TraceCheckUtils]: 99: Hoare triple {8377#false} ~cond := #in~cond; {8377#false} is VALID [2018-11-23 12:25:45,629 INFO L273 TraceCheckUtils]: 100: Hoare triple {8377#false} assume 0 == ~cond; {8377#false} is VALID [2018-11-23 12:25:45,629 INFO L273 TraceCheckUtils]: 101: Hoare triple {8377#false} assume !false; {8377#false} is VALID [2018-11-23 12:25:45,637 INFO L134 CoverageAnalysis]: Checked inductivity of 388 backedges. 147 proven. 97 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2018-11-23 12:25:45,637 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:25:45,637 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:25:45,645 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:25:45,676 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:25:45,677 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:25:45,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:25:45,695 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:25:46,071 INFO L256 TraceCheckUtils]: 0: Hoare triple {8376#true} call ULTIMATE.init(); {8376#true} is VALID [2018-11-23 12:25:46,072 INFO L273 TraceCheckUtils]: 1: Hoare triple {8376#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {8376#true} is VALID [2018-11-23 12:25:46,072 INFO L273 TraceCheckUtils]: 2: Hoare triple {8376#true} assume true; {8376#true} is VALID [2018-11-23 12:25:46,072 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8376#true} {8376#true} #56#return; {8376#true} is VALID [2018-11-23 12:25:46,072 INFO L256 TraceCheckUtils]: 4: Hoare triple {8376#true} call #t~ret5 := main(); {8376#true} is VALID [2018-11-23 12:25:46,073 INFO L273 TraceCheckUtils]: 5: Hoare triple {8376#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1;havoc ~i~0; {8376#true} is VALID [2018-11-23 12:25:46,073 INFO L273 TraceCheckUtils]: 6: Hoare triple {8376#true} assume ~SIZE~0 > 1;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 2; {8378#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:25:46,074 INFO L273 TraceCheckUtils]: 7: Hoare triple {8378#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {8378#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:25:46,074 INFO L273 TraceCheckUtils]: 8: Hoare triple {8378#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8379#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:25:46,075 INFO L273 TraceCheckUtils]: 9: Hoare triple {8379#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {8379#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:25:46,075 INFO L273 TraceCheckUtils]: 10: Hoare triple {8379#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8380#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:25:46,075 INFO L273 TraceCheckUtils]: 11: Hoare triple {8380#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {8380#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:25:46,076 INFO L273 TraceCheckUtils]: 12: Hoare triple {8380#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8381#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:25:46,076 INFO L273 TraceCheckUtils]: 13: Hoare triple {8381#(<= ~SIZE~0 (+ main_~i~0 5))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {8381#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:25:46,077 INFO L273 TraceCheckUtils]: 14: Hoare triple {8381#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8382#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:25:46,077 INFO L273 TraceCheckUtils]: 15: Hoare triple {8382#(<= ~SIZE~0 (+ main_~i~0 6))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {8382#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:25:46,078 INFO L273 TraceCheckUtils]: 16: Hoare triple {8382#(<= ~SIZE~0 (+ main_~i~0 6))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8383#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:25:46,079 INFO L273 TraceCheckUtils]: 17: Hoare triple {8383#(<= ~SIZE~0 (+ main_~i~0 7))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {8383#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:25:46,079 INFO L273 TraceCheckUtils]: 18: Hoare triple {8383#(<= ~SIZE~0 (+ main_~i~0 7))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8384#(<= ~SIZE~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:25:46,080 INFO L273 TraceCheckUtils]: 19: Hoare triple {8384#(<= ~SIZE~0 (+ main_~i~0 8))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {8384#(<= ~SIZE~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:25:46,081 INFO L273 TraceCheckUtils]: 20: Hoare triple {8384#(<= ~SIZE~0 (+ main_~i~0 8))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8385#(<= ~SIZE~0 (+ main_~i~0 9))} is VALID [2018-11-23 12:25:46,081 INFO L273 TraceCheckUtils]: 21: Hoare triple {8385#(<= ~SIZE~0 (+ main_~i~0 9))} assume !!(~i~0 >= 0);call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4);call write~int(1 + ~i~0, ~#a~0.base, ~#a~0.offset + 4 * (1 + ~i~0), 4); {8385#(<= ~SIZE~0 (+ main_~i~0 9))} is VALID [2018-11-23 12:25:46,082 INFO L273 TraceCheckUtils]: 22: Hoare triple {8385#(<= ~SIZE~0 (+ main_~i~0 9))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8386#(<= ~SIZE~0 (+ main_~i~0 10))} is VALID [2018-11-23 12:25:46,083 INFO L273 TraceCheckUtils]: 23: Hoare triple {8386#(<= ~SIZE~0 (+ main_~i~0 10))} assume !(~i~0 >= 0); {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,083 INFO L273 TraceCheckUtils]: 24: Hoare triple {8387#(<= ~SIZE~0 9)} ~i~0 := 0; {8466#(and (<= 0 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,084 INFO L273 TraceCheckUtils]: 25: Hoare triple {8466#(and (<= 0 main_~i~0) (<= ~SIZE~0 9))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8466#(and (<= 0 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,085 INFO L256 TraceCheckUtils]: 26: Hoare triple {8466#(and (<= 0 main_~i~0) (<= ~SIZE~0 9))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,085 INFO L273 TraceCheckUtils]: 27: Hoare triple {8387#(<= ~SIZE~0 9)} ~cond := #in~cond; {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,086 INFO L273 TraceCheckUtils]: 28: Hoare triple {8387#(<= ~SIZE~0 9)} assume !(0 == ~cond); {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,086 INFO L273 TraceCheckUtils]: 29: Hoare triple {8387#(<= ~SIZE~0 9)} assume true; {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,087 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {8387#(<= ~SIZE~0 9)} {8466#(and (<= 0 main_~i~0) (<= ~SIZE~0 9))} #60#return; {8466#(and (<= 0 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,088 INFO L273 TraceCheckUtils]: 31: Hoare triple {8466#(and (<= 0 main_~i~0) (<= ~SIZE~0 9))} havoc #t~mem4; {8466#(and (<= 0 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,088 INFO L273 TraceCheckUtils]: 32: Hoare triple {8466#(and (<= 0 main_~i~0) (<= ~SIZE~0 9))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8491#(and (<= 1 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,089 INFO L273 TraceCheckUtils]: 33: Hoare triple {8491#(and (<= 1 main_~i~0) (<= ~SIZE~0 9))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8491#(and (<= 1 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,090 INFO L256 TraceCheckUtils]: 34: Hoare triple {8491#(and (<= 1 main_~i~0) (<= ~SIZE~0 9))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,091 INFO L273 TraceCheckUtils]: 35: Hoare triple {8387#(<= ~SIZE~0 9)} ~cond := #in~cond; {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,091 INFO L273 TraceCheckUtils]: 36: Hoare triple {8387#(<= ~SIZE~0 9)} assume !(0 == ~cond); {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,092 INFO L273 TraceCheckUtils]: 37: Hoare triple {8387#(<= ~SIZE~0 9)} assume true; {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,092 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {8387#(<= ~SIZE~0 9)} {8491#(and (<= 1 main_~i~0) (<= ~SIZE~0 9))} #60#return; {8491#(and (<= 1 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,093 INFO L273 TraceCheckUtils]: 39: Hoare triple {8491#(and (<= 1 main_~i~0) (<= ~SIZE~0 9))} havoc #t~mem4; {8491#(and (<= 1 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,094 INFO L273 TraceCheckUtils]: 40: Hoare triple {8491#(and (<= 1 main_~i~0) (<= ~SIZE~0 9))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8516#(and (<= 2 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,094 INFO L273 TraceCheckUtils]: 41: Hoare triple {8516#(and (<= 2 main_~i~0) (<= ~SIZE~0 9))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8516#(and (<= 2 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,095 INFO L256 TraceCheckUtils]: 42: Hoare triple {8516#(and (<= 2 main_~i~0) (<= ~SIZE~0 9))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,096 INFO L273 TraceCheckUtils]: 43: Hoare triple {8387#(<= ~SIZE~0 9)} ~cond := #in~cond; {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,096 INFO L273 TraceCheckUtils]: 44: Hoare triple {8387#(<= ~SIZE~0 9)} assume !(0 == ~cond); {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,097 INFO L273 TraceCheckUtils]: 45: Hoare triple {8387#(<= ~SIZE~0 9)} assume true; {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,097 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {8387#(<= ~SIZE~0 9)} {8516#(and (<= 2 main_~i~0) (<= ~SIZE~0 9))} #60#return; {8516#(and (<= 2 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,098 INFO L273 TraceCheckUtils]: 47: Hoare triple {8516#(and (<= 2 main_~i~0) (<= ~SIZE~0 9))} havoc #t~mem4; {8516#(and (<= 2 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,099 INFO L273 TraceCheckUtils]: 48: Hoare triple {8516#(and (<= 2 main_~i~0) (<= ~SIZE~0 9))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8541#(and (<= ~SIZE~0 9) (<= 3 main_~i~0))} is VALID [2018-11-23 12:25:46,100 INFO L273 TraceCheckUtils]: 49: Hoare triple {8541#(and (<= ~SIZE~0 9) (<= 3 main_~i~0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8541#(and (<= ~SIZE~0 9) (<= 3 main_~i~0))} is VALID [2018-11-23 12:25:46,100 INFO L256 TraceCheckUtils]: 50: Hoare triple {8541#(and (<= ~SIZE~0 9) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,101 INFO L273 TraceCheckUtils]: 51: Hoare triple {8387#(<= ~SIZE~0 9)} ~cond := #in~cond; {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,101 INFO L273 TraceCheckUtils]: 52: Hoare triple {8387#(<= ~SIZE~0 9)} assume !(0 == ~cond); {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,102 INFO L273 TraceCheckUtils]: 53: Hoare triple {8387#(<= ~SIZE~0 9)} assume true; {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,103 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {8387#(<= ~SIZE~0 9)} {8541#(and (<= ~SIZE~0 9) (<= 3 main_~i~0))} #60#return; {8541#(and (<= ~SIZE~0 9) (<= 3 main_~i~0))} is VALID [2018-11-23 12:25:46,103 INFO L273 TraceCheckUtils]: 55: Hoare triple {8541#(and (<= ~SIZE~0 9) (<= 3 main_~i~0))} havoc #t~mem4; {8541#(and (<= ~SIZE~0 9) (<= 3 main_~i~0))} is VALID [2018-11-23 12:25:46,104 INFO L273 TraceCheckUtils]: 56: Hoare triple {8541#(and (<= ~SIZE~0 9) (<= 3 main_~i~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8566#(and (<= 4 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,105 INFO L273 TraceCheckUtils]: 57: Hoare triple {8566#(and (<= 4 main_~i~0) (<= ~SIZE~0 9))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8566#(and (<= 4 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,106 INFO L256 TraceCheckUtils]: 58: Hoare triple {8566#(and (<= 4 main_~i~0) (<= ~SIZE~0 9))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,106 INFO L273 TraceCheckUtils]: 59: Hoare triple {8387#(<= ~SIZE~0 9)} ~cond := #in~cond; {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,107 INFO L273 TraceCheckUtils]: 60: Hoare triple {8387#(<= ~SIZE~0 9)} assume !(0 == ~cond); {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,107 INFO L273 TraceCheckUtils]: 61: Hoare triple {8387#(<= ~SIZE~0 9)} assume true; {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,108 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {8387#(<= ~SIZE~0 9)} {8566#(and (<= 4 main_~i~0) (<= ~SIZE~0 9))} #60#return; {8566#(and (<= 4 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,108 INFO L273 TraceCheckUtils]: 63: Hoare triple {8566#(and (<= 4 main_~i~0) (<= ~SIZE~0 9))} havoc #t~mem4; {8566#(and (<= 4 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,109 INFO L273 TraceCheckUtils]: 64: Hoare triple {8566#(and (<= 4 main_~i~0) (<= ~SIZE~0 9))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8591#(and (<= 5 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,110 INFO L273 TraceCheckUtils]: 65: Hoare triple {8591#(and (<= 5 main_~i~0) (<= ~SIZE~0 9))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8591#(and (<= 5 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,111 INFO L256 TraceCheckUtils]: 66: Hoare triple {8591#(and (<= 5 main_~i~0) (<= ~SIZE~0 9))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,111 INFO L273 TraceCheckUtils]: 67: Hoare triple {8387#(<= ~SIZE~0 9)} ~cond := #in~cond; {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,112 INFO L273 TraceCheckUtils]: 68: Hoare triple {8387#(<= ~SIZE~0 9)} assume !(0 == ~cond); {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,112 INFO L273 TraceCheckUtils]: 69: Hoare triple {8387#(<= ~SIZE~0 9)} assume true; {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,113 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {8387#(<= ~SIZE~0 9)} {8591#(and (<= 5 main_~i~0) (<= ~SIZE~0 9))} #60#return; {8591#(and (<= 5 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,114 INFO L273 TraceCheckUtils]: 71: Hoare triple {8591#(and (<= 5 main_~i~0) (<= ~SIZE~0 9))} havoc #t~mem4; {8591#(and (<= 5 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,115 INFO L273 TraceCheckUtils]: 72: Hoare triple {8591#(and (<= 5 main_~i~0) (<= ~SIZE~0 9))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8616#(and (<= ~SIZE~0 9) (<= 6 main_~i~0))} is VALID [2018-11-23 12:25:46,115 INFO L273 TraceCheckUtils]: 73: Hoare triple {8616#(and (<= ~SIZE~0 9) (<= 6 main_~i~0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8616#(and (<= ~SIZE~0 9) (<= 6 main_~i~0))} is VALID [2018-11-23 12:25:46,116 INFO L256 TraceCheckUtils]: 74: Hoare triple {8616#(and (<= ~SIZE~0 9) (<= 6 main_~i~0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,117 INFO L273 TraceCheckUtils]: 75: Hoare triple {8387#(<= ~SIZE~0 9)} ~cond := #in~cond; {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,117 INFO L273 TraceCheckUtils]: 76: Hoare triple {8387#(<= ~SIZE~0 9)} assume !(0 == ~cond); {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,118 INFO L273 TraceCheckUtils]: 77: Hoare triple {8387#(<= ~SIZE~0 9)} assume true; {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,119 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {8387#(<= ~SIZE~0 9)} {8616#(and (<= ~SIZE~0 9) (<= 6 main_~i~0))} #60#return; {8616#(and (<= ~SIZE~0 9) (<= 6 main_~i~0))} is VALID [2018-11-23 12:25:46,119 INFO L273 TraceCheckUtils]: 79: Hoare triple {8616#(and (<= ~SIZE~0 9) (<= 6 main_~i~0))} havoc #t~mem4; {8616#(and (<= ~SIZE~0 9) (<= 6 main_~i~0))} is VALID [2018-11-23 12:25:46,120 INFO L273 TraceCheckUtils]: 80: Hoare triple {8616#(and (<= ~SIZE~0 9) (<= 6 main_~i~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8641#(and (<= 7 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,121 INFO L273 TraceCheckUtils]: 81: Hoare triple {8641#(and (<= 7 main_~i~0) (<= ~SIZE~0 9))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8641#(and (<= 7 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,122 INFO L256 TraceCheckUtils]: 82: Hoare triple {8641#(and (<= 7 main_~i~0) (<= ~SIZE~0 9))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,122 INFO L273 TraceCheckUtils]: 83: Hoare triple {8387#(<= ~SIZE~0 9)} ~cond := #in~cond; {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,123 INFO L273 TraceCheckUtils]: 84: Hoare triple {8387#(<= ~SIZE~0 9)} assume !(0 == ~cond); {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,123 INFO L273 TraceCheckUtils]: 85: Hoare triple {8387#(<= ~SIZE~0 9)} assume true; {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,124 INFO L268 TraceCheckUtils]: 86: Hoare quadruple {8387#(<= ~SIZE~0 9)} {8641#(and (<= 7 main_~i~0) (<= ~SIZE~0 9))} #60#return; {8641#(and (<= 7 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,124 INFO L273 TraceCheckUtils]: 87: Hoare triple {8641#(and (<= 7 main_~i~0) (<= ~SIZE~0 9))} havoc #t~mem4; {8641#(and (<= 7 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,125 INFO L273 TraceCheckUtils]: 88: Hoare triple {8641#(and (<= 7 main_~i~0) (<= ~SIZE~0 9))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8666#(and (<= 8 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,126 INFO L273 TraceCheckUtils]: 89: Hoare triple {8666#(and (<= 8 main_~i~0) (<= ~SIZE~0 9))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8666#(and (<= 8 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,127 INFO L256 TraceCheckUtils]: 90: Hoare triple {8666#(and (<= 8 main_~i~0) (<= ~SIZE~0 9))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,127 INFO L273 TraceCheckUtils]: 91: Hoare triple {8387#(<= ~SIZE~0 9)} ~cond := #in~cond; {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,128 INFO L273 TraceCheckUtils]: 92: Hoare triple {8387#(<= ~SIZE~0 9)} assume !(0 == ~cond); {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,128 INFO L273 TraceCheckUtils]: 93: Hoare triple {8387#(<= ~SIZE~0 9)} assume true; {8387#(<= ~SIZE~0 9)} is VALID [2018-11-23 12:25:46,129 INFO L268 TraceCheckUtils]: 94: Hoare quadruple {8387#(<= ~SIZE~0 9)} {8666#(and (<= 8 main_~i~0) (<= ~SIZE~0 9))} #60#return; {8666#(and (<= 8 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,130 INFO L273 TraceCheckUtils]: 95: Hoare triple {8666#(and (<= 8 main_~i~0) (<= ~SIZE~0 9))} havoc #t~mem4; {8666#(and (<= 8 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,130 INFO L273 TraceCheckUtils]: 96: Hoare triple {8666#(and (<= 8 main_~i~0) (<= ~SIZE~0 9))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8691#(and (<= 9 main_~i~0) (<= ~SIZE~0 9))} is VALID [2018-11-23 12:25:46,131 INFO L273 TraceCheckUtils]: 97: Hoare triple {8691#(and (<= 9 main_~i~0) (<= ~SIZE~0 9))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8377#false} is VALID [2018-11-23 12:25:46,131 INFO L256 TraceCheckUtils]: 98: Hoare triple {8377#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8377#false} is VALID [2018-11-23 12:25:46,132 INFO L273 TraceCheckUtils]: 99: Hoare triple {8377#false} ~cond := #in~cond; {8377#false} is VALID [2018-11-23 12:25:46,132 INFO L273 TraceCheckUtils]: 100: Hoare triple {8377#false} assume 0 == ~cond; {8377#false} is VALID [2018-11-23 12:25:46,132 INFO L273 TraceCheckUtils]: 101: Hoare triple {8377#false} assume !false; {8377#false} is VALID [2018-11-23 12:25:46,144 INFO L134 CoverageAnalysis]: Checked inductivity of 388 backedges. 180 proven. 64 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2018-11-23 12:25:46,164 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:25:46,164 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 22] total 25 [2018-11-23 12:25:46,164 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 102 [2018-11-23 12:25:46,164 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:25:46,165 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states. [2018-11-23 12:25:46,288 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:25:46,288 INFO L459 AbstractCegarLoop]: Interpolant automaton has 25 states [2018-11-23 12:25:46,289 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2018-11-23 12:25:46,289 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=226, Invalid=374, Unknown=0, NotChecked=0, Total=600 [2018-11-23 12:25:46,289 INFO L87 Difference]: Start difference. First operand 105 states and 106 transitions. Second operand 25 states. [2018-11-23 12:25:50,650 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:25:50,650 INFO L93 Difference]: Finished difference Result 192 states and 194 transitions. [2018-11-23 12:25:50,650 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2018-11-23 12:25:50,650 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 102 [2018-11-23 12:25:50,651 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:25:50,651 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 12:25:50,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 100 transitions. [2018-11-23 12:25:50,653 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 12:25:50,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 100 transitions. [2018-11-23 12:25:50,655 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 100 transitions. [2018-11-23 12:25:51,194 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:25:51,196 INFO L225 Difference]: With dead ends: 192 [2018-11-23 12:25:51,196 INFO L226 Difference]: Without dead ends: 108 [2018-11-23 12:25:51,197 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 100 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 229 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=241, Invalid=409, Unknown=0, NotChecked=0, Total=650 [2018-11-23 12:25:51,197 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states.