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-industry-pattern/array_shadowinit_true-unreach-call_true-termination.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 12:13:13,266 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:13:13,269 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:13:13,283 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:13:13,283 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:13:13,284 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:13:13,286 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:13:13,288 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:13:13,290 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:13:13,291 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:13:13,292 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:13:13,292 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:13:13,293 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:13:13,294 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:13:13,295 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:13:13,296 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:13:13,297 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:13:13,299 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:13:13,301 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:13:13,303 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:13:13,304 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:13:13,306 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:13:13,308 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:13:13,309 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:13:13,309 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:13:13,310 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:13:13,311 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:13:13,312 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:13:13,313 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:13:13,318 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:13:13,318 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:13:13,320 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:13:13,320 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:13:13,320 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:13:13,324 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:13:13,325 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:13:13,325 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:13:13,354 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:13:13,354 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:13:13,356 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:13:13,356 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 12:13:13,357 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:13:13,357 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:13:13,357 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 12:13:13,359 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:13:13,359 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:13:13,359 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:13:13,359 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:13:13,359 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:13:13,360 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:13:13,360 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:13:13,360 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:13:13,360 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:13:13,360 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:13:13,361 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:13:13,361 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:13:13,361 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:13:13,361 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 12:13:13,362 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:13:13,362 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 12:13:13,362 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:13:13,362 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:13:13,362 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:13:13,364 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:13:13,364 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 12:13:13,364 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:13:13,365 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:13:13,365 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 12:13:13,429 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:13:13,446 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:13:13,449 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:13:13,451 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:13:13,451 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:13:13,452 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-industry-pattern/array_shadowinit_true-unreach-call_true-termination.i [2018-11-23 12:13:13,533 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d4fb1362c/e1d0d48855ac4ef783f8ea386329876c/FLAG74adc3e03 [2018-11-23 12:13:14,057 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:13:14,058 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-industry-pattern/array_shadowinit_true-unreach-call_true-termination.i [2018-11-23 12:13:14,066 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d4fb1362c/e1d0d48855ac4ef783f8ea386329876c/FLAG74adc3e03 [2018-11-23 12:13:14,358 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d4fb1362c/e1d0d48855ac4ef783f8ea386329876c [2018-11-23 12:13:14,369 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:13:14,371 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:13:14,372 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:13:14,372 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:13:14,377 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:13:14,381 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:13:14" (1/1) ... [2018-11-23 12:13:14,385 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4c08b8b6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:13:14, skipping insertion in model container [2018-11-23 12:13:14,385 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:13:14" (1/1) ... [2018-11-23 12:13:14,397 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:13:14,427 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:13:14,719 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:13:14,726 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:13:14,757 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:13:14,792 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:13:14,793 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:13:14 WrapperNode [2018-11-23 12:13:14,793 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:13:14,794 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:13:14,794 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:13:14,795 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:13:14,807 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:13:14" (1/1) ... [2018-11-23 12:13:14,818 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:13:14" (1/1) ... [2018-11-23 12:13:14,829 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:13:14,830 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:13:14,830 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:13:14,830 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:13:14,843 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:13:14" (1/1) ... [2018-11-23 12:13:14,843 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:13:14" (1/1) ... [2018-11-23 12:13:14,845 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:13:14" (1/1) ... [2018-11-23 12:13:14,846 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:13:14" (1/1) ... [2018-11-23 12:13:14,858 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:13:14" (1/1) ... [2018-11-23 12:13:14,865 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:13:14" (1/1) ... [2018-11-23 12:13:14,871 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:13:14" (1/1) ... [2018-11-23 12:13:14,879 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:13:14,880 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:13:14,880 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:13:14,880 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:13:14,881 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:13:14" (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:13:15,088 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 12:13:15,089 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 12:13:15,089 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 12:13:15,089 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:13:15,089 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:13:15,089 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:13:15,089 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 12:13:15,089 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 12:13:15,090 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 12:13:15,090 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 12:13:15,090 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 12:13:15,090 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:13:15,823 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:13:15,824 INFO L280 CfgBuilder]: Removed 2 assue(true) statements. [2018-11-23 12:13:15,824 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:13:15 BoogieIcfgContainer [2018-11-23 12:13:15,825 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:13:15,826 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 12:13:15,826 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 12:13:15,830 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 12:13:15,830 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:13:14" (1/3) ... [2018-11-23 12:13:15,831 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@f1140b9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:13:15, skipping insertion in model container [2018-11-23 12:13:15,831 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:13:14" (2/3) ... [2018-11-23 12:13:15,832 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@f1140b9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:13:15, skipping insertion in model container [2018-11-23 12:13:15,832 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:13:15" (3/3) ... [2018-11-23 12:13:15,834 INFO L112 eAbstractionObserver]: Analyzing ICFG array_shadowinit_true-unreach-call_true-termination.i [2018-11-23 12:13:15,845 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 12:13:15,853 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 12:13:15,871 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 12:13:15,904 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 12:13:15,905 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 12:13:15,905 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 12:13:15,905 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 12:13:15,906 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 12:13:15,906 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 12:13:15,906 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 12:13:15,907 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 12:13:15,907 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 12:13:15,928 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states. [2018-11-23 12:13:15,936 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 12:13:15,937 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:13:15,938 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:13:15,940 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:13:15,947 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:13:15,948 INFO L82 PathProgramCache]: Analyzing trace with hash 1065998934, now seen corresponding path program 1 times [2018-11-23 12:13:15,950 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:13:15,951 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:13:16,004 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:16,004 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:13:16,004 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:16,055 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:16,142 INFO L256 TraceCheckUtils]: 0: Hoare triple {27#true} call ULTIMATE.init(); {27#true} is VALID [2018-11-23 12:13:16,146 INFO L273 TraceCheckUtils]: 1: Hoare triple {27#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {27#true} is VALID [2018-11-23 12:13:16,147 INFO L273 TraceCheckUtils]: 2: Hoare triple {27#true} assume true; {27#true} is VALID [2018-11-23 12:13:16,147 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {27#true} {27#true} #54#return; {27#true} is VALID [2018-11-23 12:13:16,148 INFO L256 TraceCheckUtils]: 4: Hoare triple {27#true} call #t~ret2 := main(); {27#true} is VALID [2018-11-23 12:13:16,148 INFO L273 TraceCheckUtils]: 5: Hoare triple {27#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {27#true} is VALID [2018-11-23 12:13:16,149 INFO L273 TraceCheckUtils]: 6: Hoare triple {27#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {27#true} is VALID [2018-11-23 12:13:16,151 INFO L273 TraceCheckUtils]: 7: Hoare triple {27#true} assume !true; {28#false} is VALID [2018-11-23 12:13:16,151 INFO L273 TraceCheckUtils]: 8: Hoare triple {28#false} ~i~0 := 0; {28#false} is VALID [2018-11-23 12:13:16,151 INFO L273 TraceCheckUtils]: 9: Hoare triple {28#false} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {28#false} is VALID [2018-11-23 12:13:16,152 INFO L256 TraceCheckUtils]: 10: Hoare triple {28#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {28#false} is VALID [2018-11-23 12:13:16,152 INFO L273 TraceCheckUtils]: 11: Hoare triple {28#false} ~cond := #in~cond; {28#false} is VALID [2018-11-23 12:13:16,152 INFO L273 TraceCheckUtils]: 12: Hoare triple {28#false} assume 0 == ~cond; {28#false} is VALID [2018-11-23 12:13:16,153 INFO L273 TraceCheckUtils]: 13: Hoare triple {28#false} assume !false; {28#false} is VALID [2018-11-23 12:13:16,156 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:13:16,159 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:13:16,160 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 12:13:16,165 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 14 [2018-11-23 12:13:16,169 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:13:16,172 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 12:13:16,232 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:13:16,233 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 12:13:16,241 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 12:13:16,242 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:13:16,245 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 2 states. [2018-11-23 12:13:16,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:16,380 INFO L93 Difference]: Finished difference Result 40 states and 48 transitions. [2018-11-23 12:13:16,380 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 12:13:16,380 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 14 [2018-11-23 12:13:16,381 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:13:16,382 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:13:16,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 48 transitions. [2018-11-23 12:13:16,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:13:16,400 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 48 transitions. [2018-11-23 12:13:16,400 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 48 transitions. [2018-11-23 12:13:16,866 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:16,879 INFO L225 Difference]: With dead ends: 40 [2018-11-23 12:13:16,879 INFO L226 Difference]: Without dead ends: 18 [2018-11-23 12:13:16,883 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:13:16,902 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 18 states. [2018-11-23 12:13:16,936 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 18 to 18. [2018-11-23 12:13:16,936 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:13:16,937 INFO L82 GeneralOperation]: Start isEquivalent. First operand 18 states. Second operand 18 states. [2018-11-23 12:13:16,937 INFO L74 IsIncluded]: Start isIncluded. First operand 18 states. Second operand 18 states. [2018-11-23 12:13:16,937 INFO L87 Difference]: Start difference. First operand 18 states. Second operand 18 states. [2018-11-23 12:13:16,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:16,941 INFO L93 Difference]: Finished difference Result 18 states and 19 transitions. [2018-11-23 12:13:16,941 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 19 transitions. [2018-11-23 12:13:16,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:16,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:16,942 INFO L74 IsIncluded]: Start isIncluded. First operand 18 states. Second operand 18 states. [2018-11-23 12:13:16,942 INFO L87 Difference]: Start difference. First operand 18 states. Second operand 18 states. [2018-11-23 12:13:16,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:16,947 INFO L93 Difference]: Finished difference Result 18 states and 19 transitions. [2018-11-23 12:13:16,947 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 19 transitions. [2018-11-23 12:13:16,947 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:16,948 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:16,948 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:13:16,948 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:13:16,948 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:13:16,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 19 transitions. [2018-11-23 12:13:16,952 INFO L78 Accepts]: Start accepts. Automaton has 18 states and 19 transitions. Word has length 14 [2018-11-23 12:13:16,953 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:13:16,953 INFO L480 AbstractCegarLoop]: Abstraction has 18 states and 19 transitions. [2018-11-23 12:13:16,953 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 12:13:16,953 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 19 transitions. [2018-11-23 12:13:16,954 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 12:13:16,954 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:13:16,954 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:13:16,954 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:13:16,955 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:13:16,955 INFO L82 PathProgramCache]: Analyzing trace with hash 1810951506, now seen corresponding path program 1 times [2018-11-23 12:13:16,955 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:13:16,955 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:13:16,957 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:16,957 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:13:16,957 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:16,984 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:17,150 INFO L256 TraceCheckUtils]: 0: Hoare triple {144#true} call ULTIMATE.init(); {144#true} is VALID [2018-11-23 12:13:17,150 INFO L273 TraceCheckUtils]: 1: Hoare triple {144#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {144#true} is VALID [2018-11-23 12:13:17,151 INFO L273 TraceCheckUtils]: 2: Hoare triple {144#true} assume true; {144#true} is VALID [2018-11-23 12:13:17,151 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {144#true} {144#true} #54#return; {144#true} is VALID [2018-11-23 12:13:17,151 INFO L256 TraceCheckUtils]: 4: Hoare triple {144#true} call #t~ret2 := main(); {144#true} is VALID [2018-11-23 12:13:17,151 INFO L273 TraceCheckUtils]: 5: Hoare triple {144#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {144#true} is VALID [2018-11-23 12:13:17,154 INFO L273 TraceCheckUtils]: 6: Hoare triple {144#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {146#(and (<= 1 ~N~0) (= main_~i~0 0))} is VALID [2018-11-23 12:13:17,156 INFO L273 TraceCheckUtils]: 7: Hoare triple {146#(and (<= 1 ~N~0) (= main_~i~0 0))} assume !(~i~0 < ~N~0); {145#false} is VALID [2018-11-23 12:13:17,156 INFO L273 TraceCheckUtils]: 8: Hoare triple {145#false} ~i~0 := 0; {145#false} is VALID [2018-11-23 12:13:17,157 INFO L273 TraceCheckUtils]: 9: Hoare triple {145#false} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {145#false} is VALID [2018-11-23 12:13:17,158 INFO L256 TraceCheckUtils]: 10: Hoare triple {145#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {145#false} is VALID [2018-11-23 12:13:17,158 INFO L273 TraceCheckUtils]: 11: Hoare triple {145#false} ~cond := #in~cond; {145#false} is VALID [2018-11-23 12:13:17,159 INFO L273 TraceCheckUtils]: 12: Hoare triple {145#false} assume 0 == ~cond; {145#false} is VALID [2018-11-23 12:13:17,159 INFO L273 TraceCheckUtils]: 13: Hoare triple {145#false} assume !false; {145#false} is VALID [2018-11-23 12:13:17,160 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:13:17,161 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:13:17,161 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:13:17,163 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 14 [2018-11-23 12:13:17,163 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:13:17,163 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:13:17,217 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:13:17,217 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:13:17,218 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:13:17,218 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:13:17,219 INFO L87 Difference]: Start difference. First operand 18 states and 19 transitions. Second operand 3 states. [2018-11-23 12:13:17,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:17,528 INFO L93 Difference]: Finished difference Result 29 states and 31 transitions. [2018-11-23 12:13:17,528 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:13:17,528 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 14 [2018-11-23 12:13:17,528 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:13:17,529 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:13:17,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 31 transitions. [2018-11-23 12:13:17,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:13:17,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 31 transitions. [2018-11-23 12:13:17,534 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 31 transitions. [2018-11-23 12:13:17,621 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:13:17,623 INFO L225 Difference]: With dead ends: 29 [2018-11-23 12:13:17,623 INFO L226 Difference]: Without dead ends: 19 [2018-11-23 12:13:17,625 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:13:17,625 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 19 states. [2018-11-23 12:13:17,670 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 19 to 19. [2018-11-23 12:13:17,670 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:13:17,670 INFO L82 GeneralOperation]: Start isEquivalent. First operand 19 states. Second operand 19 states. [2018-11-23 12:13:17,671 INFO L74 IsIncluded]: Start isIncluded. First operand 19 states. Second operand 19 states. [2018-11-23 12:13:17,671 INFO L87 Difference]: Start difference. First operand 19 states. Second operand 19 states. [2018-11-23 12:13:17,673 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:17,673 INFO L93 Difference]: Finished difference Result 19 states and 20 transitions. [2018-11-23 12:13:17,673 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2018-11-23 12:13:17,674 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:17,674 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:17,674 INFO L74 IsIncluded]: Start isIncluded. First operand 19 states. Second operand 19 states. [2018-11-23 12:13:17,674 INFO L87 Difference]: Start difference. First operand 19 states. Second operand 19 states. [2018-11-23 12:13:17,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:17,676 INFO L93 Difference]: Finished difference Result 19 states and 20 transitions. [2018-11-23 12:13:17,677 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2018-11-23 12:13:17,677 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:17,677 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:17,678 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:13:17,678 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:13:17,678 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:13:17,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 20 transitions. [2018-11-23 12:13:17,680 INFO L78 Accepts]: Start accepts. Automaton has 19 states and 20 transitions. Word has length 14 [2018-11-23 12:13:17,680 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:13:17,681 INFO L480 AbstractCegarLoop]: Abstraction has 19 states and 20 transitions. [2018-11-23 12:13:17,681 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:13:17,681 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2018-11-23 12:13:17,682 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2018-11-23 12:13:17,682 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:13:17,682 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:13:17,682 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:13:17,683 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:13:17,683 INFO L82 PathProgramCache]: Analyzing trace with hash -1816633037, now seen corresponding path program 1 times [2018-11-23 12:13:17,683 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:13:17,684 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:13:17,685 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:17,685 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:13:17,685 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:17,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:18,563 INFO L256 TraceCheckUtils]: 0: Hoare triple {256#true} call ULTIMATE.init(); {256#true} is VALID [2018-11-23 12:13:18,564 INFO L273 TraceCheckUtils]: 1: Hoare triple {256#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {256#true} is VALID [2018-11-23 12:13:18,565 INFO L273 TraceCheckUtils]: 2: Hoare triple {256#true} assume true; {256#true} is VALID [2018-11-23 12:13:18,565 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {256#true} {256#true} #54#return; {256#true} is VALID [2018-11-23 12:13:18,566 INFO L256 TraceCheckUtils]: 4: Hoare triple {256#true} call #t~ret2 := main(); {256#true} is VALID [2018-11-23 12:13:18,566 INFO L273 TraceCheckUtils]: 5: Hoare triple {256#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {256#true} is VALID [2018-11-23 12:13:18,585 INFO L273 TraceCheckUtils]: 6: Hoare triple {256#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {258#(and (= (+ (* 4 main_~k~0) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:18,600 INFO L273 TraceCheckUtils]: 7: Hoare triple {258#(and (= (+ (* 4 main_~k~0) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {259#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:18,610 INFO L273 TraceCheckUtils]: 8: Hoare triple {259#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) 0) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~N~0); {259#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:18,626 INFO L273 TraceCheckUtils]: 9: Hoare triple {259#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) 0) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {260#(and (= main_~i~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:13:18,636 INFO L273 TraceCheckUtils]: 10: Hoare triple {260#(and (= main_~i~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 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {261#(and (= main_~i~0 |main_#t~mem1|) (= main_~i~0 0))} is VALID [2018-11-23 12:13:18,639 INFO L256 TraceCheckUtils]: 11: Hoare triple {261#(and (= main_~i~0 |main_#t~mem1|) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {262#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:13:18,642 INFO L273 TraceCheckUtils]: 12: Hoare triple {262#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {263#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-23 12:13:18,643 INFO L273 TraceCheckUtils]: 13: Hoare triple {263#(= __VERIFIER_assert_~cond 1)} assume 0 == ~cond; {257#false} is VALID [2018-11-23 12:13:18,644 INFO L273 TraceCheckUtils]: 14: Hoare triple {257#false} assume !false; {257#false} is VALID [2018-11-23 12:13:18,646 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:13:18,647 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:13:18,647 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:13:18,666 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:13:18,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:18,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:18,721 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:13:18,873 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 12 [2018-11-23 12:13:18,906 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-23 12:13:18,912 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:13:18,924 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:18,949 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:13:18,949 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:22 [2018-11-23 12:13:18,972 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:13:18,972 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_6|, v_main_~k~0_5]. (let ((.cse0 (+ (* 4 v_main_~k~0_5) |main_~#a~0.offset|))) (and (= |#memory_int| (store |v_#memory_int_6| |main_~#a~0.base| (store (select |v_#memory_int_6| |main_~#a~0.base|) .cse0 v_main_~k~0_5))) (= 0 .cse0) (= |main_~#a~0.offset| 0))) [2018-11-23 12:13:18,973 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_main_~k~0_5]. (let ((.cse0 (+ (* 4 v_main_~k~0_5) |main_~#a~0.offset|))) (and (= 0 .cse0) (= v_main_~k~0_5 (select (select |#memory_int| |main_~#a~0.base|) .cse0)) (= |main_~#a~0.offset| 0))) [2018-11-23 12:13:19,270 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 19 treesize of output 15 [2018-11-23 12:13:19,337 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 3 [2018-11-23 12:13:19,339 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:13:19,342 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:19,350 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:19,351 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:22, output treesize:7 [2018-11-23 12:13:19,355 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:13:19,355 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select (select |#memory_int| |main_~#a~0.base|) (* 4 main_~i~0)))) (and (= |main_#t~mem1| .cse0) (= main_~i~0 .cse0) (= main_~i~0 0))) [2018-11-23 12:13:19,356 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 |main_#t~mem1|) (= main_~i~0 0)) [2018-11-23 12:13:19,373 INFO L256 TraceCheckUtils]: 0: Hoare triple {256#true} call ULTIMATE.init(); {256#true} is VALID [2018-11-23 12:13:19,373 INFO L273 TraceCheckUtils]: 1: Hoare triple {256#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {256#true} is VALID [2018-11-23 12:13:19,374 INFO L273 TraceCheckUtils]: 2: Hoare triple {256#true} assume true; {256#true} is VALID [2018-11-23 12:13:19,374 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {256#true} {256#true} #54#return; {256#true} is VALID [2018-11-23 12:13:19,375 INFO L256 TraceCheckUtils]: 4: Hoare triple {256#true} call #t~ret2 := main(); {256#true} is VALID [2018-11-23 12:13:19,375 INFO L273 TraceCheckUtils]: 5: Hoare triple {256#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {256#true} is VALID [2018-11-23 12:13:19,376 INFO L273 TraceCheckUtils]: 6: Hoare triple {256#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {258#(and (= (+ (* 4 main_~k~0) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:19,378 INFO L273 TraceCheckUtils]: 7: Hoare triple {258#(and (= (+ (* 4 main_~k~0) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {259#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:19,382 INFO L273 TraceCheckUtils]: 8: Hoare triple {259#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) 0) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~N~0); {259#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:19,383 INFO L273 TraceCheckUtils]: 9: Hoare triple {259#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) 0) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {260#(and (= main_~i~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:13:19,384 INFO L273 TraceCheckUtils]: 10: Hoare triple {260#(and (= main_~i~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 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {261#(and (= main_~i~0 |main_#t~mem1|) (= main_~i~0 0))} is VALID [2018-11-23 12:13:19,385 INFO L256 TraceCheckUtils]: 11: Hoare triple {261#(and (= main_~i~0 |main_#t~mem1|) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {262#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:13:19,388 INFO L273 TraceCheckUtils]: 12: Hoare triple {262#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {263#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-23 12:13:19,389 INFO L273 TraceCheckUtils]: 13: Hoare triple {263#(= __VERIFIER_assert_~cond 1)} assume 0 == ~cond; {257#false} is VALID [2018-11-23 12:13:19,389 INFO L273 TraceCheckUtils]: 14: Hoare triple {257#false} assume !false; {257#false} is VALID [2018-11-23 12:13:19,390 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:13:19,412 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:13:19,413 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2018-11-23 12:13:19,413 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 15 [2018-11-23 12:13:19,414 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:13:19,414 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 12:13:19,447 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:19,448 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 12:13:19,448 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 12:13:19,449 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:13:19,449 INFO L87 Difference]: Start difference. First operand 19 states and 20 transitions. Second operand 8 states. [2018-11-23 12:13:20,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:20,164 INFO L93 Difference]: Finished difference Result 28 states and 29 transitions. [2018-11-23 12:13:20,165 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 12:13:20,165 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 15 [2018-11-23 12:13:20,165 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:13:20,165 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:13:20,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 29 transitions. [2018-11-23 12:13:20,168 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:13:20,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 29 transitions. [2018-11-23 12:13:20,171 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 29 transitions. [2018-11-23 12:13:20,216 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:20,219 INFO L225 Difference]: With dead ends: 28 [2018-11-23 12:13:20,219 INFO L226 Difference]: Without dead ends: 26 [2018-11-23 12:13:20,220 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 12 SyntacticMatches, 4 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2018-11-23 12:13:20,220 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2018-11-23 12:13:20,256 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 25. [2018-11-23 12:13:20,256 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:13:20,256 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand 25 states. [2018-11-23 12:13:20,256 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 25 states. [2018-11-23 12:13:20,257 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 25 states. [2018-11-23 12:13:20,260 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:20,260 INFO L93 Difference]: Finished difference Result 26 states and 27 transitions. [2018-11-23 12:13:20,260 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 27 transitions. [2018-11-23 12:13:20,261 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:20,261 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:20,261 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 26 states. [2018-11-23 12:13:20,261 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 26 states. [2018-11-23 12:13:20,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:20,265 INFO L93 Difference]: Finished difference Result 26 states and 27 transitions. [2018-11-23 12:13:20,265 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 27 transitions. [2018-11-23 12:13:20,265 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:20,266 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:20,266 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:13:20,266 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:13:20,266 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 12:13:20,268 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 26 transitions. [2018-11-23 12:13:20,268 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 26 transitions. Word has length 15 [2018-11-23 12:13:20,269 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:13:20,269 INFO L480 AbstractCegarLoop]: Abstraction has 25 states and 26 transitions. [2018-11-23 12:13:20,269 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 12:13:20,269 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 26 transitions. [2018-11-23 12:13:20,270 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 12:13:20,270 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:13:20,270 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:13:20,271 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:13:20,271 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:13:20,271 INFO L82 PathProgramCache]: Analyzing trace with hash 1919305976, now seen corresponding path program 1 times [2018-11-23 12:13:20,271 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:13:20,272 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:13:20,273 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:20,273 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:13:20,273 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:20,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:20,427 INFO L256 TraceCheckUtils]: 0: Hoare triple {441#true} call ULTIMATE.init(); {441#true} is VALID [2018-11-23 12:13:20,427 INFO L273 TraceCheckUtils]: 1: Hoare triple {441#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {441#true} is VALID [2018-11-23 12:13:20,428 INFO L273 TraceCheckUtils]: 2: Hoare triple {441#true} assume true; {441#true} is VALID [2018-11-23 12:13:20,428 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {441#true} {441#true} #54#return; {441#true} is VALID [2018-11-23 12:13:20,429 INFO L256 TraceCheckUtils]: 4: Hoare triple {441#true} call #t~ret2 := main(); {441#true} is VALID [2018-11-23 12:13:20,429 INFO L273 TraceCheckUtils]: 5: Hoare triple {441#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {441#true} is VALID [2018-11-23 12:13:20,438 INFO L273 TraceCheckUtils]: 6: Hoare triple {441#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {443#(= main_~i~0 0)} is VALID [2018-11-23 12:13:20,439 INFO L273 TraceCheckUtils]: 7: Hoare triple {443#(= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {444#(<= main_~i~0 1)} is VALID [2018-11-23 12:13:20,440 INFO L273 TraceCheckUtils]: 8: Hoare triple {444#(<= main_~i~0 1)} assume !(~i~0 < ~N~0); {445#(<= ~N~0 1)} is VALID [2018-11-23 12:13:20,441 INFO L273 TraceCheckUtils]: 9: Hoare triple {445#(<= ~N~0 1)} ~i~0 := 0; {446#(and (<= ~N~0 1) (= main_~i~0 0))} is VALID [2018-11-23 12:13:20,442 INFO L273 TraceCheckUtils]: 10: Hoare triple {446#(and (<= ~N~0 1) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {446#(and (<= ~N~0 1) (= main_~i~0 0))} is VALID [2018-11-23 12:13:20,442 INFO L256 TraceCheckUtils]: 11: Hoare triple {446#(and (<= ~N~0 1) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {441#true} is VALID [2018-11-23 12:13:20,443 INFO L273 TraceCheckUtils]: 12: Hoare triple {441#true} ~cond := #in~cond; {441#true} is VALID [2018-11-23 12:13:20,443 INFO L273 TraceCheckUtils]: 13: Hoare triple {441#true} assume !(0 == ~cond); {441#true} is VALID [2018-11-23 12:13:20,444 INFO L273 TraceCheckUtils]: 14: Hoare triple {441#true} assume true; {441#true} is VALID [2018-11-23 12:13:20,445 INFO L268 TraceCheckUtils]: 15: Hoare quadruple {441#true} {446#(and (<= ~N~0 1) (= main_~i~0 0))} #58#return; {446#(and (<= ~N~0 1) (= main_~i~0 0))} is VALID [2018-11-23 12:13:20,446 INFO L273 TraceCheckUtils]: 16: Hoare triple {446#(and (<= ~N~0 1) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {447#(<= ~N~0 main_~i~0)} is VALID [2018-11-23 12:13:20,447 INFO L273 TraceCheckUtils]: 17: Hoare triple {447#(<= ~N~0 main_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {442#false} is VALID [2018-11-23 12:13:20,447 INFO L256 TraceCheckUtils]: 18: Hoare triple {442#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {442#false} is VALID [2018-11-23 12:13:20,448 INFO L273 TraceCheckUtils]: 19: Hoare triple {442#false} ~cond := #in~cond; {442#false} is VALID [2018-11-23 12:13:20,448 INFO L273 TraceCheckUtils]: 20: Hoare triple {442#false} assume 0 == ~cond; {442#false} is VALID [2018-11-23 12:13:20,448 INFO L273 TraceCheckUtils]: 21: Hoare triple {442#false} assume !false; {442#false} is VALID [2018-11-23 12:13:20,450 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 3 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:13:20,450 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:13:20,450 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:13:20,460 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:13:20,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:20,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:20,508 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:13:20,863 INFO L256 TraceCheckUtils]: 0: Hoare triple {441#true} call ULTIMATE.init(); {441#true} is VALID [2018-11-23 12:13:20,864 INFO L273 TraceCheckUtils]: 1: Hoare triple {441#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {441#true} is VALID [2018-11-23 12:13:20,864 INFO L273 TraceCheckUtils]: 2: Hoare triple {441#true} assume true; {441#true} is VALID [2018-11-23 12:13:20,865 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {441#true} {441#true} #54#return; {441#true} is VALID [2018-11-23 12:13:20,865 INFO L256 TraceCheckUtils]: 4: Hoare triple {441#true} call #t~ret2 := main(); {441#true} is VALID [2018-11-23 12:13:20,866 INFO L273 TraceCheckUtils]: 5: Hoare triple {441#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {441#true} is VALID [2018-11-23 12:13:20,867 INFO L273 TraceCheckUtils]: 6: Hoare triple {441#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {469#(<= main_~i~0 0)} is VALID [2018-11-23 12:13:20,868 INFO L273 TraceCheckUtils]: 7: Hoare triple {469#(<= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {444#(<= main_~i~0 1)} is VALID [2018-11-23 12:13:20,869 INFO L273 TraceCheckUtils]: 8: Hoare triple {444#(<= main_~i~0 1)} assume !(~i~0 < ~N~0); {445#(<= ~N~0 1)} is VALID [2018-11-23 12:13:20,869 INFO L273 TraceCheckUtils]: 9: Hoare triple {445#(<= ~N~0 1)} ~i~0 := 0; {479#(and (<= ~N~0 1) (<= 0 main_~i~0))} is VALID [2018-11-23 12:13:20,870 INFO L273 TraceCheckUtils]: 10: Hoare triple {479#(and (<= ~N~0 1) (<= 0 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {479#(and (<= ~N~0 1) (<= 0 main_~i~0))} is VALID [2018-11-23 12:13:20,871 INFO L256 TraceCheckUtils]: 11: Hoare triple {479#(and (<= ~N~0 1) (<= 0 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {445#(<= ~N~0 1)} is VALID [2018-11-23 12:13:20,872 INFO L273 TraceCheckUtils]: 12: Hoare triple {445#(<= ~N~0 1)} ~cond := #in~cond; {445#(<= ~N~0 1)} is VALID [2018-11-23 12:13:20,873 INFO L273 TraceCheckUtils]: 13: Hoare triple {445#(<= ~N~0 1)} assume !(0 == ~cond); {445#(<= ~N~0 1)} is VALID [2018-11-23 12:13:20,874 INFO L273 TraceCheckUtils]: 14: Hoare triple {445#(<= ~N~0 1)} assume true; {445#(<= ~N~0 1)} is VALID [2018-11-23 12:13:20,876 INFO L268 TraceCheckUtils]: 15: Hoare quadruple {445#(<= ~N~0 1)} {479#(and (<= ~N~0 1) (<= 0 main_~i~0))} #58#return; {479#(and (<= ~N~0 1) (<= 0 main_~i~0))} is VALID [2018-11-23 12:13:20,877 INFO L273 TraceCheckUtils]: 16: Hoare triple {479#(and (<= ~N~0 1) (<= 0 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {501#(and (<= ~N~0 1) (<= 1 main_~i~0))} is VALID [2018-11-23 12:13:20,878 INFO L273 TraceCheckUtils]: 17: Hoare triple {501#(and (<= ~N~0 1) (<= 1 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {442#false} is VALID [2018-11-23 12:13:20,879 INFO L256 TraceCheckUtils]: 18: Hoare triple {442#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {442#false} is VALID [2018-11-23 12:13:20,879 INFO L273 TraceCheckUtils]: 19: Hoare triple {442#false} ~cond := #in~cond; {442#false} is VALID [2018-11-23 12:13:20,880 INFO L273 TraceCheckUtils]: 20: Hoare triple {442#false} assume 0 == ~cond; {442#false} is VALID [2018-11-23 12:13:20,880 INFO L273 TraceCheckUtils]: 21: Hoare triple {442#false} assume !false; {442#false} is VALID [2018-11-23 12:13:20,882 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:13:20,902 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:13:20,902 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2018-11-23 12:13:20,903 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 22 [2018-11-23 12:13:20,903 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:13:20,905 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-23 12:13:20,957 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:20,957 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 12:13:20,957 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 12:13:20,958 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2018-11-23 12:13:20,958 INFO L87 Difference]: Start difference. First operand 25 states and 26 transitions. Second operand 10 states. [2018-11-23 12:13:21,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:21,432 INFO L93 Difference]: Finished difference Result 48 states and 51 transitions. [2018-11-23 12:13:21,433 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 12:13:21,433 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 22 [2018-11-23 12:13:21,433 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:13:21,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 12:13:21,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 48 transitions. [2018-11-23 12:13:21,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 12:13:21,442 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 48 transitions. [2018-11-23 12:13:21,442 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 48 transitions. [2018-11-23 12:13:21,560 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:21,562 INFO L225 Difference]: With dead ends: 48 [2018-11-23 12:13:21,563 INFO L226 Difference]: Without dead ends: 30 [2018-11-23 12:13:21,564 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2018-11-23 12:13:21,564 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2018-11-23 12:13:21,605 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 26. [2018-11-23 12:13:21,606 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:13:21,606 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand 26 states. [2018-11-23 12:13:21,606 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 26 states. [2018-11-23 12:13:21,606 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 26 states. [2018-11-23 12:13:21,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:21,611 INFO L93 Difference]: Finished difference Result 30 states and 32 transitions. [2018-11-23 12:13:21,611 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 32 transitions. [2018-11-23 12:13:21,612 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:21,612 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:21,612 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 30 states. [2018-11-23 12:13:21,613 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 30 states. [2018-11-23 12:13:21,615 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:21,615 INFO L93 Difference]: Finished difference Result 30 states and 32 transitions. [2018-11-23 12:13:21,616 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 32 transitions. [2018-11-23 12:13:21,616 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:21,617 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:21,617 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:13:21,617 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:13:21,617 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:13:21,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 27 transitions. [2018-11-23 12:13:21,619 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 27 transitions. Word has length 22 [2018-11-23 12:13:21,619 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:13:21,619 INFO L480 AbstractCegarLoop]: Abstraction has 26 states and 27 transitions. [2018-11-23 12:13:21,620 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 12:13:21,620 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 27 transitions. [2018-11-23 12:13:21,621 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 12:13:21,621 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:13:21,621 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:13:21,621 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:13:21,622 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:13:21,622 INFO L82 PathProgramCache]: Analyzing trace with hash -248493095, now seen corresponding path program 2 times [2018-11-23 12:13:21,622 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:13:21,622 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:13:21,623 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:21,624 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:13:21,624 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:21,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:22,350 INFO L256 TraceCheckUtils]: 0: Hoare triple {689#true} call ULTIMATE.init(); {689#true} is VALID [2018-11-23 12:13:22,351 INFO L273 TraceCheckUtils]: 1: Hoare triple {689#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {689#true} is VALID [2018-11-23 12:13:22,351 INFO L273 TraceCheckUtils]: 2: Hoare triple {689#true} assume true; {689#true} is VALID [2018-11-23 12:13:22,352 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {689#true} {689#true} #54#return; {689#true} is VALID [2018-11-23 12:13:22,352 INFO L256 TraceCheckUtils]: 4: Hoare triple {689#true} call #t~ret2 := main(); {689#true} is VALID [2018-11-23 12:13:22,353 INFO L273 TraceCheckUtils]: 5: Hoare triple {689#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {689#true} is VALID [2018-11-23 12:13:22,358 INFO L273 TraceCheckUtils]: 6: Hoare triple {689#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {691#(= main_~k~0 0)} is VALID [2018-11-23 12:13:22,359 INFO L273 TraceCheckUtils]: 7: Hoare triple {691#(= main_~k~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {692#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-23 12:13:22,360 INFO L273 TraceCheckUtils]: 8: Hoare triple {692#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {693#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1)} is VALID [2018-11-23 12:13:22,361 INFO L273 TraceCheckUtils]: 9: Hoare triple {693#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1)} assume !(~i~0 < ~N~0); {693#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1)} is VALID [2018-11-23 12:13:22,362 INFO L273 TraceCheckUtils]: 10: Hoare triple {693#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1)} ~i~0 := 0; {694#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1) (= main_~i~0 0))} is VALID [2018-11-23 12:13:22,363 INFO L273 TraceCheckUtils]: 11: Hoare triple {694#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {694#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1) (= main_~i~0 0))} is VALID [2018-11-23 12:13:22,363 INFO L256 TraceCheckUtils]: 12: Hoare triple {694#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {689#true} is VALID [2018-11-23 12:13:22,367 INFO L273 TraceCheckUtils]: 13: Hoare triple {689#true} ~cond := #in~cond; {695#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:13:22,368 INFO L273 TraceCheckUtils]: 14: Hoare triple {695#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {696#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:13:22,369 INFO L273 TraceCheckUtils]: 15: Hoare triple {696#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {696#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:13:22,371 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {696#(not (= |__VERIFIER_assert_#in~cond| 0))} {694#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1) (= main_~i~0 0))} #58#return; {694#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1) (= main_~i~0 0))} is VALID [2018-11-23 12:13:22,373 INFO L273 TraceCheckUtils]: 17: Hoare triple {694#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {697#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= 1 main_~i~0))} is VALID [2018-11-23 12:13:22,374 INFO L273 TraceCheckUtils]: 18: Hoare triple {697#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= 1 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {698#(and (= main_~i~0 |main_#t~mem1|) (= 1 main_~i~0))} is VALID [2018-11-23 12:13:22,391 INFO L256 TraceCheckUtils]: 19: Hoare triple {698#(and (= main_~i~0 |main_#t~mem1|) (= 1 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {696#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:13:22,392 INFO L273 TraceCheckUtils]: 20: Hoare triple {696#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {699#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:13:22,394 INFO L273 TraceCheckUtils]: 21: Hoare triple {699#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {690#false} is VALID [2018-11-23 12:13:22,394 INFO L273 TraceCheckUtils]: 22: Hoare triple {690#false} assume !false; {690#false} is VALID [2018-11-23 12:13:22,397 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 1 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:13:22,397 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:13:22,398 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:13:22,416 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:13:22,441 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:13:22,441 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:13:22,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:22,462 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:13:22,575 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 12:13:22,585 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 12:13:22,587 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:13:22,589 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:22,596 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:22,597 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 12:13:22,918 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 12:13:22,931 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:13:22,932 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-23 12:13:22,940 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:13:22,945 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:22,955 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:22,955 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-23 12:13:22,957 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:13:22,958 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= |main_#t~mem1| (select .cse0 (* 4 main_~i~0))) (= (select .cse0 4) 1) (= main_~i~0 1))) [2018-11-23 12:13:22,958 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 1 |main_#t~mem1|) (= main_~i~0 1)) [2018-11-23 12:13:23,094 INFO L256 TraceCheckUtils]: 0: Hoare triple {689#true} call ULTIMATE.init(); {689#true} is VALID [2018-11-23 12:13:23,095 INFO L273 TraceCheckUtils]: 1: Hoare triple {689#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {689#true} is VALID [2018-11-23 12:13:23,095 INFO L273 TraceCheckUtils]: 2: Hoare triple {689#true} assume true; {689#true} is VALID [2018-11-23 12:13:23,095 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {689#true} {689#true} #54#return; {689#true} is VALID [2018-11-23 12:13:23,096 INFO L256 TraceCheckUtils]: 4: Hoare triple {689#true} call #t~ret2 := main(); {689#true} is VALID [2018-11-23 12:13:23,096 INFO L273 TraceCheckUtils]: 5: Hoare triple {689#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {689#true} is VALID [2018-11-23 12:13:23,101 INFO L273 TraceCheckUtils]: 6: Hoare triple {689#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {721#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:23,102 INFO L273 TraceCheckUtils]: 7: Hoare triple {721#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {725#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:23,104 INFO L273 TraceCheckUtils]: 8: Hoare triple {725#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {729#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:23,105 INFO L273 TraceCheckUtils]: 9: Hoare triple {729#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~N~0); {729#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:23,110 INFO L273 TraceCheckUtils]: 10: Hoare triple {729#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {736#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:23,111 INFO L273 TraceCheckUtils]: 11: Hoare triple {736#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {736#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:23,113 INFO L256 TraceCheckUtils]: 12: Hoare triple {736#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {743#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4)))} is VALID [2018-11-23 12:13:23,115 INFO L273 TraceCheckUtils]: 13: Hoare triple {743#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4)))} ~cond := #in~cond; {747#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:13:23,116 INFO L273 TraceCheckUtils]: 14: Hoare triple {747#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {751#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4))))} is VALID [2018-11-23 12:13:23,118 INFO L273 TraceCheckUtils]: 15: Hoare triple {751#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4))))} assume true; {751#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4))))} is VALID [2018-11-23 12:13:23,119 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {751#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4))))} {736#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #58#return; {736#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:23,121 INFO L273 TraceCheckUtils]: 17: Hoare triple {736#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {761#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:23,122 INFO L273 TraceCheckUtils]: 18: Hoare triple {761#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {698#(and (= main_~i~0 |main_#t~mem1|) (= 1 main_~i~0))} is VALID [2018-11-23 12:13:23,123 INFO L256 TraceCheckUtils]: 19: Hoare triple {698#(and (= main_~i~0 |main_#t~mem1|) (= 1 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {768#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:13:23,125 INFO L273 TraceCheckUtils]: 20: Hoare triple {768#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {772#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:13:23,127 INFO L273 TraceCheckUtils]: 21: Hoare triple {772#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {690#false} is VALID [2018-11-23 12:13:23,127 INFO L273 TraceCheckUtils]: 22: Hoare triple {690#false} assume !false; {690#false} is VALID [2018-11-23 12:13:23,131 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:13:23,152 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:13:23,152 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 13] total 21 [2018-11-23 12:13:23,153 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 23 [2018-11-23 12:13:23,153 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:13:23,153 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-23 12:13:23,245 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:23,245 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-23 12:13:23,246 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-23 12:13:23,246 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=361, Unknown=0, NotChecked=0, Total=420 [2018-11-23 12:13:23,247 INFO L87 Difference]: Start difference. First operand 26 states and 27 transitions. Second operand 21 states. [2018-11-23 12:13:24,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:24,700 INFO L93 Difference]: Finished difference Result 36 states and 37 transitions. [2018-11-23 12:13:24,701 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 12:13:24,701 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 23 [2018-11-23 12:13:24,701 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:13:24,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:13:24,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 34 transitions. [2018-11-23 12:13:24,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:13:24,707 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 34 transitions. [2018-11-23 12:13:24,707 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 34 transitions. [2018-11-23 12:13:24,760 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:13:24,761 INFO L225 Difference]: With dead ends: 36 [2018-11-23 12:13:24,762 INFO L226 Difference]: Without dead ends: 34 [2018-11-23 12:13:24,762 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 13 SyntacticMatches, 3 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 114 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=93, Invalid=507, Unknown=0, NotChecked=0, Total=600 [2018-11-23 12:13:24,763 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2018-11-23 12:13:24,821 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 33. [2018-11-23 12:13:24,821 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:13:24,821 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand 33 states. [2018-11-23 12:13:24,822 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 33 states. [2018-11-23 12:13:24,822 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 33 states. [2018-11-23 12:13:24,824 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:24,825 INFO L93 Difference]: Finished difference Result 34 states and 35 transitions. [2018-11-23 12:13:24,825 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 35 transitions. [2018-11-23 12:13:24,826 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:24,826 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:24,826 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 34 states. [2018-11-23 12:13:24,826 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 34 states. [2018-11-23 12:13:24,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:24,829 INFO L93 Difference]: Finished difference Result 34 states and 35 transitions. [2018-11-23 12:13:24,829 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 35 transitions. [2018-11-23 12:13:24,830 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:24,830 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:24,830 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:13:24,830 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:13:24,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 12:13:24,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 34 transitions. [2018-11-23 12:13:24,833 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 34 transitions. Word has length 23 [2018-11-23 12:13:24,833 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:13:24,833 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 34 transitions. [2018-11-23 12:13:24,833 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-23 12:13:24,833 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 34 transitions. [2018-11-23 12:13:24,837 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 12:13:24,837 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:13:24,837 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:13:24,838 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:13:24,838 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:13:24,838 INFO L82 PathProgramCache]: Analyzing trace with hash -2146027630, now seen corresponding path program 3 times [2018-11-23 12:13:24,838 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:13:24,838 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:13:24,839 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:24,839 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:13:24,839 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:24,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:25,053 INFO L256 TraceCheckUtils]: 0: Hoare triple {955#true} call ULTIMATE.init(); {955#true} is VALID [2018-11-23 12:13:25,054 INFO L273 TraceCheckUtils]: 1: Hoare triple {955#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {955#true} is VALID [2018-11-23 12:13:25,054 INFO L273 TraceCheckUtils]: 2: Hoare triple {955#true} assume true; {955#true} is VALID [2018-11-23 12:13:25,055 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {955#true} {955#true} #54#return; {955#true} is VALID [2018-11-23 12:13:25,055 INFO L256 TraceCheckUtils]: 4: Hoare triple {955#true} call #t~ret2 := main(); {955#true} is VALID [2018-11-23 12:13:25,055 INFO L273 TraceCheckUtils]: 5: Hoare triple {955#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {955#true} is VALID [2018-11-23 12:13:25,056 INFO L273 TraceCheckUtils]: 6: Hoare triple {955#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {957#(= main_~i~0 0)} is VALID [2018-11-23 12:13:25,057 INFO L273 TraceCheckUtils]: 7: Hoare triple {957#(= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {958#(<= main_~i~0 1)} is VALID [2018-11-23 12:13:25,061 INFO L273 TraceCheckUtils]: 8: Hoare triple {958#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {959#(<= main_~i~0 2)} is VALID [2018-11-23 12:13:25,062 INFO L273 TraceCheckUtils]: 9: Hoare triple {959#(<= main_~i~0 2)} assume !(~i~0 < ~N~0); {960#(<= ~N~0 2)} is VALID [2018-11-23 12:13:25,063 INFO L273 TraceCheckUtils]: 10: Hoare triple {960#(<= ~N~0 2)} ~i~0 := 0; {961#(and (<= ~N~0 2) (= main_~i~0 0))} is VALID [2018-11-23 12:13:25,063 INFO L273 TraceCheckUtils]: 11: Hoare triple {961#(and (<= ~N~0 2) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {961#(and (<= ~N~0 2) (= main_~i~0 0))} is VALID [2018-11-23 12:13:25,064 INFO L256 TraceCheckUtils]: 12: Hoare triple {961#(and (<= ~N~0 2) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {955#true} is VALID [2018-11-23 12:13:25,064 INFO L273 TraceCheckUtils]: 13: Hoare triple {955#true} ~cond := #in~cond; {955#true} is VALID [2018-11-23 12:13:25,064 INFO L273 TraceCheckUtils]: 14: Hoare triple {955#true} assume !(0 == ~cond); {955#true} is VALID [2018-11-23 12:13:25,064 INFO L273 TraceCheckUtils]: 15: Hoare triple {955#true} assume true; {955#true} is VALID [2018-11-23 12:13:25,065 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {955#true} {961#(and (<= ~N~0 2) (= main_~i~0 0))} #58#return; {961#(and (<= ~N~0 2) (= main_~i~0 0))} is VALID [2018-11-23 12:13:25,066 INFO L273 TraceCheckUtils]: 17: Hoare triple {961#(and (<= ~N~0 2) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {962#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:13:25,066 INFO L273 TraceCheckUtils]: 18: Hoare triple {962#(<= ~N~0 (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {962#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:13:25,067 INFO L256 TraceCheckUtils]: 19: Hoare triple {962#(<= ~N~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {955#true} is VALID [2018-11-23 12:13:25,067 INFO L273 TraceCheckUtils]: 20: Hoare triple {955#true} ~cond := #in~cond; {955#true} is VALID [2018-11-23 12:13:25,067 INFO L273 TraceCheckUtils]: 21: Hoare triple {955#true} assume !(0 == ~cond); {955#true} is VALID [2018-11-23 12:13:25,067 INFO L273 TraceCheckUtils]: 22: Hoare triple {955#true} assume true; {955#true} is VALID [2018-11-23 12:13:25,068 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {955#true} {962#(<= ~N~0 (+ main_~i~0 1))} #58#return; {962#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:13:25,069 INFO L273 TraceCheckUtils]: 24: Hoare triple {962#(<= ~N~0 (+ main_~i~0 1))} havoc #t~mem1;~i~0 := 1 + ~i~0; {963#(<= ~N~0 main_~i~0)} is VALID [2018-11-23 12:13:25,070 INFO L273 TraceCheckUtils]: 25: Hoare triple {963#(<= ~N~0 main_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {956#false} is VALID [2018-11-23 12:13:25,070 INFO L256 TraceCheckUtils]: 26: Hoare triple {956#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {956#false} is VALID [2018-11-23 12:13:25,071 INFO L273 TraceCheckUtils]: 27: Hoare triple {956#false} ~cond := #in~cond; {956#false} is VALID [2018-11-23 12:13:25,071 INFO L273 TraceCheckUtils]: 28: Hoare triple {956#false} assume 0 == ~cond; {956#false} is VALID [2018-11-23 12:13:25,072 INFO L273 TraceCheckUtils]: 29: Hoare triple {956#false} assume !false; {956#false} is VALID [2018-11-23 12:13:25,074 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 7 proven. 7 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:13:25,075 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:13:25,075 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:13:25,123 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:13:25,148 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-11-23 12:13:25,148 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:13:25,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:25,180 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:13:25,579 INFO L256 TraceCheckUtils]: 0: Hoare triple {955#true} call ULTIMATE.init(); {955#true} is VALID [2018-11-23 12:13:25,580 INFO L273 TraceCheckUtils]: 1: Hoare triple {955#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {955#true} is VALID [2018-11-23 12:13:25,580 INFO L273 TraceCheckUtils]: 2: Hoare triple {955#true} assume true; {955#true} is VALID [2018-11-23 12:13:25,580 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {955#true} {955#true} #54#return; {955#true} is VALID [2018-11-23 12:13:25,580 INFO L256 TraceCheckUtils]: 4: Hoare triple {955#true} call #t~ret2 := main(); {955#true} is VALID [2018-11-23 12:13:25,580 INFO L273 TraceCheckUtils]: 5: Hoare triple {955#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {955#true} is VALID [2018-11-23 12:13:25,581 INFO L273 TraceCheckUtils]: 6: Hoare triple {955#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {985#(<= main_~i~0 0)} is VALID [2018-11-23 12:13:25,582 INFO L273 TraceCheckUtils]: 7: Hoare triple {985#(<= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {958#(<= main_~i~0 1)} is VALID [2018-11-23 12:13:25,583 INFO L273 TraceCheckUtils]: 8: Hoare triple {958#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {959#(<= main_~i~0 2)} is VALID [2018-11-23 12:13:25,583 INFO L273 TraceCheckUtils]: 9: Hoare triple {959#(<= main_~i~0 2)} assume !(~i~0 < ~N~0); {960#(<= ~N~0 2)} is VALID [2018-11-23 12:13:25,584 INFO L273 TraceCheckUtils]: 10: Hoare triple {960#(<= ~N~0 2)} ~i~0 := 0; {998#(and (<= ~N~0 2) (<= 0 main_~i~0))} is VALID [2018-11-23 12:13:25,585 INFO L273 TraceCheckUtils]: 11: Hoare triple {998#(and (<= ~N~0 2) (<= 0 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {998#(and (<= ~N~0 2) (<= 0 main_~i~0))} is VALID [2018-11-23 12:13:25,586 INFO L256 TraceCheckUtils]: 12: Hoare triple {998#(and (<= ~N~0 2) (<= 0 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {960#(<= ~N~0 2)} is VALID [2018-11-23 12:13:25,587 INFO L273 TraceCheckUtils]: 13: Hoare triple {960#(<= ~N~0 2)} ~cond := #in~cond; {960#(<= ~N~0 2)} is VALID [2018-11-23 12:13:25,588 INFO L273 TraceCheckUtils]: 14: Hoare triple {960#(<= ~N~0 2)} assume !(0 == ~cond); {960#(<= ~N~0 2)} is VALID [2018-11-23 12:13:25,591 INFO L273 TraceCheckUtils]: 15: Hoare triple {960#(<= ~N~0 2)} assume true; {960#(<= ~N~0 2)} is VALID [2018-11-23 12:13:25,592 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {960#(<= ~N~0 2)} {998#(and (<= ~N~0 2) (<= 0 main_~i~0))} #58#return; {998#(and (<= ~N~0 2) (<= 0 main_~i~0))} is VALID [2018-11-23 12:13:25,593 INFO L273 TraceCheckUtils]: 17: Hoare triple {998#(and (<= ~N~0 2) (<= 0 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {1020#(and (<= ~N~0 2) (<= 1 main_~i~0))} is VALID [2018-11-23 12:13:25,593 INFO L273 TraceCheckUtils]: 18: Hoare triple {1020#(and (<= ~N~0 2) (<= 1 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1020#(and (<= ~N~0 2) (<= 1 main_~i~0))} is VALID [2018-11-23 12:13:25,594 INFO L256 TraceCheckUtils]: 19: Hoare triple {1020#(and (<= ~N~0 2) (<= 1 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {960#(<= ~N~0 2)} is VALID [2018-11-23 12:13:25,595 INFO L273 TraceCheckUtils]: 20: Hoare triple {960#(<= ~N~0 2)} ~cond := #in~cond; {960#(<= ~N~0 2)} is VALID [2018-11-23 12:13:25,596 INFO L273 TraceCheckUtils]: 21: Hoare triple {960#(<= ~N~0 2)} assume !(0 == ~cond); {960#(<= ~N~0 2)} is VALID [2018-11-23 12:13:25,596 INFO L273 TraceCheckUtils]: 22: Hoare triple {960#(<= ~N~0 2)} assume true; {960#(<= ~N~0 2)} is VALID [2018-11-23 12:13:25,597 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {960#(<= ~N~0 2)} {1020#(and (<= ~N~0 2) (<= 1 main_~i~0))} #58#return; {1020#(and (<= ~N~0 2) (<= 1 main_~i~0))} is VALID [2018-11-23 12:13:25,605 INFO L273 TraceCheckUtils]: 24: Hoare triple {1020#(and (<= ~N~0 2) (<= 1 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {1042#(and (<= ~N~0 2) (<= 2 main_~i~0))} is VALID [2018-11-23 12:13:25,607 INFO L273 TraceCheckUtils]: 25: Hoare triple {1042#(and (<= ~N~0 2) (<= 2 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {956#false} is VALID [2018-11-23 12:13:25,607 INFO L256 TraceCheckUtils]: 26: Hoare triple {956#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {956#false} is VALID [2018-11-23 12:13:25,607 INFO L273 TraceCheckUtils]: 27: Hoare triple {956#false} ~cond := #in~cond; {956#false} is VALID [2018-11-23 12:13:25,607 INFO L273 TraceCheckUtils]: 28: Hoare triple {956#false} assume 0 == ~cond; {956#false} is VALID [2018-11-23 12:13:25,607 INFO L273 TraceCheckUtils]: 29: Hoare triple {956#false} assume !false; {956#false} is VALID [2018-11-23 12:13:25,609 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 11 proven. 3 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:13:25,629 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:13:25,630 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 13 [2018-11-23 12:13:25,630 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 30 [2018-11-23 12:13:25,631 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:13:25,631 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-23 12:13:25,674 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:25,675 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-23 12:13:25,675 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 12:13:25,676 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=111, Unknown=0, NotChecked=0, Total=156 [2018-11-23 12:13:25,676 INFO L87 Difference]: Start difference. First operand 33 states and 34 transitions. Second operand 13 states. [2018-11-23 12:13:26,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:26,172 INFO L93 Difference]: Finished difference Result 63 states and 66 transitions. [2018-11-23 12:13:26,172 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 12:13:26,173 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 30 [2018-11-23 12:13:26,173 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:13:26,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 12:13:26,177 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 57 transitions. [2018-11-23 12:13:26,177 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 12:13:26,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 57 transitions. [2018-11-23 12:13:26,181 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 57 transitions. [2018-11-23 12:13:26,296 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:26,299 INFO L225 Difference]: With dead ends: 63 [2018-11-23 12:13:26,299 INFO L226 Difference]: Without dead ends: 38 [2018-11-23 12:13:26,300 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 27 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=69, Invalid=171, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:13:26,300 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2018-11-23 12:13:26,392 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 34. [2018-11-23 12:13:26,392 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:13:26,393 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 34 states. [2018-11-23 12:13:26,393 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 34 states. [2018-11-23 12:13:26,393 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 34 states. [2018-11-23 12:13:26,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:26,397 INFO L93 Difference]: Finished difference Result 38 states and 40 transitions. [2018-11-23 12:13:26,397 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 40 transitions. [2018-11-23 12:13:26,398 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:26,398 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:26,398 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 38 states. [2018-11-23 12:13:26,399 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 38 states. [2018-11-23 12:13:26,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:26,401 INFO L93 Difference]: Finished difference Result 38 states and 40 transitions. [2018-11-23 12:13:26,402 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 40 transitions. [2018-11-23 12:13:26,402 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:26,403 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:26,403 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:13:26,403 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:13:26,403 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-23 12:13:26,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 35 transitions. [2018-11-23 12:13:26,405 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 35 transitions. Word has length 30 [2018-11-23 12:13:26,405 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:13:26,405 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 35 transitions. [2018-11-23 12:13:26,405 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-23 12:13:26,406 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 35 transitions. [2018-11-23 12:13:26,406 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2018-11-23 12:13:26,407 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:13:26,407 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:13:26,407 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:13:26,407 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:13:26,408 INFO L82 PathProgramCache]: Analyzing trace with hash 1843644787, now seen corresponding path program 4 times [2018-11-23 12:13:26,408 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:13:26,408 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:13:26,409 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:26,409 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:13:26,409 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:26,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:26,811 INFO L256 TraceCheckUtils]: 0: Hoare triple {1282#true} call ULTIMATE.init(); {1282#true} is VALID [2018-11-23 12:13:26,811 INFO L273 TraceCheckUtils]: 1: Hoare triple {1282#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {1282#true} is VALID [2018-11-23 12:13:26,812 INFO L273 TraceCheckUtils]: 2: Hoare triple {1282#true} assume true; {1282#true} is VALID [2018-11-23 12:13:26,812 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1282#true} {1282#true} #54#return; {1282#true} is VALID [2018-11-23 12:13:26,812 INFO L256 TraceCheckUtils]: 4: Hoare triple {1282#true} call #t~ret2 := main(); {1282#true} is VALID [2018-11-23 12:13:26,813 INFO L273 TraceCheckUtils]: 5: Hoare triple {1282#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {1282#true} is VALID [2018-11-23 12:13:26,813 INFO L273 TraceCheckUtils]: 6: Hoare triple {1282#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {1284#(= main_~k~0 0)} is VALID [2018-11-23 12:13:26,814 INFO L273 TraceCheckUtils]: 7: Hoare triple {1284#(= main_~k~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {1285#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-23 12:13:26,815 INFO L273 TraceCheckUtils]: 8: Hoare triple {1285#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {1286#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-23 12:13:26,816 INFO L273 TraceCheckUtils]: 9: Hoare triple {1286#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {1287#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2)} is VALID [2018-11-23 12:13:26,817 INFO L273 TraceCheckUtils]: 10: Hoare triple {1287#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2)} assume !(~i~0 < ~N~0); {1287#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2)} is VALID [2018-11-23 12:13:26,818 INFO L273 TraceCheckUtils]: 11: Hoare triple {1287#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2)} ~i~0 := 0; {1288#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2) (= main_~i~0 0))} is VALID [2018-11-23 12:13:26,819 INFO L273 TraceCheckUtils]: 12: Hoare triple {1288#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1288#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2) (= main_~i~0 0))} is VALID [2018-11-23 12:13:26,820 INFO L256 TraceCheckUtils]: 13: Hoare triple {1288#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1282#true} is VALID [2018-11-23 12:13:26,820 INFO L273 TraceCheckUtils]: 14: Hoare triple {1282#true} ~cond := #in~cond; {1289#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:13:26,821 INFO L273 TraceCheckUtils]: 15: Hoare triple {1289#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {1290#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:13:26,822 INFO L273 TraceCheckUtils]: 16: Hoare triple {1290#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1290#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:13:26,823 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {1290#(not (= |__VERIFIER_assert_#in~cond| 0))} {1288#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2) (= main_~i~0 0))} #58#return; {1288#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2) (= main_~i~0 0))} is VALID [2018-11-23 12:13:26,824 INFO L273 TraceCheckUtils]: 18: Hoare triple {1288#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {1291#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:13:26,825 INFO L273 TraceCheckUtils]: 19: Hoare triple {1291#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1291#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:13:26,825 INFO L256 TraceCheckUtils]: 20: Hoare triple {1291#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1282#true} is VALID [2018-11-23 12:13:26,826 INFO L273 TraceCheckUtils]: 21: Hoare triple {1282#true} ~cond := #in~cond; {1282#true} is VALID [2018-11-23 12:13:26,826 INFO L273 TraceCheckUtils]: 22: Hoare triple {1282#true} assume !(0 == ~cond); {1282#true} is VALID [2018-11-23 12:13:26,826 INFO L273 TraceCheckUtils]: 23: Hoare triple {1282#true} assume true; {1282#true} is VALID [2018-11-23 12:13:26,828 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1282#true} {1291#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} #58#return; {1291#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:13:26,829 INFO L273 TraceCheckUtils]: 25: Hoare triple {1291#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} havoc #t~mem1;~i~0 := 1 + ~i~0; {1292#(= 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:13:26,830 INFO L273 TraceCheckUtils]: 26: Hoare triple {1292#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1293#(= main_~i~0 |main_#t~mem1|)} is VALID [2018-11-23 12:13:26,832 INFO L256 TraceCheckUtils]: 27: Hoare triple {1293#(= main_~i~0 |main_#t~mem1|)} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1290#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:13:26,832 INFO L273 TraceCheckUtils]: 28: Hoare triple {1290#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1294#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:13:26,833 INFO L273 TraceCheckUtils]: 29: Hoare triple {1294#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1283#false} is VALID [2018-11-23 12:13:26,833 INFO L273 TraceCheckUtils]: 30: Hoare triple {1283#false} assume !false; {1283#false} is VALID [2018-11-23 12:13:26,836 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 3 proven. 17 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 12:13:26,836 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:13:26,836 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:13:26,847 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:13:26,868 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:13:26,869 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:13:26,882 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:26,883 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:13:26,973 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 12:13:26,976 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 12:13:26,978 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:13:26,980 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:26,985 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:26,985 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 12:13:27,316 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 12:13:27,320 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:13:27,321 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-23 12:13:27,326 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:13:27,329 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:27,334 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:27,334 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-23 12:13:27,337 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:13:27,338 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= 2 (select .cse0 8)) (= main_~i~0 2) (= |main_#t~mem1| (select .cse0 (* 4 main_~i~0))))) [2018-11-23 12:13:27,338 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 2) (= 2 |main_#t~mem1|)) [2018-11-23 12:13:27,441 INFO L256 TraceCheckUtils]: 0: Hoare triple {1282#true} call ULTIMATE.init(); {1282#true} is VALID [2018-11-23 12:13:27,441 INFO L273 TraceCheckUtils]: 1: Hoare triple {1282#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {1282#true} is VALID [2018-11-23 12:13:27,442 INFO L273 TraceCheckUtils]: 2: Hoare triple {1282#true} assume true; {1282#true} is VALID [2018-11-23 12:13:27,442 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1282#true} {1282#true} #54#return; {1282#true} is VALID [2018-11-23 12:13:27,442 INFO L256 TraceCheckUtils]: 4: Hoare triple {1282#true} call #t~ret2 := main(); {1282#true} is VALID [2018-11-23 12:13:27,442 INFO L273 TraceCheckUtils]: 5: Hoare triple {1282#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {1282#true} is VALID [2018-11-23 12:13:27,443 INFO L273 TraceCheckUtils]: 6: Hoare triple {1282#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {1316#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:27,444 INFO L273 TraceCheckUtils]: 7: Hoare triple {1316#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {1320#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:27,444 INFO L273 TraceCheckUtils]: 8: Hoare triple {1320#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {1324#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:27,445 INFO L273 TraceCheckUtils]: 9: Hoare triple {1324#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {1328#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:27,448 INFO L273 TraceCheckUtils]: 10: Hoare triple {1328#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~N~0); {1328#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:27,449 INFO L273 TraceCheckUtils]: 11: Hoare triple {1328#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {1335#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:27,450 INFO L273 TraceCheckUtils]: 12: Hoare triple {1335#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1335#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:27,451 INFO L256 TraceCheckUtils]: 13: Hoare triple {1335#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1342#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} is VALID [2018-11-23 12:13:27,453 INFO L273 TraceCheckUtils]: 14: Hoare triple {1342#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} ~cond := #in~cond; {1342#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} is VALID [2018-11-23 12:13:27,456 INFO L273 TraceCheckUtils]: 15: Hoare triple {1342#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} assume !(0 == ~cond); {1342#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} is VALID [2018-11-23 12:13:27,460 INFO L273 TraceCheckUtils]: 16: Hoare triple {1342#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} assume true; {1342#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} is VALID [2018-11-23 12:13:27,462 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {1342#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} {1335#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #58#return; {1335#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:27,463 INFO L273 TraceCheckUtils]: 18: Hoare triple {1335#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {1358#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:27,464 INFO L273 TraceCheckUtils]: 19: Hoare triple {1358#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1358#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:27,465 INFO L256 TraceCheckUtils]: 20: Hoare triple {1358#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1342#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} is VALID [2018-11-23 12:13:27,465 INFO L273 TraceCheckUtils]: 21: Hoare triple {1342#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} ~cond := #in~cond; {1342#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} is VALID [2018-11-23 12:13:27,469 INFO L273 TraceCheckUtils]: 22: Hoare triple {1342#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} assume !(0 == ~cond); {1342#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} is VALID [2018-11-23 12:13:27,470 INFO L273 TraceCheckUtils]: 23: Hoare triple {1342#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} assume true; {1342#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} is VALID [2018-11-23 12:13:27,471 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1342#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} {1358#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} #58#return; {1358#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:27,471 INFO L273 TraceCheckUtils]: 25: Hoare triple {1358#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {1380#(and (= main_~i~0 2) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:27,472 INFO L273 TraceCheckUtils]: 26: Hoare triple {1380#(and (= main_~i~0 2) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1384#(and (= main_~i~0 2) (= 2 |main_#t~mem1|))} is VALID [2018-11-23 12:13:27,473 INFO L256 TraceCheckUtils]: 27: Hoare triple {1384#(and (= main_~i~0 2) (= 2 |main_#t~mem1|))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1388#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:13:27,474 INFO L273 TraceCheckUtils]: 28: Hoare triple {1388#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1392#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:13:27,474 INFO L273 TraceCheckUtils]: 29: Hoare triple {1392#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1283#false} is VALID [2018-11-23 12:13:27,475 INFO L273 TraceCheckUtils]: 30: Hoare triple {1283#false} assume !false; {1283#false} is VALID [2018-11-23 12:13:27,478 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 0 proven. 17 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:13:27,509 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:13:27,509 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 24 [2018-11-23 12:13:27,510 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 31 [2018-11-23 12:13:27,510 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:13:27,511 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-23 12:13:27,591 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:27,592 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-23 12:13:27,592 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-23 12:13:27,593 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=486, Unknown=0, NotChecked=0, Total=552 [2018-11-23 12:13:27,593 INFO L87 Difference]: Start difference. First operand 34 states and 35 transitions. Second operand 24 states. [2018-11-23 12:13:29,250 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:29,250 INFO L93 Difference]: Finished difference Result 44 states and 45 transitions. [2018-11-23 12:13:29,251 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-23 12:13:29,251 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 31 [2018-11-23 12:13:29,251 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:13:29,251 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:13:29,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 39 transitions. [2018-11-23 12:13:29,254 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:13:29,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 39 transitions. [2018-11-23 12:13:29,256 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 39 transitions. [2018-11-23 12:13:29,381 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:29,385 INFO L225 Difference]: With dead ends: 44 [2018-11-23 12:13:29,385 INFO L226 Difference]: Without dead ends: 42 [2018-11-23 12:13:29,386 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 20 SyntacticMatches, 4 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 180 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=127, Invalid=865, Unknown=0, NotChecked=0, Total=992 [2018-11-23 12:13:29,386 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2018-11-23 12:13:29,457 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 41. [2018-11-23 12:13:29,458 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:13:29,458 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 41 states. [2018-11-23 12:13:29,458 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 41 states. [2018-11-23 12:13:29,458 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 41 states. [2018-11-23 12:13:29,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:29,461 INFO L93 Difference]: Finished difference Result 42 states and 43 transitions. [2018-11-23 12:13:29,461 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 43 transitions. [2018-11-23 12:13:29,461 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:29,462 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:29,462 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 42 states. [2018-11-23 12:13:29,462 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 42 states. [2018-11-23 12:13:29,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:29,464 INFO L93 Difference]: Finished difference Result 42 states and 43 transitions. [2018-11-23 12:13:29,464 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 43 transitions. [2018-11-23 12:13:29,464 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:29,464 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:29,465 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:13:29,465 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:13:29,465 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 12:13:29,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 42 transitions. [2018-11-23 12:13:29,467 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 42 transitions. Word has length 31 [2018-11-23 12:13:29,467 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:13:29,467 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 42 transitions. [2018-11-23 12:13:29,467 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-23 12:13:29,467 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 42 transitions. [2018-11-23 12:13:29,468 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-23 12:13:29,468 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:13:29,468 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:13:29,469 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:13:29,469 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:13:29,469 INFO L82 PathProgramCache]: Analyzing trace with hash 1415649464, now seen corresponding path program 5 times [2018-11-23 12:13:29,469 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:13:29,469 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:13:29,470 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:29,470 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:13:29,471 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:29,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:29,650 INFO L256 TraceCheckUtils]: 0: Hoare triple {1624#true} call ULTIMATE.init(); {1624#true} is VALID [2018-11-23 12:13:29,651 INFO L273 TraceCheckUtils]: 1: Hoare triple {1624#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {1624#true} is VALID [2018-11-23 12:13:29,651 INFO L273 TraceCheckUtils]: 2: Hoare triple {1624#true} assume true; {1624#true} is VALID [2018-11-23 12:13:29,651 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1624#true} {1624#true} #54#return; {1624#true} is VALID [2018-11-23 12:13:29,652 INFO L256 TraceCheckUtils]: 4: Hoare triple {1624#true} call #t~ret2 := main(); {1624#true} is VALID [2018-11-23 12:13:29,652 INFO L273 TraceCheckUtils]: 5: Hoare triple {1624#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {1624#true} is VALID [2018-11-23 12:13:29,653 INFO L273 TraceCheckUtils]: 6: Hoare triple {1624#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {1626#(= main_~i~0 0)} is VALID [2018-11-23 12:13:29,656 INFO L273 TraceCheckUtils]: 7: Hoare triple {1626#(= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {1627#(<= main_~i~0 1)} is VALID [2018-11-23 12:13:29,657 INFO L273 TraceCheckUtils]: 8: Hoare triple {1627#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {1628#(<= main_~i~0 2)} is VALID [2018-11-23 12:13:29,658 INFO L273 TraceCheckUtils]: 9: Hoare triple {1628#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {1629#(<= main_~i~0 3)} is VALID [2018-11-23 12:13:29,659 INFO L273 TraceCheckUtils]: 10: Hoare triple {1629#(<= main_~i~0 3)} assume !(~i~0 < ~N~0); {1630#(<= ~N~0 3)} is VALID [2018-11-23 12:13:29,659 INFO L273 TraceCheckUtils]: 11: Hoare triple {1630#(<= ~N~0 3)} ~i~0 := 0; {1631#(and (<= ~N~0 3) (= main_~i~0 0))} is VALID [2018-11-23 12:13:29,660 INFO L273 TraceCheckUtils]: 12: Hoare triple {1631#(and (<= ~N~0 3) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1631#(and (<= ~N~0 3) (= main_~i~0 0))} is VALID [2018-11-23 12:13:29,660 INFO L256 TraceCheckUtils]: 13: Hoare triple {1631#(and (<= ~N~0 3) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1624#true} is VALID [2018-11-23 12:13:29,661 INFO L273 TraceCheckUtils]: 14: Hoare triple {1624#true} ~cond := #in~cond; {1624#true} is VALID [2018-11-23 12:13:29,661 INFO L273 TraceCheckUtils]: 15: Hoare triple {1624#true} assume !(0 == ~cond); {1624#true} is VALID [2018-11-23 12:13:29,661 INFO L273 TraceCheckUtils]: 16: Hoare triple {1624#true} assume true; {1624#true} is VALID [2018-11-23 12:13:29,662 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {1624#true} {1631#(and (<= ~N~0 3) (= main_~i~0 0))} #58#return; {1631#(and (<= ~N~0 3) (= main_~i~0 0))} is VALID [2018-11-23 12:13:29,663 INFO L273 TraceCheckUtils]: 18: Hoare triple {1631#(and (<= ~N~0 3) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {1632#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:13:29,664 INFO L273 TraceCheckUtils]: 19: Hoare triple {1632#(<= ~N~0 (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1632#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:13:29,664 INFO L256 TraceCheckUtils]: 20: Hoare triple {1632#(<= ~N~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1624#true} is VALID [2018-11-23 12:13:29,665 INFO L273 TraceCheckUtils]: 21: Hoare triple {1624#true} ~cond := #in~cond; {1624#true} is VALID [2018-11-23 12:13:29,665 INFO L273 TraceCheckUtils]: 22: Hoare triple {1624#true} assume !(0 == ~cond); {1624#true} is VALID [2018-11-23 12:13:29,665 INFO L273 TraceCheckUtils]: 23: Hoare triple {1624#true} assume true; {1624#true} is VALID [2018-11-23 12:13:29,666 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1624#true} {1632#(<= ~N~0 (+ main_~i~0 2))} #58#return; {1632#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:13:29,667 INFO L273 TraceCheckUtils]: 25: Hoare triple {1632#(<= ~N~0 (+ main_~i~0 2))} havoc #t~mem1;~i~0 := 1 + ~i~0; {1633#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:13:29,668 INFO L273 TraceCheckUtils]: 26: Hoare triple {1633#(<= ~N~0 (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1633#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:13:29,668 INFO L256 TraceCheckUtils]: 27: Hoare triple {1633#(<= ~N~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1624#true} is VALID [2018-11-23 12:13:29,669 INFO L273 TraceCheckUtils]: 28: Hoare triple {1624#true} ~cond := #in~cond; {1624#true} is VALID [2018-11-23 12:13:29,669 INFO L273 TraceCheckUtils]: 29: Hoare triple {1624#true} assume !(0 == ~cond); {1624#true} is VALID [2018-11-23 12:13:29,669 INFO L273 TraceCheckUtils]: 30: Hoare triple {1624#true} assume true; {1624#true} is VALID [2018-11-23 12:13:29,678 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {1624#true} {1633#(<= ~N~0 (+ main_~i~0 1))} #58#return; {1633#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:13:29,679 INFO L273 TraceCheckUtils]: 32: Hoare triple {1633#(<= ~N~0 (+ main_~i~0 1))} havoc #t~mem1;~i~0 := 1 + ~i~0; {1634#(<= ~N~0 main_~i~0)} is VALID [2018-11-23 12:13:29,679 INFO L273 TraceCheckUtils]: 33: Hoare triple {1634#(<= ~N~0 main_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1625#false} is VALID [2018-11-23 12:13:29,680 INFO L256 TraceCheckUtils]: 34: Hoare triple {1625#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1625#false} is VALID [2018-11-23 12:13:29,680 INFO L273 TraceCheckUtils]: 35: Hoare triple {1625#false} ~cond := #in~cond; {1625#false} is VALID [2018-11-23 12:13:29,680 INFO L273 TraceCheckUtils]: 36: Hoare triple {1625#false} assume 0 == ~cond; {1625#false} is VALID [2018-11-23 12:13:29,680 INFO L273 TraceCheckUtils]: 37: Hoare triple {1625#false} assume !false; {1625#false} is VALID [2018-11-23 12:13:29,683 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 14 proven. 13 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:13:29,683 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:13:29,683 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:13:29,693 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:13:29,767 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) [2018-11-23 12:13:29,767 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:13:29,793 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:29,796 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:13:30,118 INFO L256 TraceCheckUtils]: 0: Hoare triple {1624#true} call ULTIMATE.init(); {1624#true} is VALID [2018-11-23 12:13:30,118 INFO L273 TraceCheckUtils]: 1: Hoare triple {1624#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {1624#true} is VALID [2018-11-23 12:13:30,119 INFO L273 TraceCheckUtils]: 2: Hoare triple {1624#true} assume true; {1624#true} is VALID [2018-11-23 12:13:30,119 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1624#true} {1624#true} #54#return; {1624#true} is VALID [2018-11-23 12:13:30,119 INFO L256 TraceCheckUtils]: 4: Hoare triple {1624#true} call #t~ret2 := main(); {1624#true} is VALID [2018-11-23 12:13:30,120 INFO L273 TraceCheckUtils]: 5: Hoare triple {1624#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {1624#true} is VALID [2018-11-23 12:13:30,121 INFO L273 TraceCheckUtils]: 6: Hoare triple {1624#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {1656#(<= main_~i~0 0)} is VALID [2018-11-23 12:13:30,121 INFO L273 TraceCheckUtils]: 7: Hoare triple {1656#(<= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {1627#(<= main_~i~0 1)} is VALID [2018-11-23 12:13:30,122 INFO L273 TraceCheckUtils]: 8: Hoare triple {1627#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {1628#(<= main_~i~0 2)} is VALID [2018-11-23 12:13:30,123 INFO L273 TraceCheckUtils]: 9: Hoare triple {1628#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {1629#(<= main_~i~0 3)} is VALID [2018-11-23 12:13:30,124 INFO L273 TraceCheckUtils]: 10: Hoare triple {1629#(<= main_~i~0 3)} assume !(~i~0 < ~N~0); {1630#(<= ~N~0 3)} is VALID [2018-11-23 12:13:30,124 INFO L273 TraceCheckUtils]: 11: Hoare triple {1630#(<= ~N~0 3)} ~i~0 := 0; {1672#(and (<= 0 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-23 12:13:30,125 INFO L273 TraceCheckUtils]: 12: Hoare triple {1672#(and (<= 0 main_~i~0) (<= ~N~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1672#(and (<= 0 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-23 12:13:30,126 INFO L256 TraceCheckUtils]: 13: Hoare triple {1672#(and (<= 0 main_~i~0) (<= ~N~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1630#(<= ~N~0 3)} is VALID [2018-11-23 12:13:30,127 INFO L273 TraceCheckUtils]: 14: Hoare triple {1630#(<= ~N~0 3)} ~cond := #in~cond; {1630#(<= ~N~0 3)} is VALID [2018-11-23 12:13:30,128 INFO L273 TraceCheckUtils]: 15: Hoare triple {1630#(<= ~N~0 3)} assume !(0 == ~cond); {1630#(<= ~N~0 3)} is VALID [2018-11-23 12:13:30,128 INFO L273 TraceCheckUtils]: 16: Hoare triple {1630#(<= ~N~0 3)} assume true; {1630#(<= ~N~0 3)} is VALID [2018-11-23 12:13:30,129 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {1630#(<= ~N~0 3)} {1672#(and (<= 0 main_~i~0) (<= ~N~0 3))} #58#return; {1672#(and (<= 0 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-23 12:13:30,130 INFO L273 TraceCheckUtils]: 18: Hoare triple {1672#(and (<= 0 main_~i~0) (<= ~N~0 3))} havoc #t~mem1;~i~0 := 1 + ~i~0; {1694#(and (<= 1 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-23 12:13:30,131 INFO L273 TraceCheckUtils]: 19: Hoare triple {1694#(and (<= 1 main_~i~0) (<= ~N~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1694#(and (<= 1 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-23 12:13:30,134 INFO L256 TraceCheckUtils]: 20: Hoare triple {1694#(and (<= 1 main_~i~0) (<= ~N~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1630#(<= ~N~0 3)} is VALID [2018-11-23 12:13:30,135 INFO L273 TraceCheckUtils]: 21: Hoare triple {1630#(<= ~N~0 3)} ~cond := #in~cond; {1630#(<= ~N~0 3)} is VALID [2018-11-23 12:13:30,135 INFO L273 TraceCheckUtils]: 22: Hoare triple {1630#(<= ~N~0 3)} assume !(0 == ~cond); {1630#(<= ~N~0 3)} is VALID [2018-11-23 12:13:30,136 INFO L273 TraceCheckUtils]: 23: Hoare triple {1630#(<= ~N~0 3)} assume true; {1630#(<= ~N~0 3)} is VALID [2018-11-23 12:13:30,136 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1630#(<= ~N~0 3)} {1694#(and (<= 1 main_~i~0) (<= ~N~0 3))} #58#return; {1694#(and (<= 1 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-23 12:13:30,137 INFO L273 TraceCheckUtils]: 25: Hoare triple {1694#(and (<= 1 main_~i~0) (<= ~N~0 3))} havoc #t~mem1;~i~0 := 1 + ~i~0; {1716#(and (<= 2 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-23 12:13:30,138 INFO L273 TraceCheckUtils]: 26: Hoare triple {1716#(and (<= 2 main_~i~0) (<= ~N~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1716#(and (<= 2 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-23 12:13:30,138 INFO L256 TraceCheckUtils]: 27: Hoare triple {1716#(and (<= 2 main_~i~0) (<= ~N~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1630#(<= ~N~0 3)} is VALID [2018-11-23 12:13:30,139 INFO L273 TraceCheckUtils]: 28: Hoare triple {1630#(<= ~N~0 3)} ~cond := #in~cond; {1630#(<= ~N~0 3)} is VALID [2018-11-23 12:13:30,140 INFO L273 TraceCheckUtils]: 29: Hoare triple {1630#(<= ~N~0 3)} assume !(0 == ~cond); {1630#(<= ~N~0 3)} is VALID [2018-11-23 12:13:30,140 INFO L273 TraceCheckUtils]: 30: Hoare triple {1630#(<= ~N~0 3)} assume true; {1630#(<= ~N~0 3)} is VALID [2018-11-23 12:13:30,141 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {1630#(<= ~N~0 3)} {1716#(and (<= 2 main_~i~0) (<= ~N~0 3))} #58#return; {1716#(and (<= 2 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-23 12:13:30,142 INFO L273 TraceCheckUtils]: 32: Hoare triple {1716#(and (<= 2 main_~i~0) (<= ~N~0 3))} havoc #t~mem1;~i~0 := 1 + ~i~0; {1738#(and (<= ~N~0 3) (<= 3 main_~i~0))} is VALID [2018-11-23 12:13:30,143 INFO L273 TraceCheckUtils]: 33: Hoare triple {1738#(and (<= ~N~0 3) (<= 3 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1625#false} is VALID [2018-11-23 12:13:30,143 INFO L256 TraceCheckUtils]: 34: Hoare triple {1625#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1625#false} is VALID [2018-11-23 12:13:30,144 INFO L273 TraceCheckUtils]: 35: Hoare triple {1625#false} ~cond := #in~cond; {1625#false} is VALID [2018-11-23 12:13:30,144 INFO L273 TraceCheckUtils]: 36: Hoare triple {1625#false} assume 0 == ~cond; {1625#false} is VALID [2018-11-23 12:13:30,144 INFO L273 TraceCheckUtils]: 37: Hoare triple {1625#false} assume !false; {1625#false} is VALID [2018-11-23 12:13:30,147 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 21 proven. 6 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:13:30,168 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:13:30,169 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 16 [2018-11-23 12:13:30,169 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 38 [2018-11-23 12:13:30,170 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:13:30,170 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 12:13:30,307 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:13:30,307 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 12:13:30,308 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 12:13:30,308 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=175, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:13:30,308 INFO L87 Difference]: Start difference. First operand 41 states and 42 transitions. Second operand 16 states. [2018-11-23 12:13:31,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:31,128 INFO L93 Difference]: Finished difference Result 78 states and 81 transitions. [2018-11-23 12:13:31,129 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 12:13:31,129 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 38 [2018-11-23 12:13:31,129 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:13:31,130 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:13:31,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 66 transitions. [2018-11-23 12:13:31,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:13:31,137 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 66 transitions. [2018-11-23 12:13:31,137 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 66 transitions. [2018-11-23 12:13:31,229 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:31,230 INFO L225 Difference]: With dead ends: 78 [2018-11-23 12:13:31,230 INFO L226 Difference]: Without dead ends: 46 [2018-11-23 12:13:31,232 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 34 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 78 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=103, Invalid=277, Unknown=0, NotChecked=0, Total=380 [2018-11-23 12:13:31,232 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2018-11-23 12:13:31,534 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 42. [2018-11-23 12:13:31,534 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:13:31,534 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 42 states. [2018-11-23 12:13:31,535 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 42 states. [2018-11-23 12:13:31,535 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 42 states. [2018-11-23 12:13:31,537 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:31,538 INFO L93 Difference]: Finished difference Result 46 states and 48 transitions. [2018-11-23 12:13:31,538 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 48 transitions. [2018-11-23 12:13:31,538 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:31,538 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:31,539 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 46 states. [2018-11-23 12:13:31,539 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 46 states. [2018-11-23 12:13:31,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:31,542 INFO L93 Difference]: Finished difference Result 46 states and 48 transitions. [2018-11-23 12:13:31,542 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 48 transitions. [2018-11-23 12:13:31,542 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:31,542 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:31,543 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:13:31,543 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:13:31,543 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-23 12:13:31,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 43 transitions. [2018-11-23 12:13:31,545 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 43 transitions. Word has length 38 [2018-11-23 12:13:31,545 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:13:31,545 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 43 transitions. [2018-11-23 12:13:31,546 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 12:13:31,546 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 43 transitions. [2018-11-23 12:13:31,547 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-23 12:13:31,547 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:13:31,547 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:13:31,547 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:13:31,548 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:13:31,548 INFO L82 PathProgramCache]: Analyzing trace with hash 942881177, now seen corresponding path program 6 times [2018-11-23 12:13:31,548 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:13:31,548 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:13:31,549 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:31,549 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:13:31,550 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:31,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:32,067 INFO L256 TraceCheckUtils]: 0: Hoare triple {2030#true} call ULTIMATE.init(); {2030#true} is VALID [2018-11-23 12:13:32,068 INFO L273 TraceCheckUtils]: 1: Hoare triple {2030#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {2030#true} is VALID [2018-11-23 12:13:32,068 INFO L273 TraceCheckUtils]: 2: Hoare triple {2030#true} assume true; {2030#true} is VALID [2018-11-23 12:13:32,068 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2030#true} {2030#true} #54#return; {2030#true} is VALID [2018-11-23 12:13:32,069 INFO L256 TraceCheckUtils]: 4: Hoare triple {2030#true} call #t~ret2 := main(); {2030#true} is VALID [2018-11-23 12:13:32,069 INFO L273 TraceCheckUtils]: 5: Hoare triple {2030#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {2030#true} is VALID [2018-11-23 12:13:32,071 INFO L273 TraceCheckUtils]: 6: Hoare triple {2030#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {2032#(= main_~k~0 0)} is VALID [2018-11-23 12:13:32,071 INFO L273 TraceCheckUtils]: 7: Hoare triple {2032#(= main_~k~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2033#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-23 12:13:32,072 INFO L273 TraceCheckUtils]: 8: Hoare triple {2033#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2034#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-23 12:13:32,073 INFO L273 TraceCheckUtils]: 9: Hoare triple {2034#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2035#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-23 12:13:32,074 INFO L273 TraceCheckUtils]: 10: Hoare triple {2035#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2036#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3)} is VALID [2018-11-23 12:13:32,086 INFO L273 TraceCheckUtils]: 11: Hoare triple {2036#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3)} assume !(~i~0 < ~N~0); {2036#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3)} is VALID [2018-11-23 12:13:32,086 INFO L273 TraceCheckUtils]: 12: Hoare triple {2036#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3)} ~i~0 := 0; {2037#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} is VALID [2018-11-23 12:13:32,087 INFO L273 TraceCheckUtils]: 13: Hoare triple {2037#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2037#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} is VALID [2018-11-23 12:13:32,087 INFO L256 TraceCheckUtils]: 14: Hoare triple {2037#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2030#true} is VALID [2018-11-23 12:13:32,088 INFO L273 TraceCheckUtils]: 15: Hoare triple {2030#true} ~cond := #in~cond; {2038#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:13:32,088 INFO L273 TraceCheckUtils]: 16: Hoare triple {2038#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {2039#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:13:32,088 INFO L273 TraceCheckUtils]: 17: Hoare triple {2039#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2039#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:13:32,089 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {2039#(not (= |__VERIFIER_assert_#in~cond| 0))} {2037#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} #58#return; {2037#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} is VALID [2018-11-23 12:13:32,090 INFO L273 TraceCheckUtils]: 19: Hoare triple {2037#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {2040#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:13:32,091 INFO L273 TraceCheckUtils]: 20: Hoare triple {2040#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2040#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:13:32,091 INFO L256 TraceCheckUtils]: 21: Hoare triple {2040#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2030#true} is VALID [2018-11-23 12:13:32,092 INFO L273 TraceCheckUtils]: 22: Hoare triple {2030#true} ~cond := #in~cond; {2030#true} is VALID [2018-11-23 12:13:32,092 INFO L273 TraceCheckUtils]: 23: Hoare triple {2030#true} assume !(0 == ~cond); {2030#true} is VALID [2018-11-23 12:13:32,092 INFO L273 TraceCheckUtils]: 24: Hoare triple {2030#true} assume true; {2030#true} is VALID [2018-11-23 12:13:32,093 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {2030#true} {2040#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} #58#return; {2040#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:13:32,095 INFO L273 TraceCheckUtils]: 26: Hoare triple {2040#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} havoc #t~mem1;~i~0 := 1 + ~i~0; {2041#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:13:32,095 INFO L273 TraceCheckUtils]: 27: Hoare triple {2041#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2041#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:13:32,096 INFO L256 TraceCheckUtils]: 28: Hoare triple {2041#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2030#true} is VALID [2018-11-23 12:13:32,096 INFO L273 TraceCheckUtils]: 29: Hoare triple {2030#true} ~cond := #in~cond; {2030#true} is VALID [2018-11-23 12:13:32,096 INFO L273 TraceCheckUtils]: 30: Hoare triple {2030#true} assume !(0 == ~cond); {2030#true} is VALID [2018-11-23 12:13:32,097 INFO L273 TraceCheckUtils]: 31: Hoare triple {2030#true} assume true; {2030#true} is VALID [2018-11-23 12:13:32,099 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {2030#true} {2041#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} #58#return; {2041#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:13:32,100 INFO L273 TraceCheckUtils]: 33: Hoare triple {2041#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} havoc #t~mem1;~i~0 := 1 + ~i~0; {2042#(= 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:13:32,101 INFO L273 TraceCheckUtils]: 34: Hoare triple {2042#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2043#(= main_~i~0 |main_#t~mem1|)} is VALID [2018-11-23 12:13:32,102 INFO L256 TraceCheckUtils]: 35: Hoare triple {2043#(= main_~i~0 |main_#t~mem1|)} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2039#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:13:32,104 INFO L273 TraceCheckUtils]: 36: Hoare triple {2039#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {2044#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:13:32,104 INFO L273 TraceCheckUtils]: 37: Hoare triple {2044#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {2031#false} is VALID [2018-11-23 12:13:32,105 INFO L273 TraceCheckUtils]: 38: Hoare triple {2031#false} assume !false; {2031#false} is VALID [2018-11-23 12:13:32,109 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 5 proven. 32 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2018-11-23 12:13:32,110 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:13:32,110 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:13:32,121 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:13:32,148 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2018-11-23 12:13:32,148 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:13:32,170 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:32,172 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:13:32,340 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 12:13:32,345 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 12:13:32,353 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:13:32,355 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:32,361 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:32,362 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 12:13:32,962 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 12:13:32,968 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:13:32,969 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-23 12:13:32,971 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:13:32,975 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:32,980 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:32,980 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-23 12:13:32,983 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:13:32,983 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= main_~i~0 3) (= (select .cse0 12) 3) (= |main_#t~mem1| (select .cse0 (* 4 main_~i~0))))) [2018-11-23 12:13:32,983 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 3) (= 3 |main_#t~mem1|)) [2018-11-23 12:13:33,091 INFO L256 TraceCheckUtils]: 0: Hoare triple {2030#true} call ULTIMATE.init(); {2030#true} is VALID [2018-11-23 12:13:33,091 INFO L273 TraceCheckUtils]: 1: Hoare triple {2030#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {2030#true} is VALID [2018-11-23 12:13:33,092 INFO L273 TraceCheckUtils]: 2: Hoare triple {2030#true} assume true; {2030#true} is VALID [2018-11-23 12:13:33,092 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2030#true} {2030#true} #54#return; {2030#true} is VALID [2018-11-23 12:13:33,092 INFO L256 TraceCheckUtils]: 4: Hoare triple {2030#true} call #t~ret2 := main(); {2030#true} is VALID [2018-11-23 12:13:33,092 INFO L273 TraceCheckUtils]: 5: Hoare triple {2030#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {2030#true} is VALID [2018-11-23 12:13:33,093 INFO L273 TraceCheckUtils]: 6: Hoare triple {2030#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {2066#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:33,094 INFO L273 TraceCheckUtils]: 7: Hoare triple {2066#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2070#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:33,095 INFO L273 TraceCheckUtils]: 8: Hoare triple {2070#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2074#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:33,095 INFO L273 TraceCheckUtils]: 9: Hoare triple {2074#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2078#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:33,096 INFO L273 TraceCheckUtils]: 10: Hoare triple {2078#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2082#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:33,097 INFO L273 TraceCheckUtils]: 11: Hoare triple {2082#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~N~0); {2082#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:33,097 INFO L273 TraceCheckUtils]: 12: Hoare triple {2082#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {2089#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:33,098 INFO L273 TraceCheckUtils]: 13: Hoare triple {2089#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2089#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:33,099 INFO L256 TraceCheckUtils]: 14: Hoare triple {2089#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2096#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12)))} is VALID [2018-11-23 12:13:33,100 INFO L273 TraceCheckUtils]: 15: Hoare triple {2096#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12)))} ~cond := #in~cond; {2096#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12)))} is VALID [2018-11-23 12:13:33,101 INFO L273 TraceCheckUtils]: 16: Hoare triple {2096#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12)))} assume !(0 == ~cond); {2096#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12)))} is VALID [2018-11-23 12:13:33,101 INFO L273 TraceCheckUtils]: 17: Hoare triple {2096#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12)))} assume true; {2096#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12)))} is VALID [2018-11-23 12:13:33,102 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {2096#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12)))} {2089#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #58#return; {2089#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:33,103 INFO L273 TraceCheckUtils]: 19: Hoare triple {2089#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {2112#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:33,104 INFO L273 TraceCheckUtils]: 20: Hoare triple {2112#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2112#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:33,106 INFO L256 TraceCheckUtils]: 21: Hoare triple {2112#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2096#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12)))} is VALID [2018-11-23 12:13:33,107 INFO L273 TraceCheckUtils]: 22: Hoare triple {2096#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12)))} ~cond := #in~cond; {2122#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:13:33,108 INFO L273 TraceCheckUtils]: 23: Hoare triple {2122#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {2126#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12))))} is VALID [2018-11-23 12:13:33,108 INFO L273 TraceCheckUtils]: 24: Hoare triple {2126#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12))))} assume true; {2126#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12))))} is VALID [2018-11-23 12:13:33,109 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {2126#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12))))} {2112#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #58#return; {2112#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:33,111 INFO L273 TraceCheckUtils]: 26: Hoare triple {2112#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {2136#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:33,111 INFO L273 TraceCheckUtils]: 27: Hoare triple {2136#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2136#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:33,113 INFO L256 TraceCheckUtils]: 28: Hoare triple {2136#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2096#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12)))} is VALID [2018-11-23 12:13:33,114 INFO L273 TraceCheckUtils]: 29: Hoare triple {2096#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12)))} ~cond := #in~cond; {2096#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12)))} is VALID [2018-11-23 12:13:33,114 INFO L273 TraceCheckUtils]: 30: Hoare triple {2096#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12)))} assume !(0 == ~cond); {2096#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12)))} is VALID [2018-11-23 12:13:33,115 INFO L273 TraceCheckUtils]: 31: Hoare triple {2096#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12)))} assume true; {2096#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12)))} is VALID [2018-11-23 12:13:33,116 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {2096#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 12)))} {2136#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} #58#return; {2136#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:33,117 INFO L273 TraceCheckUtils]: 33: Hoare triple {2136#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {2158#(and (= main_~i~0 3) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:33,118 INFO L273 TraceCheckUtils]: 34: Hoare triple {2158#(and (= main_~i~0 3) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2162#(and (= main_~i~0 3) (= 3 |main_#t~mem1|))} is VALID [2018-11-23 12:13:33,119 INFO L256 TraceCheckUtils]: 35: Hoare triple {2162#(and (= main_~i~0 3) (= 3 |main_#t~mem1|))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2166#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:13:33,120 INFO L273 TraceCheckUtils]: 36: Hoare triple {2166#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {2170#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:13:33,121 INFO L273 TraceCheckUtils]: 37: Hoare triple {2170#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2031#false} is VALID [2018-11-23 12:13:33,121 INFO L273 TraceCheckUtils]: 38: Hoare triple {2031#false} assume !false; {2031#false} is VALID [2018-11-23 12:13:33,126 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 3 proven. 34 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2018-11-23 12:13:33,146 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:13:33,146 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 17] total 30 [2018-11-23 12:13:33,147 INFO L78 Accepts]: Start accepts. Automaton has 30 states. Word has length 39 [2018-11-23 12:13:33,147 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:13:33,147 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 30 states. [2018-11-23 12:13:33,263 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:13:33,263 INFO L459 AbstractCegarLoop]: Interpolant automaton has 30 states [2018-11-23 12:13:33,264 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2018-11-23 12:13:33,264 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=87, Invalid=783, Unknown=0, NotChecked=0, Total=870 [2018-11-23 12:13:33,264 INFO L87 Difference]: Start difference. First operand 42 states and 43 transitions. Second operand 30 states. [2018-11-23 12:13:35,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:35,953 INFO L93 Difference]: Finished difference Result 52 states and 53 transitions. [2018-11-23 12:13:35,953 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2018-11-23 12:13:35,954 INFO L78 Accepts]: Start accepts. Automaton has 30 states. Word has length 39 [2018-11-23 12:13:35,954 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:13:35,955 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-23 12:13:35,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 44 transitions. [2018-11-23 12:13:35,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-23 12:13:35,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 44 transitions. [2018-11-23 12:13:35,959 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 44 transitions. [2018-11-23 12:13:36,032 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:13:36,034 INFO L225 Difference]: With dead ends: 52 [2018-11-23 12:13:36,034 INFO L226 Difference]: Without dead ends: 50 [2018-11-23 12:13:36,036 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 63 GetRequests, 21 SyntacticMatches, 6 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 290 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=156, Invalid=1250, Unknown=0, NotChecked=0, Total=1406 [2018-11-23 12:13:36,036 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2018-11-23 12:13:36,226 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2018-11-23 12:13:36,227 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:13:36,227 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand 49 states. [2018-11-23 12:13:36,227 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 49 states. [2018-11-23 12:13:36,227 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 49 states. [2018-11-23 12:13:36,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:36,230 INFO L93 Difference]: Finished difference Result 50 states and 51 transitions. [2018-11-23 12:13:36,230 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 51 transitions. [2018-11-23 12:13:36,230 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:36,231 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:36,231 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 50 states. [2018-11-23 12:13:36,231 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 50 states. [2018-11-23 12:13:36,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:36,233 INFO L93 Difference]: Finished difference Result 50 states and 51 transitions. [2018-11-23 12:13:36,233 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 51 transitions. [2018-11-23 12:13:36,233 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:36,233 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:36,233 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:13:36,234 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:13:36,234 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 12:13:36,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 50 transitions. [2018-11-23 12:13:36,235 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 50 transitions. Word has length 39 [2018-11-23 12:13:36,236 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:13:36,236 INFO L480 AbstractCegarLoop]: Abstraction has 49 states and 50 transitions. [2018-11-23 12:13:36,236 INFO L481 AbstractCegarLoop]: Interpolant automaton has 30 states. [2018-11-23 12:13:36,236 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 50 transitions. [2018-11-23 12:13:36,237 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2018-11-23 12:13:36,237 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:13:36,237 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:13:36,238 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:13:36,238 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:13:36,238 INFO L82 PathProgramCache]: Analyzing trace with hash 306205138, now seen corresponding path program 7 times [2018-11-23 12:13:36,238 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:13:36,238 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:13:36,239 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:36,239 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:13:36,239 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:36,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:36,421 INFO L256 TraceCheckUtils]: 0: Hoare triple {2441#true} call ULTIMATE.init(); {2441#true} is VALID [2018-11-23 12:13:36,422 INFO L273 TraceCheckUtils]: 1: Hoare triple {2441#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {2441#true} is VALID [2018-11-23 12:13:36,422 INFO L273 TraceCheckUtils]: 2: Hoare triple {2441#true} assume true; {2441#true} is VALID [2018-11-23 12:13:36,422 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2441#true} {2441#true} #54#return; {2441#true} is VALID [2018-11-23 12:13:36,422 INFO L256 TraceCheckUtils]: 4: Hoare triple {2441#true} call #t~ret2 := main(); {2441#true} is VALID [2018-11-23 12:13:36,423 INFO L273 TraceCheckUtils]: 5: Hoare triple {2441#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {2441#true} is VALID [2018-11-23 12:13:36,423 INFO L273 TraceCheckUtils]: 6: Hoare triple {2441#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {2443#(= main_~i~0 0)} is VALID [2018-11-23 12:13:36,425 INFO L273 TraceCheckUtils]: 7: Hoare triple {2443#(= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2444#(<= main_~i~0 1)} is VALID [2018-11-23 12:13:36,425 INFO L273 TraceCheckUtils]: 8: Hoare triple {2444#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2445#(<= main_~i~0 2)} is VALID [2018-11-23 12:13:36,426 INFO L273 TraceCheckUtils]: 9: Hoare triple {2445#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2446#(<= main_~i~0 3)} is VALID [2018-11-23 12:13:36,427 INFO L273 TraceCheckUtils]: 10: Hoare triple {2446#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2447#(<= main_~i~0 4)} is VALID [2018-11-23 12:13:36,428 INFO L273 TraceCheckUtils]: 11: Hoare triple {2447#(<= main_~i~0 4)} assume !(~i~0 < ~N~0); {2448#(<= ~N~0 4)} is VALID [2018-11-23 12:13:36,428 INFO L273 TraceCheckUtils]: 12: Hoare triple {2448#(<= ~N~0 4)} ~i~0 := 0; {2449#(and (<= ~N~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:13:36,429 INFO L273 TraceCheckUtils]: 13: Hoare triple {2449#(and (<= ~N~0 4) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2449#(and (<= ~N~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:13:36,430 INFO L256 TraceCheckUtils]: 14: Hoare triple {2449#(and (<= ~N~0 4) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2441#true} is VALID [2018-11-23 12:13:36,430 INFO L273 TraceCheckUtils]: 15: Hoare triple {2441#true} ~cond := #in~cond; {2441#true} is VALID [2018-11-23 12:13:36,430 INFO L273 TraceCheckUtils]: 16: Hoare triple {2441#true} assume !(0 == ~cond); {2441#true} is VALID [2018-11-23 12:13:36,430 INFO L273 TraceCheckUtils]: 17: Hoare triple {2441#true} assume true; {2441#true} is VALID [2018-11-23 12:13:36,431 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {2441#true} {2449#(and (<= ~N~0 4) (= main_~i~0 0))} #58#return; {2449#(and (<= ~N~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:13:36,432 INFO L273 TraceCheckUtils]: 19: Hoare triple {2449#(and (<= ~N~0 4) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {2450#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:13:36,432 INFO L273 TraceCheckUtils]: 20: Hoare triple {2450#(<= ~N~0 (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2450#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:13:36,433 INFO L256 TraceCheckUtils]: 21: Hoare triple {2450#(<= ~N~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2441#true} is VALID [2018-11-23 12:13:36,433 INFO L273 TraceCheckUtils]: 22: Hoare triple {2441#true} ~cond := #in~cond; {2441#true} is VALID [2018-11-23 12:13:36,433 INFO L273 TraceCheckUtils]: 23: Hoare triple {2441#true} assume !(0 == ~cond); {2441#true} is VALID [2018-11-23 12:13:36,433 INFO L273 TraceCheckUtils]: 24: Hoare triple {2441#true} assume true; {2441#true} is VALID [2018-11-23 12:13:36,434 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {2441#true} {2450#(<= ~N~0 (+ main_~i~0 3))} #58#return; {2450#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:13:36,434 INFO L273 TraceCheckUtils]: 26: Hoare triple {2450#(<= ~N~0 (+ main_~i~0 3))} havoc #t~mem1;~i~0 := 1 + ~i~0; {2451#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:13:36,435 INFO L273 TraceCheckUtils]: 27: Hoare triple {2451#(<= ~N~0 (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2451#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:13:36,435 INFO L256 TraceCheckUtils]: 28: Hoare triple {2451#(<= ~N~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2441#true} is VALID [2018-11-23 12:13:36,435 INFO L273 TraceCheckUtils]: 29: Hoare triple {2441#true} ~cond := #in~cond; {2441#true} is VALID [2018-11-23 12:13:36,435 INFO L273 TraceCheckUtils]: 30: Hoare triple {2441#true} assume !(0 == ~cond); {2441#true} is VALID [2018-11-23 12:13:36,436 INFO L273 TraceCheckUtils]: 31: Hoare triple {2441#true} assume true; {2441#true} is VALID [2018-11-23 12:13:36,437 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {2441#true} {2451#(<= ~N~0 (+ main_~i~0 2))} #58#return; {2451#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:13:36,437 INFO L273 TraceCheckUtils]: 33: Hoare triple {2451#(<= ~N~0 (+ main_~i~0 2))} havoc #t~mem1;~i~0 := 1 + ~i~0; {2452#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:13:36,438 INFO L273 TraceCheckUtils]: 34: Hoare triple {2452#(<= ~N~0 (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2452#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:13:36,438 INFO L256 TraceCheckUtils]: 35: Hoare triple {2452#(<= ~N~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2441#true} is VALID [2018-11-23 12:13:36,438 INFO L273 TraceCheckUtils]: 36: Hoare triple {2441#true} ~cond := #in~cond; {2441#true} is VALID [2018-11-23 12:13:36,438 INFO L273 TraceCheckUtils]: 37: Hoare triple {2441#true} assume !(0 == ~cond); {2441#true} is VALID [2018-11-23 12:13:36,438 INFO L273 TraceCheckUtils]: 38: Hoare triple {2441#true} assume true; {2441#true} is VALID [2018-11-23 12:13:36,439 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {2441#true} {2452#(<= ~N~0 (+ main_~i~0 1))} #58#return; {2452#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:13:36,439 INFO L273 TraceCheckUtils]: 40: Hoare triple {2452#(<= ~N~0 (+ main_~i~0 1))} havoc #t~mem1;~i~0 := 1 + ~i~0; {2453#(<= ~N~0 main_~i~0)} is VALID [2018-11-23 12:13:36,440 INFO L273 TraceCheckUtils]: 41: Hoare triple {2453#(<= ~N~0 main_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2442#false} is VALID [2018-11-23 12:13:36,440 INFO L256 TraceCheckUtils]: 42: Hoare triple {2442#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2442#false} is VALID [2018-11-23 12:13:36,440 INFO L273 TraceCheckUtils]: 43: Hoare triple {2442#false} ~cond := #in~cond; {2442#false} is VALID [2018-11-23 12:13:36,440 INFO L273 TraceCheckUtils]: 44: Hoare triple {2442#false} assume 0 == ~cond; {2442#false} is VALID [2018-11-23 12:13:36,441 INFO L273 TraceCheckUtils]: 45: Hoare triple {2442#false} assume !false; {2442#false} is VALID [2018-11-23 12:13:36,443 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 24 proven. 20 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:13:36,443 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:13:36,443 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:13:36,457 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:13:36,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:36,493 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:36,494 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:13:36,770 INFO L256 TraceCheckUtils]: 0: Hoare triple {2441#true} call ULTIMATE.init(); {2441#true} is VALID [2018-11-23 12:13:36,770 INFO L273 TraceCheckUtils]: 1: Hoare triple {2441#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {2441#true} is VALID [2018-11-23 12:13:36,771 INFO L273 TraceCheckUtils]: 2: Hoare triple {2441#true} assume true; {2441#true} is VALID [2018-11-23 12:13:36,771 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2441#true} {2441#true} #54#return; {2441#true} is VALID [2018-11-23 12:13:36,771 INFO L256 TraceCheckUtils]: 4: Hoare triple {2441#true} call #t~ret2 := main(); {2441#true} is VALID [2018-11-23 12:13:36,771 INFO L273 TraceCheckUtils]: 5: Hoare triple {2441#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {2441#true} is VALID [2018-11-23 12:13:36,772 INFO L273 TraceCheckUtils]: 6: Hoare triple {2441#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {2475#(<= main_~i~0 0)} is VALID [2018-11-23 12:13:36,773 INFO L273 TraceCheckUtils]: 7: Hoare triple {2475#(<= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2444#(<= main_~i~0 1)} is VALID [2018-11-23 12:13:36,773 INFO L273 TraceCheckUtils]: 8: Hoare triple {2444#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2445#(<= main_~i~0 2)} is VALID [2018-11-23 12:13:36,774 INFO L273 TraceCheckUtils]: 9: Hoare triple {2445#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2446#(<= main_~i~0 3)} is VALID [2018-11-23 12:13:36,775 INFO L273 TraceCheckUtils]: 10: Hoare triple {2446#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2447#(<= main_~i~0 4)} is VALID [2018-11-23 12:13:36,776 INFO L273 TraceCheckUtils]: 11: Hoare triple {2447#(<= main_~i~0 4)} assume !(~i~0 < ~N~0); {2448#(<= ~N~0 4)} is VALID [2018-11-23 12:13:36,776 INFO L273 TraceCheckUtils]: 12: Hoare triple {2448#(<= ~N~0 4)} ~i~0 := 0; {2494#(and (<= 0 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-23 12:13:36,777 INFO L273 TraceCheckUtils]: 13: Hoare triple {2494#(and (<= 0 main_~i~0) (<= ~N~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2494#(and (<= 0 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-23 12:13:36,778 INFO L256 TraceCheckUtils]: 14: Hoare triple {2494#(and (<= 0 main_~i~0) (<= ~N~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2448#(<= ~N~0 4)} is VALID [2018-11-23 12:13:36,779 INFO L273 TraceCheckUtils]: 15: Hoare triple {2448#(<= ~N~0 4)} ~cond := #in~cond; {2448#(<= ~N~0 4)} is VALID [2018-11-23 12:13:36,780 INFO L273 TraceCheckUtils]: 16: Hoare triple {2448#(<= ~N~0 4)} assume !(0 == ~cond); {2448#(<= ~N~0 4)} is VALID [2018-11-23 12:13:36,780 INFO L273 TraceCheckUtils]: 17: Hoare triple {2448#(<= ~N~0 4)} assume true; {2448#(<= ~N~0 4)} is VALID [2018-11-23 12:13:36,781 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {2448#(<= ~N~0 4)} {2494#(and (<= 0 main_~i~0) (<= ~N~0 4))} #58#return; {2494#(and (<= 0 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-23 12:13:36,782 INFO L273 TraceCheckUtils]: 19: Hoare triple {2494#(and (<= 0 main_~i~0) (<= ~N~0 4))} havoc #t~mem1;~i~0 := 1 + ~i~0; {2516#(and (<= 1 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-23 12:13:36,783 INFO L273 TraceCheckUtils]: 20: Hoare triple {2516#(and (<= 1 main_~i~0) (<= ~N~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2516#(and (<= 1 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-23 12:13:36,784 INFO L256 TraceCheckUtils]: 21: Hoare triple {2516#(and (<= 1 main_~i~0) (<= ~N~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2448#(<= ~N~0 4)} is VALID [2018-11-23 12:13:36,785 INFO L273 TraceCheckUtils]: 22: Hoare triple {2448#(<= ~N~0 4)} ~cond := #in~cond; {2448#(<= ~N~0 4)} is VALID [2018-11-23 12:13:36,785 INFO L273 TraceCheckUtils]: 23: Hoare triple {2448#(<= ~N~0 4)} assume !(0 == ~cond); {2448#(<= ~N~0 4)} is VALID [2018-11-23 12:13:36,786 INFO L273 TraceCheckUtils]: 24: Hoare triple {2448#(<= ~N~0 4)} assume true; {2448#(<= ~N~0 4)} is VALID [2018-11-23 12:13:36,787 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {2448#(<= ~N~0 4)} {2516#(and (<= 1 main_~i~0) (<= ~N~0 4))} #58#return; {2516#(and (<= 1 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-23 12:13:36,788 INFO L273 TraceCheckUtils]: 26: Hoare triple {2516#(and (<= 1 main_~i~0) (<= ~N~0 4))} havoc #t~mem1;~i~0 := 1 + ~i~0; {2538#(and (<= 2 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-23 12:13:36,789 INFO L273 TraceCheckUtils]: 27: Hoare triple {2538#(and (<= 2 main_~i~0) (<= ~N~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2538#(and (<= 2 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-23 12:13:36,790 INFO L256 TraceCheckUtils]: 28: Hoare triple {2538#(and (<= 2 main_~i~0) (<= ~N~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2448#(<= ~N~0 4)} is VALID [2018-11-23 12:13:36,790 INFO L273 TraceCheckUtils]: 29: Hoare triple {2448#(<= ~N~0 4)} ~cond := #in~cond; {2448#(<= ~N~0 4)} is VALID [2018-11-23 12:13:36,791 INFO L273 TraceCheckUtils]: 30: Hoare triple {2448#(<= ~N~0 4)} assume !(0 == ~cond); {2448#(<= ~N~0 4)} is VALID [2018-11-23 12:13:36,791 INFO L273 TraceCheckUtils]: 31: Hoare triple {2448#(<= ~N~0 4)} assume true; {2448#(<= ~N~0 4)} is VALID [2018-11-23 12:13:36,792 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {2448#(<= ~N~0 4)} {2538#(and (<= 2 main_~i~0) (<= ~N~0 4))} #58#return; {2538#(and (<= 2 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-23 12:13:36,793 INFO L273 TraceCheckUtils]: 33: Hoare triple {2538#(and (<= 2 main_~i~0) (<= ~N~0 4))} havoc #t~mem1;~i~0 := 1 + ~i~0; {2560#(and (<= ~N~0 4) (<= 3 main_~i~0))} is VALID [2018-11-23 12:13:36,794 INFO L273 TraceCheckUtils]: 34: Hoare triple {2560#(and (<= ~N~0 4) (<= 3 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2560#(and (<= ~N~0 4) (<= 3 main_~i~0))} is VALID [2018-11-23 12:13:36,796 INFO L256 TraceCheckUtils]: 35: Hoare triple {2560#(and (<= ~N~0 4) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2448#(<= ~N~0 4)} is VALID [2018-11-23 12:13:36,796 INFO L273 TraceCheckUtils]: 36: Hoare triple {2448#(<= ~N~0 4)} ~cond := #in~cond; {2448#(<= ~N~0 4)} is VALID [2018-11-23 12:13:36,797 INFO L273 TraceCheckUtils]: 37: Hoare triple {2448#(<= ~N~0 4)} assume !(0 == ~cond); {2448#(<= ~N~0 4)} is VALID [2018-11-23 12:13:36,797 INFO L273 TraceCheckUtils]: 38: Hoare triple {2448#(<= ~N~0 4)} assume true; {2448#(<= ~N~0 4)} is VALID [2018-11-23 12:13:36,798 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {2448#(<= ~N~0 4)} {2560#(and (<= ~N~0 4) (<= 3 main_~i~0))} #58#return; {2560#(and (<= ~N~0 4) (<= 3 main_~i~0))} is VALID [2018-11-23 12:13:36,799 INFO L273 TraceCheckUtils]: 40: Hoare triple {2560#(and (<= ~N~0 4) (<= 3 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {2582#(and (<= 4 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-23 12:13:36,800 INFO L273 TraceCheckUtils]: 41: Hoare triple {2582#(and (<= 4 main_~i~0) (<= ~N~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2442#false} is VALID [2018-11-23 12:13:36,801 INFO L256 TraceCheckUtils]: 42: Hoare triple {2442#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2442#false} is VALID [2018-11-23 12:13:36,801 INFO L273 TraceCheckUtils]: 43: Hoare triple {2442#false} ~cond := #in~cond; {2442#false} is VALID [2018-11-23 12:13:36,801 INFO L273 TraceCheckUtils]: 44: Hoare triple {2442#false} assume 0 == ~cond; {2442#false} is VALID [2018-11-23 12:13:36,802 INFO L273 TraceCheckUtils]: 45: Hoare triple {2442#false} assume !false; {2442#false} is VALID [2018-11-23 12:13:36,805 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 34 proven. 10 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:13:36,829 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:13:36,829 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 19 [2018-11-23 12:13:36,830 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 46 [2018-11-23 12:13:36,830 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:13:36,830 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-23 12:13:36,887 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:36,887 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-23 12:13:36,888 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-23 12:13:36,888 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=253, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:13:36,888 INFO L87 Difference]: Start difference. First operand 49 states and 50 transitions. Second operand 19 states. [2018-11-23 12:13:38,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:38,112 INFO L93 Difference]: Finished difference Result 93 states and 96 transitions. [2018-11-23 12:13:38,112 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 12:13:38,112 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 46 [2018-11-23 12:13:38,113 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:13:38,113 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:13:38,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 75 transitions. [2018-11-23 12:13:38,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:13:38,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 75 transitions. [2018-11-23 12:13:38,117 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 75 transitions. [2018-11-23 12:13:38,191 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:38,193 INFO L225 Difference]: With dead ends: 93 [2018-11-23 12:13:38,193 INFO L226 Difference]: Without dead ends: 54 [2018-11-23 12:13:38,194 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 63 GetRequests, 41 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 119 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=144, Invalid=408, Unknown=0, NotChecked=0, Total=552 [2018-11-23 12:13:38,195 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2018-11-23 12:13:38,336 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 50. [2018-11-23 12:13:38,337 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:13:38,337 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand 50 states. [2018-11-23 12:13:38,337 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 50 states. [2018-11-23 12:13:38,337 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 50 states. [2018-11-23 12:13:38,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:38,339 INFO L93 Difference]: Finished difference Result 54 states and 56 transitions. [2018-11-23 12:13:38,339 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 56 transitions. [2018-11-23 12:13:38,339 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:38,340 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:38,340 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 54 states. [2018-11-23 12:13:38,340 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 54 states. [2018-11-23 12:13:38,341 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:38,341 INFO L93 Difference]: Finished difference Result 54 states and 56 transitions. [2018-11-23 12:13:38,341 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 56 transitions. [2018-11-23 12:13:38,342 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:38,342 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:38,342 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:13:38,342 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:13:38,342 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2018-11-23 12:13:38,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 51 transitions. [2018-11-23 12:13:38,343 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 51 transitions. Word has length 46 [2018-11-23 12:13:38,344 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:13:38,344 INFO L480 AbstractCegarLoop]: Abstraction has 50 states and 51 transitions. [2018-11-23 12:13:38,344 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-23 12:13:38,344 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 51 transitions. [2018-11-23 12:13:38,345 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2018-11-23 12:13:38,345 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:13:38,345 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:13:38,345 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:13:38,345 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:13:38,346 INFO L82 PathProgramCache]: Analyzing trace with hash -501743181, now seen corresponding path program 8 times [2018-11-23 12:13:38,346 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:13:38,346 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:13:38,347 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:38,347 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:13:38,347 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:38,365 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:39,060 INFO L256 TraceCheckUtils]: 0: Hoare triple {2926#true} call ULTIMATE.init(); {2926#true} is VALID [2018-11-23 12:13:39,061 INFO L273 TraceCheckUtils]: 1: Hoare triple {2926#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {2926#true} is VALID [2018-11-23 12:13:39,061 INFO L273 TraceCheckUtils]: 2: Hoare triple {2926#true} assume true; {2926#true} is VALID [2018-11-23 12:13:39,062 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2926#true} {2926#true} #54#return; {2926#true} is VALID [2018-11-23 12:13:39,062 INFO L256 TraceCheckUtils]: 4: Hoare triple {2926#true} call #t~ret2 := main(); {2926#true} is VALID [2018-11-23 12:13:39,062 INFO L273 TraceCheckUtils]: 5: Hoare triple {2926#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {2926#true} is VALID [2018-11-23 12:13:39,063 INFO L273 TraceCheckUtils]: 6: Hoare triple {2926#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {2928#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:39,064 INFO L273 TraceCheckUtils]: 7: Hoare triple {2928#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2929#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} is VALID [2018-11-23 12:13:39,064 INFO L273 TraceCheckUtils]: 8: Hoare triple {2929#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2930#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:39,065 INFO L273 TraceCheckUtils]: 9: Hoare triple {2930#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2931#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:39,066 INFO L273 TraceCheckUtils]: 10: Hoare triple {2931#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2932#(and (<= main_~k~0 4) (<= 4 main_~k~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:39,068 INFO L273 TraceCheckUtils]: 11: Hoare triple {2932#(and (<= main_~k~0 4) (<= 4 main_~k~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2933#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:39,069 INFO L273 TraceCheckUtils]: 12: Hoare triple {2933#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~N~0); {2933#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:39,070 INFO L273 TraceCheckUtils]: 13: Hoare triple {2933#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {2934#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:39,071 INFO L273 TraceCheckUtils]: 14: Hoare triple {2934#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2934#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:39,071 INFO L256 TraceCheckUtils]: 15: Hoare triple {2934#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2926#true} is VALID [2018-11-23 12:13:39,072 INFO L273 TraceCheckUtils]: 16: Hoare triple {2926#true} ~cond := #in~cond; {2935#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:13:39,073 INFO L273 TraceCheckUtils]: 17: Hoare triple {2935#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {2936#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:13:39,073 INFO L273 TraceCheckUtils]: 18: Hoare triple {2936#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2936#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:13:39,075 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {2936#(not (= |__VERIFIER_assert_#in~cond| 0))} {2934#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #58#return; {2934#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:39,077 INFO L273 TraceCheckUtils]: 20: Hoare triple {2934#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {2937#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:39,078 INFO L273 TraceCheckUtils]: 21: Hoare triple {2937#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2937#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:39,078 INFO L256 TraceCheckUtils]: 22: Hoare triple {2937#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2926#true} is VALID [2018-11-23 12:13:39,079 INFO L273 TraceCheckUtils]: 23: Hoare triple {2926#true} ~cond := #in~cond; {2926#true} is VALID [2018-11-23 12:13:39,079 INFO L273 TraceCheckUtils]: 24: Hoare triple {2926#true} assume !(0 == ~cond); {2926#true} is VALID [2018-11-23 12:13:39,079 INFO L273 TraceCheckUtils]: 25: Hoare triple {2926#true} assume true; {2926#true} is VALID [2018-11-23 12:13:39,081 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {2926#true} {2937#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} #58#return; {2937#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:39,082 INFO L273 TraceCheckUtils]: 27: Hoare triple {2937#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {2938#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:39,083 INFO L273 TraceCheckUtils]: 28: Hoare triple {2938#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2938#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:39,084 INFO L256 TraceCheckUtils]: 29: Hoare triple {2938#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2926#true} is VALID [2018-11-23 12:13:39,084 INFO L273 TraceCheckUtils]: 30: Hoare triple {2926#true} ~cond := #in~cond; {2926#true} is VALID [2018-11-23 12:13:39,084 INFO L273 TraceCheckUtils]: 31: Hoare triple {2926#true} assume !(0 == ~cond); {2926#true} is VALID [2018-11-23 12:13:39,085 INFO L273 TraceCheckUtils]: 32: Hoare triple {2926#true} assume true; {2926#true} is VALID [2018-11-23 12:13:39,086 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {2926#true} {2938#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} #58#return; {2938#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:39,087 INFO L273 TraceCheckUtils]: 34: Hoare triple {2938#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {2939#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:39,088 INFO L273 TraceCheckUtils]: 35: Hoare triple {2939#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2939#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:39,088 INFO L256 TraceCheckUtils]: 36: Hoare triple {2939#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2926#true} is VALID [2018-11-23 12:13:39,089 INFO L273 TraceCheckUtils]: 37: Hoare triple {2926#true} ~cond := #in~cond; {2926#true} is VALID [2018-11-23 12:13:39,089 INFO L273 TraceCheckUtils]: 38: Hoare triple {2926#true} assume !(0 == ~cond); {2926#true} is VALID [2018-11-23 12:13:39,089 INFO L273 TraceCheckUtils]: 39: Hoare triple {2926#true} assume true; {2926#true} is VALID [2018-11-23 12:13:39,091 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {2926#true} {2939#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} #58#return; {2939#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:39,092 INFO L273 TraceCheckUtils]: 41: Hoare triple {2939#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {2940#(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:13:39,093 INFO L273 TraceCheckUtils]: 42: Hoare triple {2940#(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 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2941#(= main_~i~0 |main_#t~mem1|)} is VALID [2018-11-23 12:13:39,095 INFO L256 TraceCheckUtils]: 43: Hoare triple {2941#(= main_~i~0 |main_#t~mem1|)} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2936#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:13:39,096 INFO L273 TraceCheckUtils]: 44: Hoare triple {2936#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {2942#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:13:39,097 INFO L273 TraceCheckUtils]: 45: Hoare triple {2942#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {2927#false} is VALID [2018-11-23 12:13:39,097 INFO L273 TraceCheckUtils]: 46: Hoare triple {2927#false} assume !false; {2927#false} is VALID [2018-11-23 12:13:39,104 INFO L134 CoverageAnalysis]: Checked inductivity of 73 backedges. 7 proven. 51 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 12:13:39,104 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:13:39,104 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:13:39,114 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:13:39,139 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:13:39,140 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:13:39,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:39,159 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:13:39,256 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 12 [2018-11-23 12:13:39,262 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-23 12:13:39,267 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:13:39,270 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:39,285 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:13:39,285 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:25, output treesize:21 [2018-11-23 12:13:39,289 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:13:39,289 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_10|, v_main_~k~0_19]. (and (= (store |v_#memory_int_10| |main_~#a~0.base| (store (select |v_#memory_int_10| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 v_main_~k~0_19)) v_main_~k~0_19)) |#memory_int|) (<= v_main_~k~0_19 4) (<= 4 v_main_~k~0_19) (= |main_~#a~0.offset| 0)) [2018-11-23 12:13:39,289 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_main_~k~0_19]. (and (<= v_main_~k~0_19 4) (<= 4 v_main_~k~0_19) (= v_main_~k~0_19 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 v_main_~k~0_19)))) (= |main_~#a~0.offset| 0)) [2018-11-23 12:13:39,930 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 12:13:39,935 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:13:39,936 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-23 12:13:39,938 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:13:39,940 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:39,945 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:39,945 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-23 12:13:39,947 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:13:39,948 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= |main_#t~mem1| (select .cse0 (* 4 main_~i~0))) (= 4 (select .cse0 16)) (= main_~i~0 4))) [2018-11-23 12:13:39,948 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 4 |main_#t~mem1|) (= main_~i~0 4)) [2018-11-23 12:13:40,047 INFO L256 TraceCheckUtils]: 0: Hoare triple {2926#true} call ULTIMATE.init(); {2926#true} is VALID [2018-11-23 12:13:40,047 INFO L273 TraceCheckUtils]: 1: Hoare triple {2926#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {2926#true} is VALID [2018-11-23 12:13:40,047 INFO L273 TraceCheckUtils]: 2: Hoare triple {2926#true} assume true; {2926#true} is VALID [2018-11-23 12:13:40,047 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2926#true} {2926#true} #54#return; {2926#true} is VALID [2018-11-23 12:13:40,047 INFO L256 TraceCheckUtils]: 4: Hoare triple {2926#true} call #t~ret2 := main(); {2926#true} is VALID [2018-11-23 12:13:40,048 INFO L273 TraceCheckUtils]: 5: Hoare triple {2926#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {2926#true} is VALID [2018-11-23 12:13:40,052 INFO L273 TraceCheckUtils]: 6: Hoare triple {2926#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {2928#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:40,052 INFO L273 TraceCheckUtils]: 7: Hoare triple {2928#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2929#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} is VALID [2018-11-23 12:13:40,053 INFO L273 TraceCheckUtils]: 8: Hoare triple {2929#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2930#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:40,054 INFO L273 TraceCheckUtils]: 9: Hoare triple {2930#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2931#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:40,054 INFO L273 TraceCheckUtils]: 10: Hoare triple {2931#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2932#(and (<= main_~k~0 4) (<= 4 main_~k~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:40,072 INFO L273 TraceCheckUtils]: 11: Hoare triple {2932#(and (<= main_~k~0 4) (<= 4 main_~k~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {2933#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:40,073 INFO L273 TraceCheckUtils]: 12: Hoare triple {2933#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~N~0); {2933#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:40,073 INFO L273 TraceCheckUtils]: 13: Hoare triple {2933#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {2934#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:40,074 INFO L273 TraceCheckUtils]: 14: Hoare triple {2934#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2934#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:40,075 INFO L256 TraceCheckUtils]: 15: Hoare triple {2934#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-23 12:13:40,081 INFO L273 TraceCheckUtils]: 16: Hoare triple {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} ~cond := #in~cond; {2995#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4)) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:13:40,081 INFO L273 TraceCheckUtils]: 17: Hoare triple {2995#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4)) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {2999#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4)))} is VALID [2018-11-23 12:13:40,082 INFO L273 TraceCheckUtils]: 18: Hoare triple {2999#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4)))} assume true; {2999#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4)))} is VALID [2018-11-23 12:13:40,090 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {2999#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4)))} {2934#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #58#return; {2934#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:40,091 INFO L273 TraceCheckUtils]: 20: Hoare triple {2934#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {3009#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:40,092 INFO L273 TraceCheckUtils]: 21: Hoare triple {3009#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3009#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:40,093 INFO L256 TraceCheckUtils]: 22: Hoare triple {3009#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-23 12:13:40,093 INFO L273 TraceCheckUtils]: 23: Hoare triple {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} ~cond := #in~cond; {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-23 12:13:40,093 INFO L273 TraceCheckUtils]: 24: Hoare triple {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} assume !(0 == ~cond); {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-23 12:13:40,094 INFO L273 TraceCheckUtils]: 25: Hoare triple {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} assume true; {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-23 12:13:40,094 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} {3009#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} #58#return; {3009#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:40,095 INFO L273 TraceCheckUtils]: 27: Hoare triple {3009#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {3031#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:40,096 INFO L273 TraceCheckUtils]: 28: Hoare triple {3031#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3031#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:40,098 INFO L256 TraceCheckUtils]: 29: Hoare triple {3031#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-23 12:13:40,098 INFO L273 TraceCheckUtils]: 30: Hoare triple {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} ~cond := #in~cond; {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-23 12:13:40,099 INFO L273 TraceCheckUtils]: 31: Hoare triple {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} assume !(0 == ~cond); {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-23 12:13:40,118 INFO L273 TraceCheckUtils]: 32: Hoare triple {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} assume true; {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-23 12:13:40,132 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} {3031#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} #58#return; {3031#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:40,147 INFO L273 TraceCheckUtils]: 34: Hoare triple {3031#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {3053#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:40,148 INFO L273 TraceCheckUtils]: 35: Hoare triple {3053#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3053#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:40,149 INFO L256 TraceCheckUtils]: 36: Hoare triple {3053#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-23 12:13:40,151 INFO L273 TraceCheckUtils]: 37: Hoare triple {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} ~cond := #in~cond; {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-23 12:13:40,151 INFO L273 TraceCheckUtils]: 38: Hoare triple {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} assume !(0 == ~cond); {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-23 12:13:40,151 INFO L273 TraceCheckUtils]: 39: Hoare triple {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} assume true; {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-23 12:13:40,152 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {2991#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} {3053#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} #58#return; {3053#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:40,153 INFO L273 TraceCheckUtils]: 41: Hoare triple {3053#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {3075#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:40,154 INFO L273 TraceCheckUtils]: 42: Hoare triple {3075#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3079#(and (= 4 |main_#t~mem1|) (= main_~i~0 4))} is VALID [2018-11-23 12:13:40,155 INFO L256 TraceCheckUtils]: 43: Hoare triple {3079#(and (= 4 |main_#t~mem1|) (= main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3083#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:13:40,156 INFO L273 TraceCheckUtils]: 44: Hoare triple {3083#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {3087#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:13:40,157 INFO L273 TraceCheckUtils]: 45: Hoare triple {3087#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2927#false} is VALID [2018-11-23 12:13:40,157 INFO L273 TraceCheckUtils]: 46: Hoare triple {2927#false} assume !false; {2927#false} is VALID [2018-11-23 12:13:40,163 INFO L134 CoverageAnalysis]: Checked inductivity of 73 backedges. 0 proven. 58 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 12:13:40,183 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:13:40,183 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 19] total 27 [2018-11-23 12:13:40,184 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 47 [2018-11-23 12:13:40,184 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:13:40,185 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states. [2018-11-23 12:13:40,259 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:40,259 INFO L459 AbstractCegarLoop]: Interpolant automaton has 27 states [2018-11-23 12:13:40,260 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2018-11-23 12:13:40,260 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=629, Unknown=0, NotChecked=0, Total=702 [2018-11-23 12:13:40,261 INFO L87 Difference]: Start difference. First operand 50 states and 51 transitions. Second operand 27 states. [2018-11-23 12:13:43,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:43,170 INFO L93 Difference]: Finished difference Result 60 states and 61 transitions. [2018-11-23 12:13:43,170 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2018-11-23 12:13:43,170 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 47 [2018-11-23 12:13:43,170 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:13:43,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 12:13:43,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 49 transitions. [2018-11-23 12:13:43,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 12:13:43,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 49 transitions. [2018-11-23 12:13:43,174 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 49 transitions. [2018-11-23 12:13:43,250 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:43,252 INFO L225 Difference]: With dead ends: 60 [2018-11-23 12:13:43,252 INFO L226 Difference]: Without dead ends: 58 [2018-11-23 12:13:43,253 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 28 SyntacticMatches, 12 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 210 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=144, Invalid=1116, Unknown=0, NotChecked=0, Total=1260 [2018-11-23 12:13:43,253 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2018-11-23 12:13:43,424 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 57. [2018-11-23 12:13:43,424 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:13:43,424 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 57 states. [2018-11-23 12:13:43,424 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 57 states. [2018-11-23 12:13:43,424 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 57 states. [2018-11-23 12:13:43,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:43,426 INFO L93 Difference]: Finished difference Result 58 states and 59 transitions. [2018-11-23 12:13:43,426 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 59 transitions. [2018-11-23 12:13:43,427 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:43,427 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:43,427 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 58 states. [2018-11-23 12:13:43,427 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 58 states. [2018-11-23 12:13:43,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:43,429 INFO L93 Difference]: Finished difference Result 58 states and 59 transitions. [2018-11-23 12:13:43,429 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 59 transitions. [2018-11-23 12:13:43,429 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:43,429 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:43,429 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:13:43,429 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:13:43,430 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 57 states. [2018-11-23 12:13:43,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 58 transitions. [2018-11-23 12:13:43,431 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 58 transitions. Word has length 47 [2018-11-23 12:13:43,431 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:13:43,431 INFO L480 AbstractCegarLoop]: Abstraction has 57 states and 58 transitions. [2018-11-23 12:13:43,432 INFO L481 AbstractCegarLoop]: Interpolant automaton has 27 states. [2018-11-23 12:13:43,432 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 58 transitions. [2018-11-23 12:13:43,432 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2018-11-23 12:13:43,432 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:13:43,433 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 6, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:13:43,433 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:13:43,433 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:13:43,433 INFO L82 PathProgramCache]: Analyzing trace with hash -1211557768, now seen corresponding path program 9 times [2018-11-23 12:13:43,433 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:13:43,433 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:13:43,434 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:43,434 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:13:43,434 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:43,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:43,847 INFO L256 TraceCheckUtils]: 0: Hoare triple {3400#true} call ULTIMATE.init(); {3400#true} is VALID [2018-11-23 12:13:43,847 INFO L273 TraceCheckUtils]: 1: Hoare triple {3400#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {3400#true} is VALID [2018-11-23 12:13:43,847 INFO L273 TraceCheckUtils]: 2: Hoare triple {3400#true} assume true; {3400#true} is VALID [2018-11-23 12:13:43,847 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3400#true} {3400#true} #54#return; {3400#true} is VALID [2018-11-23 12:13:43,848 INFO L256 TraceCheckUtils]: 4: Hoare triple {3400#true} call #t~ret2 := main(); {3400#true} is VALID [2018-11-23 12:13:43,848 INFO L273 TraceCheckUtils]: 5: Hoare triple {3400#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {3400#true} is VALID [2018-11-23 12:13:43,848 INFO L273 TraceCheckUtils]: 6: Hoare triple {3400#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {3402#(= main_~i~0 0)} is VALID [2018-11-23 12:13:43,849 INFO L273 TraceCheckUtils]: 7: Hoare triple {3402#(= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {3403#(<= main_~i~0 1)} is VALID [2018-11-23 12:13:43,850 INFO L273 TraceCheckUtils]: 8: Hoare triple {3403#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {3404#(<= main_~i~0 2)} is VALID [2018-11-23 12:13:43,851 INFO L273 TraceCheckUtils]: 9: Hoare triple {3404#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {3405#(<= main_~i~0 3)} is VALID [2018-11-23 12:13:43,851 INFO L273 TraceCheckUtils]: 10: Hoare triple {3405#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {3406#(<= main_~i~0 4)} is VALID [2018-11-23 12:13:43,852 INFO L273 TraceCheckUtils]: 11: Hoare triple {3406#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {3407#(<= main_~i~0 5)} is VALID [2018-11-23 12:13:43,853 INFO L273 TraceCheckUtils]: 12: Hoare triple {3407#(<= main_~i~0 5)} assume !(~i~0 < ~N~0); {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:43,854 INFO L273 TraceCheckUtils]: 13: Hoare triple {3408#(<= ~N~0 5)} ~i~0 := 0; {3409#(and (<= ~N~0 5) (= main_~i~0 0))} is VALID [2018-11-23 12:13:43,854 INFO L273 TraceCheckUtils]: 14: Hoare triple {3409#(and (<= ~N~0 5) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3409#(and (<= ~N~0 5) (= main_~i~0 0))} is VALID [2018-11-23 12:13:43,855 INFO L256 TraceCheckUtils]: 15: Hoare triple {3409#(and (<= ~N~0 5) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3400#true} is VALID [2018-11-23 12:13:43,855 INFO L273 TraceCheckUtils]: 16: Hoare triple {3400#true} ~cond := #in~cond; {3400#true} is VALID [2018-11-23 12:13:43,855 INFO L273 TraceCheckUtils]: 17: Hoare triple {3400#true} assume !(0 == ~cond); {3400#true} is VALID [2018-11-23 12:13:43,855 INFO L273 TraceCheckUtils]: 18: Hoare triple {3400#true} assume true; {3400#true} is VALID [2018-11-23 12:13:43,856 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {3400#true} {3409#(and (<= ~N~0 5) (= main_~i~0 0))} #58#return; {3409#(and (<= ~N~0 5) (= main_~i~0 0))} is VALID [2018-11-23 12:13:43,857 INFO L273 TraceCheckUtils]: 20: Hoare triple {3409#(and (<= ~N~0 5) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {3410#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:13:43,857 INFO L273 TraceCheckUtils]: 21: Hoare triple {3410#(<= ~N~0 (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3410#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:13:43,857 INFO L256 TraceCheckUtils]: 22: Hoare triple {3410#(<= ~N~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3400#true} is VALID [2018-11-23 12:13:43,858 INFO L273 TraceCheckUtils]: 23: Hoare triple {3400#true} ~cond := #in~cond; {3400#true} is VALID [2018-11-23 12:13:43,858 INFO L273 TraceCheckUtils]: 24: Hoare triple {3400#true} assume !(0 == ~cond); {3400#true} is VALID [2018-11-23 12:13:43,858 INFO L273 TraceCheckUtils]: 25: Hoare triple {3400#true} assume true; {3400#true} is VALID [2018-11-23 12:13:43,858 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {3400#true} {3410#(<= ~N~0 (+ main_~i~0 4))} #58#return; {3410#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:13:43,859 INFO L273 TraceCheckUtils]: 27: Hoare triple {3410#(<= ~N~0 (+ main_~i~0 4))} havoc #t~mem1;~i~0 := 1 + ~i~0; {3411#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:13:43,859 INFO L273 TraceCheckUtils]: 28: Hoare triple {3411#(<= ~N~0 (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3411#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:13:43,859 INFO L256 TraceCheckUtils]: 29: Hoare triple {3411#(<= ~N~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3400#true} is VALID [2018-11-23 12:13:43,860 INFO L273 TraceCheckUtils]: 30: Hoare triple {3400#true} ~cond := #in~cond; {3400#true} is VALID [2018-11-23 12:13:43,860 INFO L273 TraceCheckUtils]: 31: Hoare triple {3400#true} assume !(0 == ~cond); {3400#true} is VALID [2018-11-23 12:13:43,860 INFO L273 TraceCheckUtils]: 32: Hoare triple {3400#true} assume true; {3400#true} is VALID [2018-11-23 12:13:43,861 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {3400#true} {3411#(<= ~N~0 (+ main_~i~0 3))} #58#return; {3411#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:13:43,862 INFO L273 TraceCheckUtils]: 34: Hoare triple {3411#(<= ~N~0 (+ main_~i~0 3))} havoc #t~mem1;~i~0 := 1 + ~i~0; {3412#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:13:43,862 INFO L273 TraceCheckUtils]: 35: Hoare triple {3412#(<= ~N~0 (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3412#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:13:43,862 INFO L256 TraceCheckUtils]: 36: Hoare triple {3412#(<= ~N~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3400#true} is VALID [2018-11-23 12:13:43,862 INFO L273 TraceCheckUtils]: 37: Hoare triple {3400#true} ~cond := #in~cond; {3400#true} is VALID [2018-11-23 12:13:43,863 INFO L273 TraceCheckUtils]: 38: Hoare triple {3400#true} assume !(0 == ~cond); {3400#true} is VALID [2018-11-23 12:13:43,863 INFO L273 TraceCheckUtils]: 39: Hoare triple {3400#true} assume true; {3400#true} is VALID [2018-11-23 12:13:43,873 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {3400#true} {3412#(<= ~N~0 (+ main_~i~0 2))} #58#return; {3412#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:13:43,874 INFO L273 TraceCheckUtils]: 41: Hoare triple {3412#(<= ~N~0 (+ main_~i~0 2))} havoc #t~mem1;~i~0 := 1 + ~i~0; {3413#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:13:43,875 INFO L273 TraceCheckUtils]: 42: Hoare triple {3413#(<= ~N~0 (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3413#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:13:43,875 INFO L256 TraceCheckUtils]: 43: Hoare triple {3413#(<= ~N~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3400#true} is VALID [2018-11-23 12:13:43,875 INFO L273 TraceCheckUtils]: 44: Hoare triple {3400#true} ~cond := #in~cond; {3400#true} is VALID [2018-11-23 12:13:43,875 INFO L273 TraceCheckUtils]: 45: Hoare triple {3400#true} assume !(0 == ~cond); {3400#true} is VALID [2018-11-23 12:13:43,875 INFO L273 TraceCheckUtils]: 46: Hoare triple {3400#true} assume true; {3400#true} is VALID [2018-11-23 12:13:43,895 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {3400#true} {3413#(<= ~N~0 (+ main_~i~0 1))} #58#return; {3413#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:13:43,896 INFO L273 TraceCheckUtils]: 48: Hoare triple {3413#(<= ~N~0 (+ main_~i~0 1))} havoc #t~mem1;~i~0 := 1 + ~i~0; {3414#(<= ~N~0 main_~i~0)} is VALID [2018-11-23 12:13:43,896 INFO L273 TraceCheckUtils]: 49: Hoare triple {3414#(<= ~N~0 main_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3401#false} is VALID [2018-11-23 12:13:43,896 INFO L256 TraceCheckUtils]: 50: Hoare triple {3401#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3401#false} is VALID [2018-11-23 12:13:43,896 INFO L273 TraceCheckUtils]: 51: Hoare triple {3401#false} ~cond := #in~cond; {3401#false} is VALID [2018-11-23 12:13:43,897 INFO L273 TraceCheckUtils]: 52: Hoare triple {3401#false} assume 0 == ~cond; {3401#false} is VALID [2018-11-23 12:13:43,897 INFO L273 TraceCheckUtils]: 53: Hoare triple {3401#false} assume !false; {3401#false} is VALID [2018-11-23 12:13:43,900 INFO L134 CoverageAnalysis]: Checked inductivity of 105 backedges. 37 proven. 28 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-23 12:13:43,900 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:13:43,900 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:13:43,908 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:13:43,943 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2018-11-23 12:13:43,944 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:13:43,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:43,964 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:13:44,200 INFO L256 TraceCheckUtils]: 0: Hoare triple {3400#true} call ULTIMATE.init(); {3400#true} is VALID [2018-11-23 12:13:44,200 INFO L273 TraceCheckUtils]: 1: Hoare triple {3400#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {3400#true} is VALID [2018-11-23 12:13:44,200 INFO L273 TraceCheckUtils]: 2: Hoare triple {3400#true} assume true; {3400#true} is VALID [2018-11-23 12:13:44,201 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3400#true} {3400#true} #54#return; {3400#true} is VALID [2018-11-23 12:13:44,201 INFO L256 TraceCheckUtils]: 4: Hoare triple {3400#true} call #t~ret2 := main(); {3400#true} is VALID [2018-11-23 12:13:44,201 INFO L273 TraceCheckUtils]: 5: Hoare triple {3400#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {3400#true} is VALID [2018-11-23 12:13:44,201 INFO L273 TraceCheckUtils]: 6: Hoare triple {3400#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {3436#(<= main_~i~0 0)} is VALID [2018-11-23 12:13:44,202 INFO L273 TraceCheckUtils]: 7: Hoare triple {3436#(<= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {3403#(<= main_~i~0 1)} is VALID [2018-11-23 12:13:44,203 INFO L273 TraceCheckUtils]: 8: Hoare triple {3403#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {3404#(<= main_~i~0 2)} is VALID [2018-11-23 12:13:44,203 INFO L273 TraceCheckUtils]: 9: Hoare triple {3404#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {3405#(<= main_~i~0 3)} is VALID [2018-11-23 12:13:44,204 INFO L273 TraceCheckUtils]: 10: Hoare triple {3405#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {3406#(<= main_~i~0 4)} is VALID [2018-11-23 12:13:44,205 INFO L273 TraceCheckUtils]: 11: Hoare triple {3406#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {3407#(<= main_~i~0 5)} is VALID [2018-11-23 12:13:44,206 INFO L273 TraceCheckUtils]: 12: Hoare triple {3407#(<= main_~i~0 5)} assume !(~i~0 < ~N~0); {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,207 INFO L273 TraceCheckUtils]: 13: Hoare triple {3408#(<= ~N~0 5)} ~i~0 := 0; {3458#(and (<= 0 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-23 12:13:44,207 INFO L273 TraceCheckUtils]: 14: Hoare triple {3458#(and (<= 0 main_~i~0) (<= ~N~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3458#(and (<= 0 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-23 12:13:44,209 INFO L256 TraceCheckUtils]: 15: Hoare triple {3458#(and (<= 0 main_~i~0) (<= ~N~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,209 INFO L273 TraceCheckUtils]: 16: Hoare triple {3408#(<= ~N~0 5)} ~cond := #in~cond; {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,210 INFO L273 TraceCheckUtils]: 17: Hoare triple {3408#(<= ~N~0 5)} assume !(0 == ~cond); {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,210 INFO L273 TraceCheckUtils]: 18: Hoare triple {3408#(<= ~N~0 5)} assume true; {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,211 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {3408#(<= ~N~0 5)} {3458#(and (<= 0 main_~i~0) (<= ~N~0 5))} #58#return; {3458#(and (<= 0 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-23 12:13:44,212 INFO L273 TraceCheckUtils]: 20: Hoare triple {3458#(and (<= 0 main_~i~0) (<= ~N~0 5))} havoc #t~mem1;~i~0 := 1 + ~i~0; {3480#(and (<= 1 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-23 12:13:44,213 INFO L273 TraceCheckUtils]: 21: Hoare triple {3480#(and (<= 1 main_~i~0) (<= ~N~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3480#(and (<= 1 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-23 12:13:44,214 INFO L256 TraceCheckUtils]: 22: Hoare triple {3480#(and (<= 1 main_~i~0) (<= ~N~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,214 INFO L273 TraceCheckUtils]: 23: Hoare triple {3408#(<= ~N~0 5)} ~cond := #in~cond; {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,215 INFO L273 TraceCheckUtils]: 24: Hoare triple {3408#(<= ~N~0 5)} assume !(0 == ~cond); {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,215 INFO L273 TraceCheckUtils]: 25: Hoare triple {3408#(<= ~N~0 5)} assume true; {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,216 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {3408#(<= ~N~0 5)} {3480#(and (<= 1 main_~i~0) (<= ~N~0 5))} #58#return; {3480#(and (<= 1 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-23 12:13:44,217 INFO L273 TraceCheckUtils]: 27: Hoare triple {3480#(and (<= 1 main_~i~0) (<= ~N~0 5))} havoc #t~mem1;~i~0 := 1 + ~i~0; {3502#(and (<= 2 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-23 12:13:44,218 INFO L273 TraceCheckUtils]: 28: Hoare triple {3502#(and (<= 2 main_~i~0) (<= ~N~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3502#(and (<= 2 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-23 12:13:44,219 INFO L256 TraceCheckUtils]: 29: Hoare triple {3502#(and (<= 2 main_~i~0) (<= ~N~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,219 INFO L273 TraceCheckUtils]: 30: Hoare triple {3408#(<= ~N~0 5)} ~cond := #in~cond; {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,220 INFO L273 TraceCheckUtils]: 31: Hoare triple {3408#(<= ~N~0 5)} assume !(0 == ~cond); {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,220 INFO L273 TraceCheckUtils]: 32: Hoare triple {3408#(<= ~N~0 5)} assume true; {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,221 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {3408#(<= ~N~0 5)} {3502#(and (<= 2 main_~i~0) (<= ~N~0 5))} #58#return; {3502#(and (<= 2 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-23 12:13:44,222 INFO L273 TraceCheckUtils]: 34: Hoare triple {3502#(and (<= 2 main_~i~0) (<= ~N~0 5))} havoc #t~mem1;~i~0 := 1 + ~i~0; {3524#(and (<= ~N~0 5) (<= 3 main_~i~0))} is VALID [2018-11-23 12:13:44,223 INFO L273 TraceCheckUtils]: 35: Hoare triple {3524#(and (<= ~N~0 5) (<= 3 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3524#(and (<= ~N~0 5) (<= 3 main_~i~0))} is VALID [2018-11-23 12:13:44,224 INFO L256 TraceCheckUtils]: 36: Hoare triple {3524#(and (<= ~N~0 5) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,224 INFO L273 TraceCheckUtils]: 37: Hoare triple {3408#(<= ~N~0 5)} ~cond := #in~cond; {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,225 INFO L273 TraceCheckUtils]: 38: Hoare triple {3408#(<= ~N~0 5)} assume !(0 == ~cond); {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,225 INFO L273 TraceCheckUtils]: 39: Hoare triple {3408#(<= ~N~0 5)} assume true; {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,226 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {3408#(<= ~N~0 5)} {3524#(and (<= ~N~0 5) (<= 3 main_~i~0))} #58#return; {3524#(and (<= ~N~0 5) (<= 3 main_~i~0))} is VALID [2018-11-23 12:13:44,227 INFO L273 TraceCheckUtils]: 41: Hoare triple {3524#(and (<= ~N~0 5) (<= 3 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {3546#(and (<= 4 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-23 12:13:44,228 INFO L273 TraceCheckUtils]: 42: Hoare triple {3546#(and (<= 4 main_~i~0) (<= ~N~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3546#(and (<= 4 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-23 12:13:44,229 INFO L256 TraceCheckUtils]: 43: Hoare triple {3546#(and (<= 4 main_~i~0) (<= ~N~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,229 INFO L273 TraceCheckUtils]: 44: Hoare triple {3408#(<= ~N~0 5)} ~cond := #in~cond; {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,230 INFO L273 TraceCheckUtils]: 45: Hoare triple {3408#(<= ~N~0 5)} assume !(0 == ~cond); {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,230 INFO L273 TraceCheckUtils]: 46: Hoare triple {3408#(<= ~N~0 5)} assume true; {3408#(<= ~N~0 5)} is VALID [2018-11-23 12:13:44,231 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {3408#(<= ~N~0 5)} {3546#(and (<= 4 main_~i~0) (<= ~N~0 5))} #58#return; {3546#(and (<= 4 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-23 12:13:44,232 INFO L273 TraceCheckUtils]: 48: Hoare triple {3546#(and (<= 4 main_~i~0) (<= ~N~0 5))} havoc #t~mem1;~i~0 := 1 + ~i~0; {3568#(and (<= 5 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-23 12:13:44,233 INFO L273 TraceCheckUtils]: 49: Hoare triple {3568#(and (<= 5 main_~i~0) (<= ~N~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3401#false} is VALID [2018-11-23 12:13:44,233 INFO L256 TraceCheckUtils]: 50: Hoare triple {3401#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3401#false} is VALID [2018-11-23 12:13:44,233 INFO L273 TraceCheckUtils]: 51: Hoare triple {3401#false} ~cond := #in~cond; {3401#false} is VALID [2018-11-23 12:13:44,234 INFO L273 TraceCheckUtils]: 52: Hoare triple {3401#false} assume 0 == ~cond; {3401#false} is VALID [2018-11-23 12:13:44,234 INFO L273 TraceCheckUtils]: 53: Hoare triple {3401#false} assume !false; {3401#false} is VALID [2018-11-23 12:13:44,237 INFO L134 CoverageAnalysis]: Checked inductivity of 105 backedges. 50 proven. 15 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-23 12:13:44,257 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:13:44,257 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 22 [2018-11-23 12:13:44,258 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 54 [2018-11-23 12:13:44,258 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:13:44,258 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-23 12:13:44,325 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:13:44,325 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-23 12:13:44,325 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-23 12:13:44,326 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=117, Invalid=345, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:13:44,326 INFO L87 Difference]: Start difference. First operand 57 states and 58 transitions. Second operand 22 states. [2018-11-23 12:13:45,745 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:45,745 INFO L93 Difference]: Finished difference Result 108 states and 111 transitions. [2018-11-23 12:13:45,745 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 12:13:45,745 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 54 [2018-11-23 12:13:45,746 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:13:45,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:13:45,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 84 transitions. [2018-11-23 12:13:45,748 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:13:45,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 84 transitions. [2018-11-23 12:13:45,750 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 84 transitions. [2018-11-23 12:13:45,834 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:45,836 INFO L225 Difference]: With dead ends: 108 [2018-11-23 12:13:45,836 INFO L226 Difference]: Without dead ends: 62 [2018-11-23 12:13:45,837 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 48 SyntacticMatches, 0 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 168 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=192, Invalid=564, Unknown=0, NotChecked=0, Total=756 [2018-11-23 12:13:45,837 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2018-11-23 12:13:46,000 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 58. [2018-11-23 12:13:46,000 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:13:46,000 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand 58 states. [2018-11-23 12:13:46,000 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 58 states. [2018-11-23 12:13:46,000 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 58 states. [2018-11-23 12:13:46,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:46,003 INFO L93 Difference]: Finished difference Result 62 states and 64 transitions. [2018-11-23 12:13:46,003 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 64 transitions. [2018-11-23 12:13:46,003 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:46,004 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:46,004 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 62 states. [2018-11-23 12:13:46,004 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 62 states. [2018-11-23 12:13:46,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:46,005 INFO L93 Difference]: Finished difference Result 62 states and 64 transitions. [2018-11-23 12:13:46,005 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 64 transitions. [2018-11-23 12:13:46,006 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:46,006 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:46,006 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:13:46,006 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:13:46,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 58 states. [2018-11-23 12:13:46,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 59 transitions. [2018-11-23 12:13:46,008 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 59 transitions. Word has length 54 [2018-11-23 12:13:46,008 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:13:46,008 INFO L480 AbstractCegarLoop]: Abstraction has 58 states and 59 transitions. [2018-11-23 12:13:46,008 INFO L481 AbstractCegarLoop]: Interpolant automaton has 22 states. [2018-11-23 12:13:46,008 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 59 transitions. [2018-11-23 12:13:46,009 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2018-11-23 12:13:46,009 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:13:46,009 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 6, 6, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:13:46,009 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:13:46,009 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:13:46,009 INFO L82 PathProgramCache]: Analyzing trace with hash -660121767, now seen corresponding path program 10 times [2018-11-23 12:13:46,010 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:13:46,010 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:13:46,010 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:46,011 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:13:46,011 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:46,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:46,549 INFO L256 TraceCheckUtils]: 0: Hoare triple {3964#true} call ULTIMATE.init(); {3964#true} is VALID [2018-11-23 12:13:46,549 INFO L273 TraceCheckUtils]: 1: Hoare triple {3964#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {3964#true} is VALID [2018-11-23 12:13:46,549 INFO L273 TraceCheckUtils]: 2: Hoare triple {3964#true} assume true; {3964#true} is VALID [2018-11-23 12:13:46,549 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3964#true} {3964#true} #54#return; {3964#true} is VALID [2018-11-23 12:13:46,549 INFO L256 TraceCheckUtils]: 4: Hoare triple {3964#true} call #t~ret2 := main(); {3964#true} is VALID [2018-11-23 12:13:46,550 INFO L273 TraceCheckUtils]: 5: Hoare triple {3964#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {3964#true} is VALID [2018-11-23 12:13:46,550 INFO L273 TraceCheckUtils]: 6: Hoare triple {3964#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {3966#(= main_~k~0 0)} is VALID [2018-11-23 12:13:46,551 INFO L273 TraceCheckUtils]: 7: Hoare triple {3966#(= main_~k~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {3967#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-23 12:13:46,552 INFO L273 TraceCheckUtils]: 8: Hoare triple {3967#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {3968#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-23 12:13:46,553 INFO L273 TraceCheckUtils]: 9: Hoare triple {3968#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {3969#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-23 12:13:46,586 INFO L273 TraceCheckUtils]: 10: Hoare triple {3969#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {3970#(and (<= main_~k~0 4) (<= 4 main_~k~0))} is VALID [2018-11-23 12:13:46,587 INFO L273 TraceCheckUtils]: 11: Hoare triple {3970#(and (<= main_~k~0 4) (<= 4 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {3971#(and (<= main_~k~0 5) (<= 5 main_~k~0))} is VALID [2018-11-23 12:13:46,588 INFO L273 TraceCheckUtils]: 12: Hoare triple {3971#(and (<= main_~k~0 5) (<= 5 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {3972#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5)} is VALID [2018-11-23 12:13:46,588 INFO L273 TraceCheckUtils]: 13: Hoare triple {3972#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5)} assume !(~i~0 < ~N~0); {3972#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5)} is VALID [2018-11-23 12:13:46,590 INFO L273 TraceCheckUtils]: 14: Hoare triple {3972#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5)} ~i~0 := 0; {3973#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5) (= main_~i~0 0))} is VALID [2018-11-23 12:13:46,595 INFO L273 TraceCheckUtils]: 15: Hoare triple {3973#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3973#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5) (= main_~i~0 0))} is VALID [2018-11-23 12:13:46,595 INFO L256 TraceCheckUtils]: 16: Hoare triple {3973#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3964#true} is VALID [2018-11-23 12:13:46,596 INFO L273 TraceCheckUtils]: 17: Hoare triple {3964#true} ~cond := #in~cond; {3974#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:13:46,596 INFO L273 TraceCheckUtils]: 18: Hoare triple {3974#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {3975#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:13:46,597 INFO L273 TraceCheckUtils]: 19: Hoare triple {3975#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3975#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:13:46,597 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {3975#(not (= |__VERIFIER_assert_#in~cond| 0))} {3973#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5) (= main_~i~0 0))} #58#return; {3973#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5) (= main_~i~0 0))} is VALID [2018-11-23 12:13:46,598 INFO L273 TraceCheckUtils]: 21: Hoare triple {3973#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {3976#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:13:46,598 INFO L273 TraceCheckUtils]: 22: Hoare triple {3976#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3976#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:13:46,598 INFO L256 TraceCheckUtils]: 23: Hoare triple {3976#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3964#true} is VALID [2018-11-23 12:13:46,598 INFO L273 TraceCheckUtils]: 24: Hoare triple {3964#true} ~cond := #in~cond; {3964#true} is VALID [2018-11-23 12:13:46,599 INFO L273 TraceCheckUtils]: 25: Hoare triple {3964#true} assume !(0 == ~cond); {3964#true} is VALID [2018-11-23 12:13:46,599 INFO L273 TraceCheckUtils]: 26: Hoare triple {3964#true} assume true; {3964#true} is VALID [2018-11-23 12:13:46,600 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {3964#true} {3976#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} #58#return; {3976#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:13:46,601 INFO L273 TraceCheckUtils]: 28: Hoare triple {3976#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} havoc #t~mem1;~i~0 := 1 + ~i~0; {3977#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:13:46,602 INFO L273 TraceCheckUtils]: 29: Hoare triple {3977#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3977#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:13:46,602 INFO L256 TraceCheckUtils]: 30: Hoare triple {3977#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3964#true} is VALID [2018-11-23 12:13:46,602 INFO L273 TraceCheckUtils]: 31: Hoare triple {3964#true} ~cond := #in~cond; {3964#true} is VALID [2018-11-23 12:13:46,602 INFO L273 TraceCheckUtils]: 32: Hoare triple {3964#true} assume !(0 == ~cond); {3964#true} is VALID [2018-11-23 12:13:46,602 INFO L273 TraceCheckUtils]: 33: Hoare triple {3964#true} assume true; {3964#true} is VALID [2018-11-23 12:13:46,603 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {3964#true} {3977#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} #58#return; {3977#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:13:46,604 INFO L273 TraceCheckUtils]: 35: Hoare triple {3977#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} havoc #t~mem1;~i~0 := 1 + ~i~0; {3978#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:13:46,605 INFO L273 TraceCheckUtils]: 36: Hoare triple {3978#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3978#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:13:46,605 INFO L256 TraceCheckUtils]: 37: Hoare triple {3978#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3964#true} is VALID [2018-11-23 12:13:46,606 INFO L273 TraceCheckUtils]: 38: Hoare triple {3964#true} ~cond := #in~cond; {3964#true} is VALID [2018-11-23 12:13:46,606 INFO L273 TraceCheckUtils]: 39: Hoare triple {3964#true} assume !(0 == ~cond); {3964#true} is VALID [2018-11-23 12:13:46,606 INFO L273 TraceCheckUtils]: 40: Hoare triple {3964#true} assume true; {3964#true} is VALID [2018-11-23 12:13:46,607 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {3964#true} {3978#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} #58#return; {3978#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:13:46,608 INFO L273 TraceCheckUtils]: 42: Hoare triple {3978#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} havoc #t~mem1;~i~0 := 1 + ~i~0; {3979#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:13:46,609 INFO L273 TraceCheckUtils]: 43: Hoare triple {3979#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3979#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:13:46,609 INFO L256 TraceCheckUtils]: 44: Hoare triple {3979#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3964#true} is VALID [2018-11-23 12:13:46,609 INFO L273 TraceCheckUtils]: 45: Hoare triple {3964#true} ~cond := #in~cond; {3964#true} is VALID [2018-11-23 12:13:46,609 INFO L273 TraceCheckUtils]: 46: Hoare triple {3964#true} assume !(0 == ~cond); {3964#true} is VALID [2018-11-23 12:13:46,610 INFO L273 TraceCheckUtils]: 47: Hoare triple {3964#true} assume true; {3964#true} is VALID [2018-11-23 12:13:46,610 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {3964#true} {3979#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} #58#return; {3979#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:13:46,611 INFO L273 TraceCheckUtils]: 49: Hoare triple {3979#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} havoc #t~mem1;~i~0 := 1 + ~i~0; {3980#(= 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:13:46,612 INFO L273 TraceCheckUtils]: 50: Hoare triple {3980#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3981#(= main_~i~0 |main_#t~mem1|)} is VALID [2018-11-23 12:13:46,631 INFO L256 TraceCheckUtils]: 51: Hoare triple {3981#(= main_~i~0 |main_#t~mem1|)} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3975#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:13:46,640 INFO L273 TraceCheckUtils]: 52: Hoare triple {3975#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {3982#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:13:46,650 INFO L273 TraceCheckUtils]: 53: Hoare triple {3982#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {3965#false} is VALID [2018-11-23 12:13:46,650 INFO L273 TraceCheckUtils]: 54: Hoare triple {3965#false} assume !false; {3965#false} is VALID [2018-11-23 12:13:46,655 INFO L134 CoverageAnalysis]: Checked inductivity of 111 backedges. 9 proven. 74 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2018-11-23 12:13:46,655 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:13:46,655 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:13:46,664 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:13:46,690 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:13:46,691 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:13:46,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:46,709 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:13:47,033 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 12:13:47,037 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 12:13:47,038 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:13:47,040 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:47,044 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:47,044 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 12:13:47,752 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 12:13:47,757 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:13:47,758 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-23 12:13:47,761 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:13:47,763 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:47,767 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:47,768 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-23 12:13:47,770 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:13:47,770 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= 5 (select .cse0 20)) (= |main_#t~mem1| (select .cse0 (* 4 main_~i~0))) (= main_~i~0 5))) [2018-11-23 12:13:47,770 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 5 |main_#t~mem1|) (= main_~i~0 5)) [2018-11-23 12:13:47,882 INFO L256 TraceCheckUtils]: 0: Hoare triple {3964#true} call ULTIMATE.init(); {3964#true} is VALID [2018-11-23 12:13:47,882 INFO L273 TraceCheckUtils]: 1: Hoare triple {3964#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {3964#true} is VALID [2018-11-23 12:13:47,882 INFO L273 TraceCheckUtils]: 2: Hoare triple {3964#true} assume true; {3964#true} is VALID [2018-11-23 12:13:47,883 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3964#true} {3964#true} #54#return; {3964#true} is VALID [2018-11-23 12:13:47,883 INFO L256 TraceCheckUtils]: 4: Hoare triple {3964#true} call #t~ret2 := main(); {3964#true} is VALID [2018-11-23 12:13:47,883 INFO L273 TraceCheckUtils]: 5: Hoare triple {3964#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {3964#true} is VALID [2018-11-23 12:13:47,902 INFO L273 TraceCheckUtils]: 6: Hoare triple {3964#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {4004#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:47,917 INFO L273 TraceCheckUtils]: 7: Hoare triple {4004#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {4008#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:47,932 INFO L273 TraceCheckUtils]: 8: Hoare triple {4008#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {4012#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:47,947 INFO L273 TraceCheckUtils]: 9: Hoare triple {4012#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {4016#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:47,955 INFO L273 TraceCheckUtils]: 10: Hoare triple {4016#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {4020#(and (= main_~k~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:47,956 INFO L273 TraceCheckUtils]: 11: Hoare triple {4020#(and (= main_~k~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {4024#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:47,956 INFO L273 TraceCheckUtils]: 12: Hoare triple {4024#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {4028#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:47,957 INFO L273 TraceCheckUtils]: 13: Hoare triple {4028#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~N~0); {4028#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:47,976 INFO L273 TraceCheckUtils]: 14: Hoare triple {4028#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {4035#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:47,990 INFO L273 TraceCheckUtils]: 15: Hoare triple {4035#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4035#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:47,999 INFO L256 TraceCheckUtils]: 16: Hoare triple {4035#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-23 12:13:48,012 INFO L273 TraceCheckUtils]: 17: Hoare triple {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} ~cond := #in~cond; {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-23 12:13:48,022 INFO L273 TraceCheckUtils]: 18: Hoare triple {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} assume !(0 == ~cond); {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-23 12:13:48,034 INFO L273 TraceCheckUtils]: 19: Hoare triple {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} assume true; {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-23 12:13:48,047 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} {4035#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #58#return; {4035#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:48,056 INFO L273 TraceCheckUtils]: 21: Hoare triple {4035#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {4058#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:48,069 INFO L273 TraceCheckUtils]: 22: Hoare triple {4058#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4058#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:48,082 INFO L256 TraceCheckUtils]: 23: Hoare triple {4058#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-23 12:13:48,092 INFO L273 TraceCheckUtils]: 24: Hoare triple {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} ~cond := #in~cond; {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-23 12:13:48,105 INFO L273 TraceCheckUtils]: 25: Hoare triple {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} assume !(0 == ~cond); {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-23 12:13:48,120 INFO L273 TraceCheckUtils]: 26: Hoare triple {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} assume true; {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-23 12:13:48,129 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} {4058#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #58#return; {4058#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:48,145 INFO L273 TraceCheckUtils]: 28: Hoare triple {4058#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {4080#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:48,160 INFO L273 TraceCheckUtils]: 29: Hoare triple {4080#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4080#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:48,169 INFO L256 TraceCheckUtils]: 30: Hoare triple {4080#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-23 12:13:48,182 INFO L273 TraceCheckUtils]: 31: Hoare triple {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} ~cond := #in~cond; {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-23 12:13:48,195 INFO L273 TraceCheckUtils]: 32: Hoare triple {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} assume !(0 == ~cond); {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-23 12:13:48,209 INFO L273 TraceCheckUtils]: 33: Hoare triple {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} assume true; {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-23 12:13:48,225 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} {4080#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} #58#return; {4080#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:48,234 INFO L273 TraceCheckUtils]: 35: Hoare triple {4080#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {4102#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:48,247 INFO L273 TraceCheckUtils]: 36: Hoare triple {4102#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4102#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:48,263 INFO L256 TraceCheckUtils]: 37: Hoare triple {4102#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-23 12:13:48,272 INFO L273 TraceCheckUtils]: 38: Hoare triple {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} ~cond := #in~cond; {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-23 12:13:48,284 INFO L273 TraceCheckUtils]: 39: Hoare triple {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} assume !(0 == ~cond); {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-23 12:13:48,297 INFO L273 TraceCheckUtils]: 40: Hoare triple {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} assume true; {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-23 12:13:48,310 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} {4102#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} #58#return; {4102#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:48,323 INFO L273 TraceCheckUtils]: 42: Hoare triple {4102#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {4124#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:48,336 INFO L273 TraceCheckUtils]: 43: Hoare triple {4124#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4124#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:48,354 INFO L256 TraceCheckUtils]: 44: Hoare triple {4124#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-23 12:13:48,363 INFO L273 TraceCheckUtils]: 45: Hoare triple {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} ~cond := #in~cond; {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-23 12:13:48,376 INFO L273 TraceCheckUtils]: 46: Hoare triple {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} assume !(0 == ~cond); {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-23 12:13:48,388 INFO L273 TraceCheckUtils]: 47: Hoare triple {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} assume true; {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-23 12:13:48,401 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {4042#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} {4124#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} #58#return; {4124#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:48,414 INFO L273 TraceCheckUtils]: 49: Hoare triple {4124#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {4146#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:13:48,416 INFO L273 TraceCheckUtils]: 50: Hoare triple {4146#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4150#(and (= 5 |main_#t~mem1|) (= main_~i~0 5))} is VALID [2018-11-23 12:13:48,418 INFO L256 TraceCheckUtils]: 51: Hoare triple {4150#(and (= 5 |main_#t~mem1|) (= main_~i~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4154#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:13:48,418 INFO L273 TraceCheckUtils]: 52: Hoare triple {4154#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {4158#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:13:48,421 INFO L273 TraceCheckUtils]: 53: Hoare triple {4158#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3965#false} is VALID [2018-11-23 12:13:48,421 INFO L273 TraceCheckUtils]: 54: Hoare triple {3965#false} assume !false; {3965#false} is VALID [2018-11-23 12:13:48,427 INFO L134 CoverageAnalysis]: Checked inductivity of 111 backedges. 0 proven. 71 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-23 12:13:48,447 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:13:48,447 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 36 [2018-11-23 12:13:48,447 INFO L78 Accepts]: Start accepts. Automaton has 36 states. Word has length 55 [2018-11-23 12:13:48,448 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:13:48,448 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 36 states. [2018-11-23 12:13:48,553 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:48,553 INFO L459 AbstractCegarLoop]: Interpolant automaton has 36 states [2018-11-23 12:13:48,554 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2018-11-23 12:13:48,554 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=1155, Unknown=0, NotChecked=0, Total=1260 [2018-11-23 12:13:48,555 INFO L87 Difference]: Start difference. First operand 58 states and 59 transitions. Second operand 36 states. [2018-11-23 12:13:51,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:51,536 INFO L93 Difference]: Finished difference Result 68 states and 69 transitions. [2018-11-23 12:13:51,536 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2018-11-23 12:13:51,536 INFO L78 Accepts]: Start accepts. Automaton has 36 states. Word has length 55 [2018-11-23 12:13:51,537 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:13:51,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-23 12:13:51,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 54 transitions. [2018-11-23 12:13:51,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-23 12:13:51,541 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 54 transitions. [2018-11-23 12:13:51,541 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 54 transitions. [2018-11-23 12:13:51,912 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:51,913 INFO L225 Difference]: With dead ends: 68 [2018-11-23 12:13:51,914 INFO L226 Difference]: Without dead ends: 66 [2018-11-23 12:13:51,915 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 32 SyntacticMatches, 10 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 471 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=193, Invalid=1969, Unknown=0, NotChecked=0, Total=2162 [2018-11-23 12:13:51,915 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2018-11-23 12:13:52,104 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 65. [2018-11-23 12:13:52,104 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:13:52,104 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand 65 states. [2018-11-23 12:13:52,104 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 65 states. [2018-11-23 12:13:52,105 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 65 states. [2018-11-23 12:13:52,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:52,107 INFO L93 Difference]: Finished difference Result 66 states and 67 transitions. [2018-11-23 12:13:52,107 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 67 transitions. [2018-11-23 12:13:52,107 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:52,107 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:52,107 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 66 states. [2018-11-23 12:13:52,107 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 66 states. [2018-11-23 12:13:52,109 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:52,109 INFO L93 Difference]: Finished difference Result 66 states and 67 transitions. [2018-11-23 12:13:52,109 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 67 transitions. [2018-11-23 12:13:52,110 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:52,110 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:52,110 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:13:52,110 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:13:52,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 65 states. [2018-11-23 12:13:52,112 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 66 transitions. [2018-11-23 12:13:52,112 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 66 transitions. Word has length 55 [2018-11-23 12:13:52,112 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:13:52,112 INFO L480 AbstractCegarLoop]: Abstraction has 65 states and 66 transitions. [2018-11-23 12:13:52,112 INFO L481 AbstractCegarLoop]: Interpolant automaton has 36 states. [2018-11-23 12:13:52,112 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 66 transitions. [2018-11-23 12:13:52,113 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2018-11-23 12:13:52,113 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:13:52,113 INFO L402 BasicCegarLoop]: trace histogram [7, 7, 7, 6, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:13:52,114 INFO L423 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:13:52,114 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:13:52,114 INFO L82 PathProgramCache]: Analyzing trace with hash 843267090, now seen corresponding path program 11 times [2018-11-23 12:13:52,114 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:13:52,114 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:13:52,115 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:52,115 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:13:52,115 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:52,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:52,770 INFO L256 TraceCheckUtils]: 0: Hoare triple {4516#true} call ULTIMATE.init(); {4516#true} is VALID [2018-11-23 12:13:52,771 INFO L273 TraceCheckUtils]: 1: Hoare triple {4516#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {4516#true} is VALID [2018-11-23 12:13:52,771 INFO L273 TraceCheckUtils]: 2: Hoare triple {4516#true} assume true; {4516#true} is VALID [2018-11-23 12:13:52,771 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4516#true} {4516#true} #54#return; {4516#true} is VALID [2018-11-23 12:13:52,771 INFO L256 TraceCheckUtils]: 4: Hoare triple {4516#true} call #t~ret2 := main(); {4516#true} is VALID [2018-11-23 12:13:52,772 INFO L273 TraceCheckUtils]: 5: Hoare triple {4516#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {4516#true} is VALID [2018-11-23 12:13:52,772 INFO L273 TraceCheckUtils]: 6: Hoare triple {4516#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {4518#(= main_~i~0 0)} is VALID [2018-11-23 12:13:52,773 INFO L273 TraceCheckUtils]: 7: Hoare triple {4518#(= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {4519#(<= main_~i~0 1)} is VALID [2018-11-23 12:13:52,774 INFO L273 TraceCheckUtils]: 8: Hoare triple {4519#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {4520#(<= main_~i~0 2)} is VALID [2018-11-23 12:13:52,774 INFO L273 TraceCheckUtils]: 9: Hoare triple {4520#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {4521#(<= main_~i~0 3)} is VALID [2018-11-23 12:13:52,775 INFO L273 TraceCheckUtils]: 10: Hoare triple {4521#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {4522#(<= main_~i~0 4)} is VALID [2018-11-23 12:13:52,776 INFO L273 TraceCheckUtils]: 11: Hoare triple {4522#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {4523#(<= main_~i~0 5)} is VALID [2018-11-23 12:13:52,777 INFO L273 TraceCheckUtils]: 12: Hoare triple {4523#(<= main_~i~0 5)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {4524#(<= main_~i~0 6)} is VALID [2018-11-23 12:13:52,778 INFO L273 TraceCheckUtils]: 13: Hoare triple {4524#(<= main_~i~0 6)} assume !(~i~0 < ~N~0); {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:52,779 INFO L273 TraceCheckUtils]: 14: Hoare triple {4525#(<= ~N~0 6)} ~i~0 := 0; {4526#(and (<= ~N~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:13:52,779 INFO L273 TraceCheckUtils]: 15: Hoare triple {4526#(and (<= ~N~0 6) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4526#(and (<= ~N~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:13:52,780 INFO L256 TraceCheckUtils]: 16: Hoare triple {4526#(and (<= ~N~0 6) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4516#true} is VALID [2018-11-23 12:13:52,780 INFO L273 TraceCheckUtils]: 17: Hoare triple {4516#true} ~cond := #in~cond; {4516#true} is VALID [2018-11-23 12:13:52,780 INFO L273 TraceCheckUtils]: 18: Hoare triple {4516#true} assume !(0 == ~cond); {4516#true} is VALID [2018-11-23 12:13:52,780 INFO L273 TraceCheckUtils]: 19: Hoare triple {4516#true} assume true; {4516#true} is VALID [2018-11-23 12:13:52,781 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {4516#true} {4526#(and (<= ~N~0 6) (= main_~i~0 0))} #58#return; {4526#(and (<= ~N~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:13:52,782 INFO L273 TraceCheckUtils]: 21: Hoare triple {4526#(and (<= ~N~0 6) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {4527#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:13:52,783 INFO L273 TraceCheckUtils]: 22: Hoare triple {4527#(<= ~N~0 (+ main_~i~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4527#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:13:52,783 INFO L256 TraceCheckUtils]: 23: Hoare triple {4527#(<= ~N~0 (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4516#true} is VALID [2018-11-23 12:13:52,783 INFO L273 TraceCheckUtils]: 24: Hoare triple {4516#true} ~cond := #in~cond; {4516#true} is VALID [2018-11-23 12:13:52,783 INFO L273 TraceCheckUtils]: 25: Hoare triple {4516#true} assume !(0 == ~cond); {4516#true} is VALID [2018-11-23 12:13:52,784 INFO L273 TraceCheckUtils]: 26: Hoare triple {4516#true} assume true; {4516#true} is VALID [2018-11-23 12:13:52,785 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {4516#true} {4527#(<= ~N~0 (+ main_~i~0 5))} #58#return; {4527#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:13:52,785 INFO L273 TraceCheckUtils]: 28: Hoare triple {4527#(<= ~N~0 (+ main_~i~0 5))} havoc #t~mem1;~i~0 := 1 + ~i~0; {4528#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:13:52,786 INFO L273 TraceCheckUtils]: 29: Hoare triple {4528#(<= ~N~0 (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4528#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:13:52,786 INFO L256 TraceCheckUtils]: 30: Hoare triple {4528#(<= ~N~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4516#true} is VALID [2018-11-23 12:13:52,786 INFO L273 TraceCheckUtils]: 31: Hoare triple {4516#true} ~cond := #in~cond; {4516#true} is VALID [2018-11-23 12:13:52,786 INFO L273 TraceCheckUtils]: 32: Hoare triple {4516#true} assume !(0 == ~cond); {4516#true} is VALID [2018-11-23 12:13:52,786 INFO L273 TraceCheckUtils]: 33: Hoare triple {4516#true} assume true; {4516#true} is VALID [2018-11-23 12:13:52,787 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {4516#true} {4528#(<= ~N~0 (+ main_~i~0 4))} #58#return; {4528#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:13:52,787 INFO L273 TraceCheckUtils]: 35: Hoare triple {4528#(<= ~N~0 (+ main_~i~0 4))} havoc #t~mem1;~i~0 := 1 + ~i~0; {4529#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:13:52,788 INFO L273 TraceCheckUtils]: 36: Hoare triple {4529#(<= ~N~0 (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4529#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:13:52,788 INFO L256 TraceCheckUtils]: 37: Hoare triple {4529#(<= ~N~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4516#true} is VALID [2018-11-23 12:13:52,788 INFO L273 TraceCheckUtils]: 38: Hoare triple {4516#true} ~cond := #in~cond; {4516#true} is VALID [2018-11-23 12:13:52,788 INFO L273 TraceCheckUtils]: 39: Hoare triple {4516#true} assume !(0 == ~cond); {4516#true} is VALID [2018-11-23 12:13:52,789 INFO L273 TraceCheckUtils]: 40: Hoare triple {4516#true} assume true; {4516#true} is VALID [2018-11-23 12:13:52,790 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {4516#true} {4529#(<= ~N~0 (+ main_~i~0 3))} #58#return; {4529#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:13:52,790 INFO L273 TraceCheckUtils]: 42: Hoare triple {4529#(<= ~N~0 (+ main_~i~0 3))} havoc #t~mem1;~i~0 := 1 + ~i~0; {4530#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:13:52,791 INFO L273 TraceCheckUtils]: 43: Hoare triple {4530#(<= ~N~0 (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4530#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:13:52,791 INFO L256 TraceCheckUtils]: 44: Hoare triple {4530#(<= ~N~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4516#true} is VALID [2018-11-23 12:13:52,791 INFO L273 TraceCheckUtils]: 45: Hoare triple {4516#true} ~cond := #in~cond; {4516#true} is VALID [2018-11-23 12:13:52,792 INFO L273 TraceCheckUtils]: 46: Hoare triple {4516#true} assume !(0 == ~cond); {4516#true} is VALID [2018-11-23 12:13:52,792 INFO L273 TraceCheckUtils]: 47: Hoare triple {4516#true} assume true; {4516#true} is VALID [2018-11-23 12:13:52,793 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {4516#true} {4530#(<= ~N~0 (+ main_~i~0 2))} #58#return; {4530#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:13:52,794 INFO L273 TraceCheckUtils]: 49: Hoare triple {4530#(<= ~N~0 (+ main_~i~0 2))} havoc #t~mem1;~i~0 := 1 + ~i~0; {4531#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:13:52,794 INFO L273 TraceCheckUtils]: 50: Hoare triple {4531#(<= ~N~0 (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4531#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:13:52,795 INFO L256 TraceCheckUtils]: 51: Hoare triple {4531#(<= ~N~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4516#true} is VALID [2018-11-23 12:13:52,795 INFO L273 TraceCheckUtils]: 52: Hoare triple {4516#true} ~cond := #in~cond; {4516#true} is VALID [2018-11-23 12:13:52,795 INFO L273 TraceCheckUtils]: 53: Hoare triple {4516#true} assume !(0 == ~cond); {4516#true} is VALID [2018-11-23 12:13:52,795 INFO L273 TraceCheckUtils]: 54: Hoare triple {4516#true} assume true; {4516#true} is VALID [2018-11-23 12:13:52,796 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {4516#true} {4531#(<= ~N~0 (+ main_~i~0 1))} #58#return; {4531#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:13:52,797 INFO L273 TraceCheckUtils]: 56: Hoare triple {4531#(<= ~N~0 (+ main_~i~0 1))} havoc #t~mem1;~i~0 := 1 + ~i~0; {4532#(<= ~N~0 main_~i~0)} is VALID [2018-11-23 12:13:52,798 INFO L273 TraceCheckUtils]: 57: Hoare triple {4532#(<= ~N~0 main_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4517#false} is VALID [2018-11-23 12:13:52,798 INFO L256 TraceCheckUtils]: 58: Hoare triple {4517#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4517#false} is VALID [2018-11-23 12:13:52,798 INFO L273 TraceCheckUtils]: 59: Hoare triple {4517#false} ~cond := #in~cond; {4517#false} is VALID [2018-11-23 12:13:52,799 INFO L273 TraceCheckUtils]: 60: Hoare triple {4517#false} assume 0 == ~cond; {4517#false} is VALID [2018-11-23 12:13:52,799 INFO L273 TraceCheckUtils]: 61: Hoare triple {4517#false} assume !false; {4517#false} is VALID [2018-11-23 12:13:52,802 INFO L134 CoverageAnalysis]: Checked inductivity of 150 backedges. 53 proven. 37 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2018-11-23 12:13:52,802 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:13:52,802 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:13:52,815 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:13:52,855 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 7 check-sat command(s) [2018-11-23 12:13:52,856 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:13:52,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:52,874 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:13:53,225 INFO L256 TraceCheckUtils]: 0: Hoare triple {4516#true} call ULTIMATE.init(); {4516#true} is VALID [2018-11-23 12:13:53,225 INFO L273 TraceCheckUtils]: 1: Hoare triple {4516#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {4516#true} is VALID [2018-11-23 12:13:53,226 INFO L273 TraceCheckUtils]: 2: Hoare triple {4516#true} assume true; {4516#true} is VALID [2018-11-23 12:13:53,226 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4516#true} {4516#true} #54#return; {4516#true} is VALID [2018-11-23 12:13:53,226 INFO L256 TraceCheckUtils]: 4: Hoare triple {4516#true} call #t~ret2 := main(); {4516#true} is VALID [2018-11-23 12:13:53,226 INFO L273 TraceCheckUtils]: 5: Hoare triple {4516#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {4516#true} is VALID [2018-11-23 12:13:53,227 INFO L273 TraceCheckUtils]: 6: Hoare triple {4516#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {4554#(<= main_~i~0 0)} is VALID [2018-11-23 12:13:53,228 INFO L273 TraceCheckUtils]: 7: Hoare triple {4554#(<= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {4519#(<= main_~i~0 1)} is VALID [2018-11-23 12:13:53,228 INFO L273 TraceCheckUtils]: 8: Hoare triple {4519#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {4520#(<= main_~i~0 2)} is VALID [2018-11-23 12:13:53,229 INFO L273 TraceCheckUtils]: 9: Hoare triple {4520#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {4521#(<= main_~i~0 3)} is VALID [2018-11-23 12:13:53,230 INFO L273 TraceCheckUtils]: 10: Hoare triple {4521#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {4522#(<= main_~i~0 4)} is VALID [2018-11-23 12:13:53,230 INFO L273 TraceCheckUtils]: 11: Hoare triple {4522#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {4523#(<= main_~i~0 5)} is VALID [2018-11-23 12:13:53,231 INFO L273 TraceCheckUtils]: 12: Hoare triple {4523#(<= main_~i~0 5)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {4524#(<= main_~i~0 6)} is VALID [2018-11-23 12:13:53,232 INFO L273 TraceCheckUtils]: 13: Hoare triple {4524#(<= main_~i~0 6)} assume !(~i~0 < ~N~0); {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,233 INFO L273 TraceCheckUtils]: 14: Hoare triple {4525#(<= ~N~0 6)} ~i~0 := 0; {4579#(and (<= 0 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-23 12:13:53,233 INFO L273 TraceCheckUtils]: 15: Hoare triple {4579#(and (<= 0 main_~i~0) (<= ~N~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4579#(and (<= 0 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-23 12:13:53,235 INFO L256 TraceCheckUtils]: 16: Hoare triple {4579#(and (<= 0 main_~i~0) (<= ~N~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,235 INFO L273 TraceCheckUtils]: 17: Hoare triple {4525#(<= ~N~0 6)} ~cond := #in~cond; {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,236 INFO L273 TraceCheckUtils]: 18: Hoare triple {4525#(<= ~N~0 6)} assume !(0 == ~cond); {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,237 INFO L273 TraceCheckUtils]: 19: Hoare triple {4525#(<= ~N~0 6)} assume true; {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,237 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {4525#(<= ~N~0 6)} {4579#(and (<= 0 main_~i~0) (<= ~N~0 6))} #58#return; {4579#(and (<= 0 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-23 12:13:53,238 INFO L273 TraceCheckUtils]: 21: Hoare triple {4579#(and (<= 0 main_~i~0) (<= ~N~0 6))} havoc #t~mem1;~i~0 := 1 + ~i~0; {4601#(and (<= 1 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-23 12:13:53,239 INFO L273 TraceCheckUtils]: 22: Hoare triple {4601#(and (<= 1 main_~i~0) (<= ~N~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4601#(and (<= 1 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-23 12:13:53,240 INFO L256 TraceCheckUtils]: 23: Hoare triple {4601#(and (<= 1 main_~i~0) (<= ~N~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,241 INFO L273 TraceCheckUtils]: 24: Hoare triple {4525#(<= ~N~0 6)} ~cond := #in~cond; {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,241 INFO L273 TraceCheckUtils]: 25: Hoare triple {4525#(<= ~N~0 6)} assume !(0 == ~cond); {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,242 INFO L273 TraceCheckUtils]: 26: Hoare triple {4525#(<= ~N~0 6)} assume true; {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,243 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {4525#(<= ~N~0 6)} {4601#(and (<= 1 main_~i~0) (<= ~N~0 6))} #58#return; {4601#(and (<= 1 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-23 12:13:53,244 INFO L273 TraceCheckUtils]: 28: Hoare triple {4601#(and (<= 1 main_~i~0) (<= ~N~0 6))} havoc #t~mem1;~i~0 := 1 + ~i~0; {4623#(and (<= 2 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-23 12:13:53,244 INFO L273 TraceCheckUtils]: 29: Hoare triple {4623#(and (<= 2 main_~i~0) (<= ~N~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4623#(and (<= 2 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-23 12:13:53,246 INFO L256 TraceCheckUtils]: 30: Hoare triple {4623#(and (<= 2 main_~i~0) (<= ~N~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,246 INFO L273 TraceCheckUtils]: 31: Hoare triple {4525#(<= ~N~0 6)} ~cond := #in~cond; {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,247 INFO L273 TraceCheckUtils]: 32: Hoare triple {4525#(<= ~N~0 6)} assume !(0 == ~cond); {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,247 INFO L273 TraceCheckUtils]: 33: Hoare triple {4525#(<= ~N~0 6)} assume true; {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,248 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {4525#(<= ~N~0 6)} {4623#(and (<= 2 main_~i~0) (<= ~N~0 6))} #58#return; {4623#(and (<= 2 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-23 12:13:53,249 INFO L273 TraceCheckUtils]: 35: Hoare triple {4623#(and (<= 2 main_~i~0) (<= ~N~0 6))} havoc #t~mem1;~i~0 := 1 + ~i~0; {4645#(and (<= 3 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-23 12:13:53,250 INFO L273 TraceCheckUtils]: 36: Hoare triple {4645#(and (<= 3 main_~i~0) (<= ~N~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4645#(and (<= 3 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-23 12:13:53,251 INFO L256 TraceCheckUtils]: 37: Hoare triple {4645#(and (<= 3 main_~i~0) (<= ~N~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,252 INFO L273 TraceCheckUtils]: 38: Hoare triple {4525#(<= ~N~0 6)} ~cond := #in~cond; {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,252 INFO L273 TraceCheckUtils]: 39: Hoare triple {4525#(<= ~N~0 6)} assume !(0 == ~cond); {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,253 INFO L273 TraceCheckUtils]: 40: Hoare triple {4525#(<= ~N~0 6)} assume true; {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,254 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {4525#(<= ~N~0 6)} {4645#(and (<= 3 main_~i~0) (<= ~N~0 6))} #58#return; {4645#(and (<= 3 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-23 12:13:53,255 INFO L273 TraceCheckUtils]: 42: Hoare triple {4645#(and (<= 3 main_~i~0) (<= ~N~0 6))} havoc #t~mem1;~i~0 := 1 + ~i~0; {4667#(and (<= 4 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-23 12:13:53,256 INFO L273 TraceCheckUtils]: 43: Hoare triple {4667#(and (<= 4 main_~i~0) (<= ~N~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4667#(and (<= 4 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-23 12:13:53,257 INFO L256 TraceCheckUtils]: 44: Hoare triple {4667#(and (<= 4 main_~i~0) (<= ~N~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,257 INFO L273 TraceCheckUtils]: 45: Hoare triple {4525#(<= ~N~0 6)} ~cond := #in~cond; {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,258 INFO L273 TraceCheckUtils]: 46: Hoare triple {4525#(<= ~N~0 6)} assume !(0 == ~cond); {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,258 INFO L273 TraceCheckUtils]: 47: Hoare triple {4525#(<= ~N~0 6)} assume true; {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,259 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {4525#(<= ~N~0 6)} {4667#(and (<= 4 main_~i~0) (<= ~N~0 6))} #58#return; {4667#(and (<= 4 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-23 12:13:53,260 INFO L273 TraceCheckUtils]: 49: Hoare triple {4667#(and (<= 4 main_~i~0) (<= ~N~0 6))} havoc #t~mem1;~i~0 := 1 + ~i~0; {4689#(and (<= 5 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-23 12:13:53,261 INFO L273 TraceCheckUtils]: 50: Hoare triple {4689#(and (<= 5 main_~i~0) (<= ~N~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4689#(and (<= 5 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-23 12:13:53,262 INFO L256 TraceCheckUtils]: 51: Hoare triple {4689#(and (<= 5 main_~i~0) (<= ~N~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,263 INFO L273 TraceCheckUtils]: 52: Hoare triple {4525#(<= ~N~0 6)} ~cond := #in~cond; {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,263 INFO L273 TraceCheckUtils]: 53: Hoare triple {4525#(<= ~N~0 6)} assume !(0 == ~cond); {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,264 INFO L273 TraceCheckUtils]: 54: Hoare triple {4525#(<= ~N~0 6)} assume true; {4525#(<= ~N~0 6)} is VALID [2018-11-23 12:13:53,265 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {4525#(<= ~N~0 6)} {4689#(and (<= 5 main_~i~0) (<= ~N~0 6))} #58#return; {4689#(and (<= 5 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-23 12:13:53,266 INFO L273 TraceCheckUtils]: 56: Hoare triple {4689#(and (<= 5 main_~i~0) (<= ~N~0 6))} havoc #t~mem1;~i~0 := 1 + ~i~0; {4711#(and (<= 6 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-23 12:13:53,266 INFO L273 TraceCheckUtils]: 57: Hoare triple {4711#(and (<= 6 main_~i~0) (<= ~N~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4517#false} is VALID [2018-11-23 12:13:53,267 INFO L256 TraceCheckUtils]: 58: Hoare triple {4517#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4517#false} is VALID [2018-11-23 12:13:53,267 INFO L273 TraceCheckUtils]: 59: Hoare triple {4517#false} ~cond := #in~cond; {4517#false} is VALID [2018-11-23 12:13:53,267 INFO L273 TraceCheckUtils]: 60: Hoare triple {4517#false} assume 0 == ~cond; {4517#false} is VALID [2018-11-23 12:13:53,267 INFO L273 TraceCheckUtils]: 61: Hoare triple {4517#false} assume !false; {4517#false} is VALID [2018-11-23 12:13:53,271 INFO L134 CoverageAnalysis]: Checked inductivity of 150 backedges. 69 proven. 21 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2018-11-23 12:13:53,291 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:13:53,291 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 25 [2018-11-23 12:13:53,291 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 62 [2018-11-23 12:13:53,292 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:13:53,292 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states. [2018-11-23 12:13:53,369 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:53,370 INFO L459 AbstractCegarLoop]: Interpolant automaton has 25 states [2018-11-23 12:13:53,370 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2018-11-23 12:13:53,370 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=149, Invalid=451, Unknown=0, NotChecked=0, Total=600 [2018-11-23 12:13:53,370 INFO L87 Difference]: Start difference. First operand 65 states and 66 transitions. Second operand 25 states. [2018-11-23 12:13:55,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:55,248 INFO L93 Difference]: Finished difference Result 123 states and 126 transitions. [2018-11-23 12:13:55,248 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-23 12:13:55,248 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 62 [2018-11-23 12:13:55,248 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:13:55,249 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 12:13:55,253 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 93 transitions. [2018-11-23 12:13:55,254 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 12:13:55,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 93 transitions. [2018-11-23 12:13:55,260 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 93 transitions. [2018-11-23 12:13:55,396 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:55,398 INFO L225 Difference]: With dead ends: 123 [2018-11-23 12:13:55,398 INFO L226 Difference]: Without dead ends: 70 [2018-11-23 12:13:55,399 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 55 SyntacticMatches, 0 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 225 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=247, Invalid=745, Unknown=0, NotChecked=0, Total=992 [2018-11-23 12:13:55,400 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2018-11-23 12:13:56,531 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 66. [2018-11-23 12:13:56,531 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:13:56,532 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand 66 states. [2018-11-23 12:13:56,532 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 66 states. [2018-11-23 12:13:56,532 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 66 states. [2018-11-23 12:13:56,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:56,535 INFO L93 Difference]: Finished difference Result 70 states and 72 transitions. [2018-11-23 12:13:56,535 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 72 transitions. [2018-11-23 12:13:56,535 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:56,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:56,536 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 70 states. [2018-11-23 12:13:56,536 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 70 states. [2018-11-23 12:13:56,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:13:56,538 INFO L93 Difference]: Finished difference Result 70 states and 72 transitions. [2018-11-23 12:13:56,538 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 72 transitions. [2018-11-23 12:13:56,538 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:56,539 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:13:56,539 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:13:56,539 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:13:56,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 66 states. [2018-11-23 12:13:56,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 67 transitions. [2018-11-23 12:13:56,541 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 67 transitions. Word has length 62 [2018-11-23 12:13:56,541 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:13:56,541 INFO L480 AbstractCegarLoop]: Abstraction has 66 states and 67 transitions. [2018-11-23 12:13:56,541 INFO L481 AbstractCegarLoop]: Interpolant automaton has 25 states. [2018-11-23 12:13:56,541 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 67 transitions. [2018-11-23 12:13:56,542 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2018-11-23 12:13:56,542 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:13:56,542 INFO L402 BasicCegarLoop]: trace histogram [7, 7, 7, 7, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:13:56,542 INFO L423 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:13:56,543 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:13:56,543 INFO L82 PathProgramCache]: Analyzing trace with hash 2015955443, now seen corresponding path program 12 times [2018-11-23 12:13:56,543 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:13:56,543 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:13:56,544 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:56,544 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:13:56,544 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:13:56,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:57,284 INFO L256 TraceCheckUtils]: 0: Hoare triple {5159#true} call ULTIMATE.init(); {5159#true} is VALID [2018-11-23 12:13:57,285 INFO L273 TraceCheckUtils]: 1: Hoare triple {5159#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {5159#true} is VALID [2018-11-23 12:13:57,285 INFO L273 TraceCheckUtils]: 2: Hoare triple {5159#true} assume true; {5159#true} is VALID [2018-11-23 12:13:57,285 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5159#true} {5159#true} #54#return; {5159#true} is VALID [2018-11-23 12:13:57,285 INFO L256 TraceCheckUtils]: 4: Hoare triple {5159#true} call #t~ret2 := main(); {5159#true} is VALID [2018-11-23 12:13:57,285 INFO L273 TraceCheckUtils]: 5: Hoare triple {5159#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {5159#true} is VALID [2018-11-23 12:13:57,286 INFO L273 TraceCheckUtils]: 6: Hoare triple {5159#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {5161#(= main_~k~0 0)} is VALID [2018-11-23 12:13:57,287 INFO L273 TraceCheckUtils]: 7: Hoare triple {5161#(= main_~k~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5162#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-23 12:13:57,287 INFO L273 TraceCheckUtils]: 8: Hoare triple {5162#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5163#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-23 12:13:57,288 INFO L273 TraceCheckUtils]: 9: Hoare triple {5163#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5164#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-23 12:13:57,289 INFO L273 TraceCheckUtils]: 10: Hoare triple {5164#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5165#(and (<= main_~k~0 4) (<= 4 main_~k~0))} is VALID [2018-11-23 12:13:57,290 INFO L273 TraceCheckUtils]: 11: Hoare triple {5165#(and (<= main_~k~0 4) (<= 4 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5166#(and (<= main_~k~0 5) (<= 5 main_~k~0))} is VALID [2018-11-23 12:13:57,291 INFO L273 TraceCheckUtils]: 12: Hoare triple {5166#(and (<= main_~k~0 5) (<= 5 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5167#(and (<= 6 main_~k~0) (<= main_~k~0 6))} is VALID [2018-11-23 12:13:57,292 INFO L273 TraceCheckUtils]: 13: Hoare triple {5167#(and (<= 6 main_~k~0) (<= main_~k~0 6))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5168#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6)} is VALID [2018-11-23 12:13:57,292 INFO L273 TraceCheckUtils]: 14: Hoare triple {5168#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6)} assume !(~i~0 < ~N~0); {5168#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6)} is VALID [2018-11-23 12:13:57,293 INFO L273 TraceCheckUtils]: 15: Hoare triple {5168#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6)} ~i~0 := 0; {5169#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6) (= main_~i~0 0))} is VALID [2018-11-23 12:13:57,294 INFO L273 TraceCheckUtils]: 16: Hoare triple {5169#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5169#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6) (= main_~i~0 0))} is VALID [2018-11-23 12:13:57,294 INFO L256 TraceCheckUtils]: 17: Hoare triple {5169#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5159#true} is VALID [2018-11-23 12:13:57,295 INFO L273 TraceCheckUtils]: 18: Hoare triple {5159#true} ~cond := #in~cond; {5170#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:13:57,295 INFO L273 TraceCheckUtils]: 19: Hoare triple {5170#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {5171#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:13:57,296 INFO L273 TraceCheckUtils]: 20: Hoare triple {5171#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5171#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:13:57,296 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {5171#(not (= |__VERIFIER_assert_#in~cond| 0))} {5169#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6) (= main_~i~0 0))} #58#return; {5169#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6) (= main_~i~0 0))} is VALID [2018-11-23 12:13:57,297 INFO L273 TraceCheckUtils]: 22: Hoare triple {5169#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {5172#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-23 12:13:57,298 INFO L273 TraceCheckUtils]: 23: Hoare triple {5172#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5172#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-23 12:13:57,298 INFO L256 TraceCheckUtils]: 24: Hoare triple {5172#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5159#true} is VALID [2018-11-23 12:13:57,298 INFO L273 TraceCheckUtils]: 25: Hoare triple {5159#true} ~cond := #in~cond; {5159#true} is VALID [2018-11-23 12:13:57,299 INFO L273 TraceCheckUtils]: 26: Hoare triple {5159#true} assume !(0 == ~cond); {5159#true} is VALID [2018-11-23 12:13:57,299 INFO L273 TraceCheckUtils]: 27: Hoare triple {5159#true} assume true; {5159#true} is VALID [2018-11-23 12:13:57,300 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {5159#true} {5172#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} #58#return; {5172#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-23 12:13:57,301 INFO L273 TraceCheckUtils]: 29: Hoare triple {5172#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} havoc #t~mem1;~i~0 := 1 + ~i~0; {5173#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:13:57,301 INFO L273 TraceCheckUtils]: 30: Hoare triple {5173#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5173#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:13:57,302 INFO L256 TraceCheckUtils]: 31: Hoare triple {5173#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5159#true} is VALID [2018-11-23 12:13:57,302 INFO L273 TraceCheckUtils]: 32: Hoare triple {5159#true} ~cond := #in~cond; {5159#true} is VALID [2018-11-23 12:13:57,302 INFO L273 TraceCheckUtils]: 33: Hoare triple {5159#true} assume !(0 == ~cond); {5159#true} is VALID [2018-11-23 12:13:57,302 INFO L273 TraceCheckUtils]: 34: Hoare triple {5159#true} assume true; {5159#true} is VALID [2018-11-23 12:13:57,303 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {5159#true} {5173#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} #58#return; {5173#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:13:57,304 INFO L273 TraceCheckUtils]: 36: Hoare triple {5173#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} havoc #t~mem1;~i~0 := 1 + ~i~0; {5174#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:13:57,305 INFO L273 TraceCheckUtils]: 37: Hoare triple {5174#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5174#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:13:57,305 INFO L256 TraceCheckUtils]: 38: Hoare triple {5174#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5159#true} is VALID [2018-11-23 12:13:57,305 INFO L273 TraceCheckUtils]: 39: Hoare triple {5159#true} ~cond := #in~cond; {5159#true} is VALID [2018-11-23 12:13:57,305 INFO L273 TraceCheckUtils]: 40: Hoare triple {5159#true} assume !(0 == ~cond); {5159#true} is VALID [2018-11-23 12:13:57,306 INFO L273 TraceCheckUtils]: 41: Hoare triple {5159#true} assume true; {5159#true} is VALID [2018-11-23 12:13:57,306 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {5159#true} {5174#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} #58#return; {5174#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:13:57,307 INFO L273 TraceCheckUtils]: 43: Hoare triple {5174#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} havoc #t~mem1;~i~0 := 1 + ~i~0; {5175#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:13:57,308 INFO L273 TraceCheckUtils]: 44: Hoare triple {5175#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5175#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:13:57,308 INFO L256 TraceCheckUtils]: 45: Hoare triple {5175#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5159#true} is VALID [2018-11-23 12:13:57,308 INFO L273 TraceCheckUtils]: 46: Hoare triple {5159#true} ~cond := #in~cond; {5159#true} is VALID [2018-11-23 12:13:57,309 INFO L273 TraceCheckUtils]: 47: Hoare triple {5159#true} assume !(0 == ~cond); {5159#true} is VALID [2018-11-23 12:13:57,309 INFO L273 TraceCheckUtils]: 48: Hoare triple {5159#true} assume true; {5159#true} is VALID [2018-11-23 12:13:57,310 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {5159#true} {5175#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} #58#return; {5175#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:13:57,311 INFO L273 TraceCheckUtils]: 50: Hoare triple {5175#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} havoc #t~mem1;~i~0 := 1 + ~i~0; {5176#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:13:57,311 INFO L273 TraceCheckUtils]: 51: Hoare triple {5176#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5176#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:13:57,311 INFO L256 TraceCheckUtils]: 52: Hoare triple {5176#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5159#true} is VALID [2018-11-23 12:13:57,312 INFO L273 TraceCheckUtils]: 53: Hoare triple {5159#true} ~cond := #in~cond; {5159#true} is VALID [2018-11-23 12:13:57,312 INFO L273 TraceCheckUtils]: 54: Hoare triple {5159#true} assume !(0 == ~cond); {5159#true} is VALID [2018-11-23 12:13:57,312 INFO L273 TraceCheckUtils]: 55: Hoare triple {5159#true} assume true; {5159#true} is VALID [2018-11-23 12:13:57,313 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {5159#true} {5176#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} #58#return; {5176#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:13:57,314 INFO L273 TraceCheckUtils]: 57: Hoare triple {5176#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} havoc #t~mem1;~i~0 := 1 + ~i~0; {5177#(= 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:13:57,315 INFO L273 TraceCheckUtils]: 58: Hoare triple {5177#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5178#(= main_~i~0 |main_#t~mem1|)} is VALID [2018-11-23 12:13:57,315 INFO L256 TraceCheckUtils]: 59: Hoare triple {5178#(= main_~i~0 |main_#t~mem1|)} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5171#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:13:57,316 INFO L273 TraceCheckUtils]: 60: Hoare triple {5171#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {5179#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:13:57,316 INFO L273 TraceCheckUtils]: 61: Hoare triple {5179#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {5160#false} is VALID [2018-11-23 12:13:57,317 INFO L273 TraceCheckUtils]: 62: Hoare triple {5160#false} assume !false; {5160#false} is VALID [2018-11-23 12:13:57,323 INFO L134 CoverageAnalysis]: Checked inductivity of 157 backedges. 11 proven. 101 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2018-11-23 12:13:57,323 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:13:57,323 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:13:57,332 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:13:57,372 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2018-11-23 12:13:57,372 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:13:57,387 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:13:57,388 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:13:57,668 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 12:13:57,672 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 12:13:57,674 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:13:57,676 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:57,682 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:57,682 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 12:13:59,120 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 21 treesize of output 17 [2018-11-23 12:13:59,125 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:13:59,126 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 12:13:59,128 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:13:59,132 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:13:59,138 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:13:59,138 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:27, output treesize:10 [2018-11-23 12:13:59,141 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:13:59,141 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, |main_~#a~0.offset|]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= 6 (select .cse0 (+ |main_~#a~0.offset| 24))) (= |main_#t~mem1| (select .cse0 (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (<= 6 main_~i~0) (<= main_~i~0 6))) [2018-11-23 12:13:59,142 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 6 |main_#t~mem1|) (<= 6 main_~i~0) (<= main_~i~0 6)) [2018-11-23 12:13:59,240 INFO L256 TraceCheckUtils]: 0: Hoare triple {5159#true} call ULTIMATE.init(); {5159#true} is VALID [2018-11-23 12:13:59,241 INFO L273 TraceCheckUtils]: 1: Hoare triple {5159#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {5159#true} is VALID [2018-11-23 12:13:59,241 INFO L273 TraceCheckUtils]: 2: Hoare triple {5159#true} assume true; {5159#true} is VALID [2018-11-23 12:13:59,241 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5159#true} {5159#true} #54#return; {5159#true} is VALID [2018-11-23 12:13:59,241 INFO L256 TraceCheckUtils]: 4: Hoare triple {5159#true} call #t~ret2 := main(); {5159#true} is VALID [2018-11-23 12:13:59,241 INFO L273 TraceCheckUtils]: 5: Hoare triple {5159#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {5159#true} is VALID [2018-11-23 12:13:59,242 INFO L273 TraceCheckUtils]: 6: Hoare triple {5159#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {5201#(and (= main_~k~0 0) (<= main_~i~0 0))} is VALID [2018-11-23 12:13:59,243 INFO L273 TraceCheckUtils]: 7: Hoare triple {5201#(and (= main_~k~0 0) (<= main_~i~0 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5205#(and (= main_~k~0 1) (<= main_~i~0 1))} is VALID [2018-11-23 12:13:59,244 INFO L273 TraceCheckUtils]: 8: Hoare triple {5205#(and (= main_~k~0 1) (<= main_~i~0 1))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5209#(and (<= main_~i~0 2) (= main_~k~0 2))} is VALID [2018-11-23 12:13:59,245 INFO L273 TraceCheckUtils]: 9: Hoare triple {5209#(and (<= main_~i~0 2) (= main_~k~0 2))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5213#(and (<= main_~i~0 3) (= main_~k~0 3))} is VALID [2018-11-23 12:13:59,245 INFO L273 TraceCheckUtils]: 10: Hoare triple {5213#(and (<= main_~i~0 3) (= main_~k~0 3))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5217#(and (= main_~k~0 4) (<= main_~i~0 4))} is VALID [2018-11-23 12:13:59,246 INFO L273 TraceCheckUtils]: 11: Hoare triple {5217#(and (= main_~k~0 4) (<= main_~i~0 4))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5221#(and (<= main_~i~0 5) (= main_~k~0 5))} is VALID [2018-11-23 12:13:59,247 INFO L273 TraceCheckUtils]: 12: Hoare triple {5221#(and (<= main_~i~0 5) (= main_~k~0 5))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5225#(and (= main_~k~0 6) (<= main_~i~0 6))} is VALID [2018-11-23 12:13:59,248 INFO L273 TraceCheckUtils]: 13: Hoare triple {5225#(and (= main_~k~0 6) (<= main_~i~0 6))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5229#(and (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= main_~i~0 7))} is VALID [2018-11-23 12:13:59,249 INFO L273 TraceCheckUtils]: 14: Hoare triple {5229#(and (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= main_~i~0 7))} assume !(~i~0 < ~N~0); {5233#(and (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,250 INFO L273 TraceCheckUtils]: 15: Hoare triple {5233#(and (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} ~i~0 := 0; {5237#(and (<= 0 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,251 INFO L273 TraceCheckUtils]: 16: Hoare triple {5237#(and (<= 0 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5237#(and (<= 0 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,252 INFO L256 TraceCheckUtils]: 17: Hoare triple {5237#(and (<= 0 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,262 INFO L273 TraceCheckUtils]: 18: Hoare triple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} ~cond := #in~cond; {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,263 INFO L273 TraceCheckUtils]: 19: Hoare triple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} assume !(0 == ~cond); {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,263 INFO L273 TraceCheckUtils]: 20: Hoare triple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} assume true; {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,264 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} {5237#(and (<= 0 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} #58#return; {5237#(and (<= 0 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,264 INFO L273 TraceCheckUtils]: 22: Hoare triple {5237#(and (<= 0 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} havoc #t~mem1;~i~0 := 1 + ~i~0; {5260#(and (<= 1 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,265 INFO L273 TraceCheckUtils]: 23: Hoare triple {5260#(and (<= 1 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5260#(and (<= 1 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,266 INFO L256 TraceCheckUtils]: 24: Hoare triple {5260#(and (<= 1 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,266 INFO L273 TraceCheckUtils]: 25: Hoare triple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} ~cond := #in~cond; {5270#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:13:59,267 INFO L273 TraceCheckUtils]: 26: Hoare triple {5270#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {5274#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,267 INFO L273 TraceCheckUtils]: 27: Hoare triple {5274#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} assume true; {5274#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,268 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {5274#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} {5260#(and (<= 1 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} #58#return; {5260#(and (<= 1 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,269 INFO L273 TraceCheckUtils]: 29: Hoare triple {5260#(and (<= 1 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} havoc #t~mem1;~i~0 := 1 + ~i~0; {5284#(and (<= 2 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,270 INFO L273 TraceCheckUtils]: 30: Hoare triple {5284#(and (<= 2 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5284#(and (<= 2 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,271 INFO L256 TraceCheckUtils]: 31: Hoare triple {5284#(and (<= 2 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,272 INFO L273 TraceCheckUtils]: 32: Hoare triple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} ~cond := #in~cond; {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,273 INFO L273 TraceCheckUtils]: 33: Hoare triple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} assume !(0 == ~cond); {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,273 INFO L273 TraceCheckUtils]: 34: Hoare triple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} assume true; {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,274 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} {5284#(and (<= 2 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} #58#return; {5284#(and (<= 2 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,275 INFO L273 TraceCheckUtils]: 36: Hoare triple {5284#(and (<= 2 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} havoc #t~mem1;~i~0 := 1 + ~i~0; {5306#(and (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= 3 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,276 INFO L273 TraceCheckUtils]: 37: Hoare triple {5306#(and (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= 3 main_~i~0) (<= ~N~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5306#(and (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= 3 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,278 INFO L256 TraceCheckUtils]: 38: Hoare triple {5306#(and (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= 3 main_~i~0) (<= ~N~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,279 INFO L273 TraceCheckUtils]: 39: Hoare triple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} ~cond := #in~cond; {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,279 INFO L273 TraceCheckUtils]: 40: Hoare triple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} assume !(0 == ~cond); {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,280 INFO L273 TraceCheckUtils]: 41: Hoare triple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} assume true; {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,281 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} {5306#(and (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= 3 main_~i~0) (<= ~N~0 7))} #58#return; {5306#(and (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= 3 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,282 INFO L273 TraceCheckUtils]: 43: Hoare triple {5306#(and (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= 3 main_~i~0) (<= ~N~0 7))} havoc #t~mem1;~i~0 := 1 + ~i~0; {5328#(and (<= 4 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,283 INFO L273 TraceCheckUtils]: 44: Hoare triple {5328#(and (<= 4 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5328#(and (<= 4 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,284 INFO L256 TraceCheckUtils]: 45: Hoare triple {5328#(and (<= 4 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,285 INFO L273 TraceCheckUtils]: 46: Hoare triple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} ~cond := #in~cond; {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,286 INFO L273 TraceCheckUtils]: 47: Hoare triple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} assume !(0 == ~cond); {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,286 INFO L273 TraceCheckUtils]: 48: Hoare triple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} assume true; {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,287 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} {5328#(and (<= 4 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} #58#return; {5328#(and (<= 4 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,288 INFO L273 TraceCheckUtils]: 50: Hoare triple {5328#(and (<= 4 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} havoc #t~mem1;~i~0 := 1 + ~i~0; {5350#(and (<= 5 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,289 INFO L273 TraceCheckUtils]: 51: Hoare triple {5350#(and (<= 5 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5350#(and (<= 5 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,290 INFO L256 TraceCheckUtils]: 52: Hoare triple {5350#(and (<= 5 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,291 INFO L273 TraceCheckUtils]: 53: Hoare triple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} ~cond := #in~cond; {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,292 INFO L273 TraceCheckUtils]: 54: Hoare triple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} assume !(0 == ~cond); {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,293 INFO L273 TraceCheckUtils]: 55: Hoare triple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} assume true; {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,294 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {5244#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ |v_main_~#a~0.offset_BEFORE_CALL_16| 24)) 6)) (<= ~N~0 7))} {5350#(and (<= 5 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} #58#return; {5350#(and (<= 5 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,294 INFO L273 TraceCheckUtils]: 57: Hoare triple {5350#(and (<= 5 main_~i~0) (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= ~N~0 7))} havoc #t~mem1;~i~0 := 1 + ~i~0; {5372#(and (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= 6 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-23 12:13:59,296 INFO L273 TraceCheckUtils]: 58: Hoare triple {5372#(and (= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 24))) (<= 6 main_~i~0) (<= ~N~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5376#(and (= 6 |main_#t~mem1|) (<= 6 main_~i~0) (<= main_~i~0 6))} is VALID [2018-11-23 12:13:59,297 INFO L256 TraceCheckUtils]: 59: Hoare triple {5376#(and (= 6 |main_#t~mem1|) (<= 6 main_~i~0) (<= main_~i~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5380#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:13:59,297 INFO L273 TraceCheckUtils]: 60: Hoare triple {5380#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {5384#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:13:59,298 INFO L273 TraceCheckUtils]: 61: Hoare triple {5384#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5160#false} is VALID [2018-11-23 12:13:59,298 INFO L273 TraceCheckUtils]: 62: Hoare triple {5160#false} assume !false; {5160#false} is VALID [2018-11-23 12:13:59,309 INFO L134 CoverageAnalysis]: Checked inductivity of 157 backedges. 54 proven. 58 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2018-11-23 12:13:59,329 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:13:59,329 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 24] total 43 [2018-11-23 12:13:59,330 INFO L78 Accepts]: Start accepts. Automaton has 43 states. Word has length 63 [2018-11-23 12:13:59,330 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:13:59,330 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 43 states. [2018-11-23 12:13:59,436 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:13:59,436 INFO L459 AbstractCegarLoop]: Interpolant automaton has 43 states [2018-11-23 12:13:59,437 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 43 interpolants. [2018-11-23 12:13:59,438 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=144, Invalid=1662, Unknown=0, NotChecked=0, Total=1806 [2018-11-23 12:13:59,438 INFO L87 Difference]: Start difference. First operand 66 states and 67 transitions. Second operand 43 states. [2018-11-23 12:14:01,963 WARN L180 SmtUtils]: Spent 108.00 ms on a formula simplification that was a NOOP. DAG size: 16 [2018-11-23 12:14:03,266 WARN L180 SmtUtils]: Spent 149.00 ms on a formula simplification that was a NOOP. DAG size: 24 [2018-11-23 12:14:04,042 WARN L180 SmtUtils]: Spent 121.00 ms on a formula simplification that was a NOOP. DAG size: 20 [2018-11-23 12:14:12,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:12,028 INFO L93 Difference]: Finished difference Result 128 states and 131 transitions. [2018-11-23 12:14:12,028 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 55 states. [2018-11-23 12:14:12,028 INFO L78 Accepts]: Start accepts. Automaton has 43 states. Word has length 63 [2018-11-23 12:14:12,028 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:12,029 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 43 states. [2018-11-23 12:14:12,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 98 transitions. [2018-11-23 12:14:12,032 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 43 states. [2018-11-23 12:14:12,035 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 98 transitions. [2018-11-23 12:14:12,035 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 55 states and 98 transitions. [2018-11-23 12:14:12,636 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:12,639 INFO L225 Difference]: With dead ends: 128 [2018-11-23 12:14:12,639 INFO L226 Difference]: Without dead ends: 75 [2018-11-23 12:14:12,642 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 32 SyntacticMatches, 12 SemanticMatches, 80 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1752 ImplicationChecksByTransitivity, 4.3s TimeCoverageRelationStatistics Valid=547, Invalid=6095, Unknown=0, NotChecked=0, Total=6642 [2018-11-23 12:14:12,642 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2018-11-23 12:14:13,008 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 74. [2018-11-23 12:14:13,008 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:13,008 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand 74 states. [2018-11-23 12:14:13,008 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 74 states. [2018-11-23 12:14:13,008 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 74 states. [2018-11-23 12:14:13,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:13,012 INFO L93 Difference]: Finished difference Result 75 states and 76 transitions. [2018-11-23 12:14:13,012 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 76 transitions. [2018-11-23 12:14:13,012 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:13,012 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:13,013 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 75 states. [2018-11-23 12:14:13,013 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 75 states. [2018-11-23 12:14:13,015 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:13,015 INFO L93 Difference]: Finished difference Result 75 states and 76 transitions. [2018-11-23 12:14:13,016 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 76 transitions. [2018-11-23 12:14:13,016 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:13,016 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:13,016 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:13,016 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:13,017 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2018-11-23 12:14:13,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 75 transitions. [2018-11-23 12:14:13,019 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 75 transitions. Word has length 63 [2018-11-23 12:14:13,019 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:13,019 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 75 transitions. [2018-11-23 12:14:13,020 INFO L481 AbstractCegarLoop]: Interpolant automaton has 43 states. [2018-11-23 12:14:13,020 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 75 transitions. [2018-11-23 12:14:13,020 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2018-11-23 12:14:13,021 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:13,021 INFO L402 BasicCegarLoop]: trace histogram [8, 8, 8, 8, 7, 7, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:14:13,021 INFO L423 AbstractCegarLoop]: === Iteration 16 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:13,021 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:13,021 INFO L82 PathProgramCache]: Analyzing trace with hash 205038873, now seen corresponding path program 13 times [2018-11-23 12:14:13,022 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:13,022 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:13,022 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:13,023 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:14:13,023 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:13,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:14,771 INFO L256 TraceCheckUtils]: 0: Hoare triple {5916#true} call ULTIMATE.init(); {5916#true} is VALID [2018-11-23 12:14:14,771 INFO L273 TraceCheckUtils]: 1: Hoare triple {5916#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {5916#true} is VALID [2018-11-23 12:14:14,771 INFO L273 TraceCheckUtils]: 2: Hoare triple {5916#true} assume true; {5916#true} is VALID [2018-11-23 12:14:14,771 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5916#true} {5916#true} #54#return; {5916#true} is VALID [2018-11-23 12:14:14,772 INFO L256 TraceCheckUtils]: 4: Hoare triple {5916#true} call #t~ret2 := main(); {5916#true} is VALID [2018-11-23 12:14:14,772 INFO L273 TraceCheckUtils]: 5: Hoare triple {5916#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {5916#true} is VALID [2018-11-23 12:14:14,772 INFO L273 TraceCheckUtils]: 6: Hoare triple {5916#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {5918#(= main_~k~0 0)} is VALID [2018-11-23 12:14:14,773 INFO L273 TraceCheckUtils]: 7: Hoare triple {5918#(= main_~k~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5919#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-23 12:14:14,774 INFO L273 TraceCheckUtils]: 8: Hoare triple {5919#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5920#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-23 12:14:14,774 INFO L273 TraceCheckUtils]: 9: Hoare triple {5920#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5921#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-23 12:14:14,775 INFO L273 TraceCheckUtils]: 10: Hoare triple {5921#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5922#(and (<= main_~k~0 4) (<= 4 main_~k~0))} is VALID [2018-11-23 12:14:14,776 INFO L273 TraceCheckUtils]: 11: Hoare triple {5922#(and (<= main_~k~0 4) (<= 4 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5923#(and (<= main_~k~0 5) (<= 5 main_~k~0))} is VALID [2018-11-23 12:14:14,777 INFO L273 TraceCheckUtils]: 12: Hoare triple {5923#(and (<= main_~k~0 5) (<= 5 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5924#(and (<= 6 main_~k~0) (<= main_~k~0 6))} is VALID [2018-11-23 12:14:14,778 INFO L273 TraceCheckUtils]: 13: Hoare triple {5924#(and (<= 6 main_~k~0) (<= main_~k~0 6))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5925#(and (<= main_~k~0 7) (<= 7 main_~k~0))} is VALID [2018-11-23 12:14:14,780 INFO L273 TraceCheckUtils]: 14: Hoare triple {5925#(and (<= main_~k~0 7) (<= 7 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5926#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7)} is VALID [2018-11-23 12:14:14,780 INFO L273 TraceCheckUtils]: 15: Hoare triple {5926#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7)} assume !(~i~0 < ~N~0); {5926#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7)} is VALID [2018-11-23 12:14:14,781 INFO L273 TraceCheckUtils]: 16: Hoare triple {5926#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7)} ~i~0 := 0; {5927#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7) (= main_~i~0 0))} is VALID [2018-11-23 12:14:14,782 INFO L273 TraceCheckUtils]: 17: Hoare triple {5927#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5927#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7) (= main_~i~0 0))} is VALID [2018-11-23 12:14:14,782 INFO L256 TraceCheckUtils]: 18: Hoare triple {5927#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5916#true} is VALID [2018-11-23 12:14:14,782 INFO L273 TraceCheckUtils]: 19: Hoare triple {5916#true} ~cond := #in~cond; {5928#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:14:14,783 INFO L273 TraceCheckUtils]: 20: Hoare triple {5928#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {5929#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:14:14,784 INFO L273 TraceCheckUtils]: 21: Hoare triple {5929#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5929#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:14:14,785 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {5929#(not (= |__VERIFIER_assert_#in~cond| 0))} {5927#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7) (= main_~i~0 0))} #58#return; {5927#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7) (= main_~i~0 0))} is VALID [2018-11-23 12:14:14,786 INFO L273 TraceCheckUtils]: 23: Hoare triple {5927#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {5930#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} is VALID [2018-11-23 12:14:14,787 INFO L273 TraceCheckUtils]: 24: Hoare triple {5930#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5930#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} is VALID [2018-11-23 12:14:14,787 INFO L256 TraceCheckUtils]: 25: Hoare triple {5930#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5916#true} is VALID [2018-11-23 12:14:14,787 INFO L273 TraceCheckUtils]: 26: Hoare triple {5916#true} ~cond := #in~cond; {5916#true} is VALID [2018-11-23 12:14:14,787 INFO L273 TraceCheckUtils]: 27: Hoare triple {5916#true} assume !(0 == ~cond); {5916#true} is VALID [2018-11-23 12:14:14,788 INFO L273 TraceCheckUtils]: 28: Hoare triple {5916#true} assume true; {5916#true} is VALID [2018-11-23 12:14:14,789 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {5916#true} {5930#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} #58#return; {5930#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} is VALID [2018-11-23 12:14:14,790 INFO L273 TraceCheckUtils]: 30: Hoare triple {5930#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} havoc #t~mem1;~i~0 := 1 + ~i~0; {5931#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-23 12:14:14,790 INFO L273 TraceCheckUtils]: 31: Hoare triple {5931#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5931#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-23 12:14:14,790 INFO L256 TraceCheckUtils]: 32: Hoare triple {5931#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5916#true} is VALID [2018-11-23 12:14:14,791 INFO L273 TraceCheckUtils]: 33: Hoare triple {5916#true} ~cond := #in~cond; {5916#true} is VALID [2018-11-23 12:14:14,791 INFO L273 TraceCheckUtils]: 34: Hoare triple {5916#true} assume !(0 == ~cond); {5916#true} is VALID [2018-11-23 12:14:14,791 INFO L273 TraceCheckUtils]: 35: Hoare triple {5916#true} assume true; {5916#true} is VALID [2018-11-23 12:14:14,792 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {5916#true} {5931#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} #58#return; {5931#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-23 12:14:14,792 INFO L273 TraceCheckUtils]: 37: Hoare triple {5931#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} havoc #t~mem1;~i~0 := 1 + ~i~0; {5932#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:14:14,793 INFO L273 TraceCheckUtils]: 38: Hoare triple {5932#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5932#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:14:14,793 INFO L256 TraceCheckUtils]: 39: Hoare triple {5932#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5916#true} is VALID [2018-11-23 12:14:14,793 INFO L273 TraceCheckUtils]: 40: Hoare triple {5916#true} ~cond := #in~cond; {5916#true} is VALID [2018-11-23 12:14:14,794 INFO L273 TraceCheckUtils]: 41: Hoare triple {5916#true} assume !(0 == ~cond); {5916#true} is VALID [2018-11-23 12:14:14,794 INFO L273 TraceCheckUtils]: 42: Hoare triple {5916#true} assume true; {5916#true} is VALID [2018-11-23 12:14:14,795 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {5916#true} {5932#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} #58#return; {5932#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:14:14,796 INFO L273 TraceCheckUtils]: 44: Hoare triple {5932#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} havoc #t~mem1;~i~0 := 1 + ~i~0; {5933#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:14:14,797 INFO L273 TraceCheckUtils]: 45: Hoare triple {5933#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5933#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:14:14,797 INFO L256 TraceCheckUtils]: 46: Hoare triple {5933#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5916#true} is VALID [2018-11-23 12:14:14,797 INFO L273 TraceCheckUtils]: 47: Hoare triple {5916#true} ~cond := #in~cond; {5916#true} is VALID [2018-11-23 12:14:14,797 INFO L273 TraceCheckUtils]: 48: Hoare triple {5916#true} assume !(0 == ~cond); {5916#true} is VALID [2018-11-23 12:14:14,797 INFO L273 TraceCheckUtils]: 49: Hoare triple {5916#true} assume true; {5916#true} is VALID [2018-11-23 12:14:14,799 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {5916#true} {5933#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} #58#return; {5933#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:14:14,800 INFO L273 TraceCheckUtils]: 51: Hoare triple {5933#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} havoc #t~mem1;~i~0 := 1 + ~i~0; {5934#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:14:14,800 INFO L273 TraceCheckUtils]: 52: Hoare triple {5934#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5934#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:14:14,800 INFO L256 TraceCheckUtils]: 53: Hoare triple {5934#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5916#true} is VALID [2018-11-23 12:14:14,801 INFO L273 TraceCheckUtils]: 54: Hoare triple {5916#true} ~cond := #in~cond; {5916#true} is VALID [2018-11-23 12:14:14,801 INFO L273 TraceCheckUtils]: 55: Hoare triple {5916#true} assume !(0 == ~cond); {5916#true} is VALID [2018-11-23 12:14:14,801 INFO L273 TraceCheckUtils]: 56: Hoare triple {5916#true} assume true; {5916#true} is VALID [2018-11-23 12:14:14,802 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {5916#true} {5934#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} #58#return; {5934#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:14:14,803 INFO L273 TraceCheckUtils]: 58: Hoare triple {5934#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} havoc #t~mem1;~i~0 := 1 + ~i~0; {5935#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:14:14,804 INFO L273 TraceCheckUtils]: 59: Hoare triple {5935#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5935#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:14:14,804 INFO L256 TraceCheckUtils]: 60: Hoare triple {5935#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5916#true} is VALID [2018-11-23 12:14:14,804 INFO L273 TraceCheckUtils]: 61: Hoare triple {5916#true} ~cond := #in~cond; {5916#true} is VALID [2018-11-23 12:14:14,804 INFO L273 TraceCheckUtils]: 62: Hoare triple {5916#true} assume !(0 == ~cond); {5916#true} is VALID [2018-11-23 12:14:14,804 INFO L273 TraceCheckUtils]: 63: Hoare triple {5916#true} assume true; {5916#true} is VALID [2018-11-23 12:14:14,805 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {5916#true} {5935#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} #58#return; {5935#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:14:14,805 INFO L273 TraceCheckUtils]: 65: Hoare triple {5935#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} havoc #t~mem1;~i~0 := 1 + ~i~0; {5936#(= 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:14:14,806 INFO L273 TraceCheckUtils]: 66: Hoare triple {5936#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5937#(= main_~i~0 |main_#t~mem1|)} is VALID [2018-11-23 12:14:14,807 INFO L256 TraceCheckUtils]: 67: Hoare triple {5937#(= main_~i~0 |main_#t~mem1|)} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5929#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:14:14,808 INFO L273 TraceCheckUtils]: 68: Hoare triple {5929#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {5938#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:14:14,808 INFO L273 TraceCheckUtils]: 69: Hoare triple {5938#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {5917#false} is VALID [2018-11-23 12:14:14,809 INFO L273 TraceCheckUtils]: 70: Hoare triple {5917#false} assume !false; {5917#false} is VALID [2018-11-23 12:14:14,819 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 13 proven. 132 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2018-11-23 12:14:14,820 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:14,820 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:14:14,835 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:14,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:14,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:14,884 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:15,146 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 12:14:15,150 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 12:14:15,152 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:14:15,154 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:14:15,159 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:14:15,159 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 12:14:16,465 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 12:14:16,470 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:14:16,471 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-23 12:14:16,473 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:14:16,477 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:14:16,482 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:14:16,483 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-23 12:14:16,488 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:14:16,488 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= |main_#t~mem1| (select .cse0 (* 4 main_~i~0))) (= main_~i~0 7) (= 7 (select .cse0 28)))) [2018-11-23 12:14:16,488 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 7 |main_#t~mem1|) (= main_~i~0 7)) [2018-11-23 12:14:16,606 INFO L256 TraceCheckUtils]: 0: Hoare triple {5916#true} call ULTIMATE.init(); {5916#true} is VALID [2018-11-23 12:14:16,607 INFO L273 TraceCheckUtils]: 1: Hoare triple {5916#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {5916#true} is VALID [2018-11-23 12:14:16,607 INFO L273 TraceCheckUtils]: 2: Hoare triple {5916#true} assume true; {5916#true} is VALID [2018-11-23 12:14:16,607 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5916#true} {5916#true} #54#return; {5916#true} is VALID [2018-11-23 12:14:16,608 INFO L256 TraceCheckUtils]: 4: Hoare triple {5916#true} call #t~ret2 := main(); {5916#true} is VALID [2018-11-23 12:14:16,608 INFO L273 TraceCheckUtils]: 5: Hoare triple {5916#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {5916#true} is VALID [2018-11-23 12:14:16,609 INFO L273 TraceCheckUtils]: 6: Hoare triple {5916#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {5960#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:16,609 INFO L273 TraceCheckUtils]: 7: Hoare triple {5960#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5964#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:16,610 INFO L273 TraceCheckUtils]: 8: Hoare triple {5964#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5968#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:16,611 INFO L273 TraceCheckUtils]: 9: Hoare triple {5968#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5972#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:16,612 INFO L273 TraceCheckUtils]: 10: Hoare triple {5972#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5976#(and (= main_~k~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:16,613 INFO L273 TraceCheckUtils]: 11: Hoare triple {5976#(and (= main_~k~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5980#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:16,614 INFO L273 TraceCheckUtils]: 12: Hoare triple {5980#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5984#(and (= main_~k~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:16,615 INFO L273 TraceCheckUtils]: 13: Hoare triple {5984#(and (= main_~k~0 6) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5988#(and (= main_~k~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:16,616 INFO L273 TraceCheckUtils]: 14: Hoare triple {5988#(and (= main_~k~0 7) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {5992#(and (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,617 INFO L273 TraceCheckUtils]: 15: Hoare triple {5992#(and (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume !(~i~0 < ~N~0); {5992#(and (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,618 INFO L273 TraceCheckUtils]: 16: Hoare triple {5992#(and (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} ~i~0 := 0; {5999#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,619 INFO L273 TraceCheckUtils]: 17: Hoare triple {5999#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5999#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,621 INFO L256 TraceCheckUtils]: 18: Hoare triple {5999#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,622 INFO L273 TraceCheckUtils]: 19: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} ~cond := #in~cond; {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,622 INFO L273 TraceCheckUtils]: 20: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume !(0 == ~cond); {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,623 INFO L273 TraceCheckUtils]: 21: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume true; {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,624 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} {5999#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} #58#return; {5999#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,625 INFO L273 TraceCheckUtils]: 23: Hoare triple {5999#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6022#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,626 INFO L273 TraceCheckUtils]: 24: Hoare triple {6022#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6022#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,628 INFO L256 TraceCheckUtils]: 25: Hoare triple {6022#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,629 INFO L273 TraceCheckUtils]: 26: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} ~cond := #in~cond; {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,629 INFO L273 TraceCheckUtils]: 27: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume !(0 == ~cond); {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,630 INFO L273 TraceCheckUtils]: 28: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume true; {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,631 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} {6022#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} #58#return; {6022#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,632 INFO L273 TraceCheckUtils]: 30: Hoare triple {6022#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6044#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,633 INFO L273 TraceCheckUtils]: 31: Hoare triple {6044#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6044#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,635 INFO L256 TraceCheckUtils]: 32: Hoare triple {6044#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,635 INFO L273 TraceCheckUtils]: 33: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} ~cond := #in~cond; {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,636 INFO L273 TraceCheckUtils]: 34: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume !(0 == ~cond); {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,636 INFO L273 TraceCheckUtils]: 35: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume true; {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,638 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} {6044#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} #58#return; {6044#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,639 INFO L273 TraceCheckUtils]: 37: Hoare triple {6044#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6066#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,639 INFO L273 TraceCheckUtils]: 38: Hoare triple {6066#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6066#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,641 INFO L256 TraceCheckUtils]: 39: Hoare triple {6066#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,642 INFO L273 TraceCheckUtils]: 40: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} ~cond := #in~cond; {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,643 INFO L273 TraceCheckUtils]: 41: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume !(0 == ~cond); {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,643 INFO L273 TraceCheckUtils]: 42: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume true; {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,645 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} {6066#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} #58#return; {6066#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,646 INFO L273 TraceCheckUtils]: 44: Hoare triple {6066#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6088#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,647 INFO L273 TraceCheckUtils]: 45: Hoare triple {6088#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6088#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,649 INFO L256 TraceCheckUtils]: 46: Hoare triple {6088#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,650 INFO L273 TraceCheckUtils]: 47: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} ~cond := #in~cond; {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,650 INFO L273 TraceCheckUtils]: 48: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume !(0 == ~cond); {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,651 INFO L273 TraceCheckUtils]: 49: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume true; {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,652 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} {6088#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} #58#return; {6088#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,653 INFO L273 TraceCheckUtils]: 51: Hoare triple {6088#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6110#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,654 INFO L273 TraceCheckUtils]: 52: Hoare triple {6110#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6110#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,657 INFO L256 TraceCheckUtils]: 53: Hoare triple {6110#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,657 INFO L273 TraceCheckUtils]: 54: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} ~cond := #in~cond; {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,658 INFO L273 TraceCheckUtils]: 55: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume !(0 == ~cond); {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,659 INFO L273 TraceCheckUtils]: 56: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume true; {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,660 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} {6110#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} #58#return; {6110#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,660 INFO L273 TraceCheckUtils]: 58: Hoare triple {6110#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6132#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,661 INFO L273 TraceCheckUtils]: 59: Hoare triple {6132#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6132#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,663 INFO L256 TraceCheckUtils]: 60: Hoare triple {6132#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,664 INFO L273 TraceCheckUtils]: 61: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} ~cond := #in~cond; {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,665 INFO L273 TraceCheckUtils]: 62: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume !(0 == ~cond); {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,665 INFO L273 TraceCheckUtils]: 63: Hoare triple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume true; {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-23 12:14:16,667 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {6006#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} {6132#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} #58#return; {6132#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,668 INFO L273 TraceCheckUtils]: 65: Hoare triple {6132#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6154#(and (= main_~i~0 7) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-23 12:14:16,669 INFO L273 TraceCheckUtils]: 66: Hoare triple {6154#(and (= main_~i~0 7) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6158#(and (= 7 |main_#t~mem1|) (= main_~i~0 7))} is VALID [2018-11-23 12:14:16,671 INFO L256 TraceCheckUtils]: 67: Hoare triple {6158#(and (= 7 |main_#t~mem1|) (= main_~i~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6162#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:14:16,671 INFO L273 TraceCheckUtils]: 68: Hoare triple {6162#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {6166#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:14:16,672 INFO L273 TraceCheckUtils]: 69: Hoare triple {6166#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5917#false} is VALID [2018-11-23 12:14:16,672 INFO L273 TraceCheckUtils]: 70: Hoare triple {5917#false} assume !false; {5917#false} is VALID [2018-11-23 12:14:16,690 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 0 proven. 127 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2018-11-23 12:14:16,709 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:16,709 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 23] total 44 [2018-11-23 12:14:16,710 INFO L78 Accepts]: Start accepts. Automaton has 44 states. Word has length 71 [2018-11-23 12:14:16,710 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:16,711 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 44 states. [2018-11-23 12:14:16,846 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:14:16,846 INFO L459 AbstractCegarLoop]: Interpolant automaton has 44 states [2018-11-23 12:14:16,847 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 44 interpolants. [2018-11-23 12:14:16,848 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=131, Invalid=1761, Unknown=0, NotChecked=0, Total=1892 [2018-11-23 12:14:16,848 INFO L87 Difference]: Start difference. First operand 74 states and 75 transitions. Second operand 44 states. [2018-11-23 12:14:23,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:23,151 INFO L93 Difference]: Finished difference Result 84 states and 85 transitions. [2018-11-23 12:14:23,151 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2018-11-23 12:14:23,152 INFO L78 Accepts]: Start accepts. Automaton has 44 states. Word has length 71 [2018-11-23 12:14:23,152 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:23,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 44 states. [2018-11-23 12:14:23,154 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 64 transitions. [2018-11-23 12:14:23,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 44 states. [2018-11-23 12:14:23,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 64 transitions. [2018-11-23 12:14:23,157 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states and 64 transitions. [2018-11-23 12:14:24,003 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:24,004 INFO L225 Difference]: With dead ends: 84 [2018-11-23 12:14:24,005 INFO L226 Difference]: Without dead ends: 82 [2018-11-23 12:14:24,006 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 109 GetRequests, 40 SyntacticMatches, 14 SemanticMatches, 55 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 745 ImplicationChecksByTransitivity, 3.0s TimeCoverageRelationStatistics Valid=237, Invalid=2955, Unknown=0, NotChecked=0, Total=3192 [2018-11-23 12:14:24,006 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2018-11-23 12:14:24,656 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 81. [2018-11-23 12:14:24,656 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:24,656 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand 81 states. [2018-11-23 12:14:24,656 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 81 states. [2018-11-23 12:14:24,656 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 81 states. [2018-11-23 12:14:24,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:24,659 INFO L93 Difference]: Finished difference Result 82 states and 83 transitions. [2018-11-23 12:14:24,659 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 83 transitions. [2018-11-23 12:14:24,660 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:24,660 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:24,660 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 82 states. [2018-11-23 12:14:24,660 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 82 states. [2018-11-23 12:14:24,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:24,664 INFO L93 Difference]: Finished difference Result 82 states and 83 transitions. [2018-11-23 12:14:24,664 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 83 transitions. [2018-11-23 12:14:24,664 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:24,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:24,665 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:24,665 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:24,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 81 states. [2018-11-23 12:14:24,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 82 transitions. [2018-11-23 12:14:24,668 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 82 transitions. Word has length 71 [2018-11-23 12:14:24,669 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:24,669 INFO L480 AbstractCegarLoop]: Abstraction has 81 states and 82 transitions. [2018-11-23 12:14:24,669 INFO L481 AbstractCegarLoop]: Interpolant automaton has 44 states. [2018-11-23 12:14:24,669 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 82 transitions. [2018-11-23 12:14:24,670 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2018-11-23 12:14:24,670 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:24,670 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 9, 8, 8, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:14:24,670 INFO L423 AbstractCegarLoop]: === Iteration 17 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:24,670 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:24,670 INFO L82 PathProgramCache]: Analyzing trace with hash -1393363374, now seen corresponding path program 14 times [2018-11-23 12:14:24,671 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:24,671 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:24,671 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:24,671 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:24,672 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:24,684 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:25,582 INFO L256 TraceCheckUtils]: 0: Hoare triple {6608#true} call ULTIMATE.init(); {6608#true} is VALID [2018-11-23 12:14:25,583 INFO L273 TraceCheckUtils]: 1: Hoare triple {6608#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {6608#true} is VALID [2018-11-23 12:14:25,583 INFO L273 TraceCheckUtils]: 2: Hoare triple {6608#true} assume true; {6608#true} is VALID [2018-11-23 12:14:25,583 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6608#true} {6608#true} #54#return; {6608#true} is VALID [2018-11-23 12:14:25,583 INFO L256 TraceCheckUtils]: 4: Hoare triple {6608#true} call #t~ret2 := main(); {6608#true} is VALID [2018-11-23 12:14:25,583 INFO L273 TraceCheckUtils]: 5: Hoare triple {6608#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {6608#true} is VALID [2018-11-23 12:14:25,584 INFO L273 TraceCheckUtils]: 6: Hoare triple {6608#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {6610#(= main_~i~0 0)} is VALID [2018-11-23 12:14:25,585 INFO L273 TraceCheckUtils]: 7: Hoare triple {6610#(= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {6611#(<= main_~i~0 1)} is VALID [2018-11-23 12:14:25,585 INFO L273 TraceCheckUtils]: 8: Hoare triple {6611#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {6612#(<= main_~i~0 2)} is VALID [2018-11-23 12:14:25,586 INFO L273 TraceCheckUtils]: 9: Hoare triple {6612#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {6613#(<= main_~i~0 3)} is VALID [2018-11-23 12:14:25,587 INFO L273 TraceCheckUtils]: 10: Hoare triple {6613#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {6614#(<= main_~i~0 4)} is VALID [2018-11-23 12:14:25,588 INFO L273 TraceCheckUtils]: 11: Hoare triple {6614#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {6615#(<= main_~i~0 5)} is VALID [2018-11-23 12:14:25,589 INFO L273 TraceCheckUtils]: 12: Hoare triple {6615#(<= main_~i~0 5)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {6616#(<= main_~i~0 6)} is VALID [2018-11-23 12:14:25,590 INFO L273 TraceCheckUtils]: 13: Hoare triple {6616#(<= main_~i~0 6)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {6617#(<= main_~i~0 7)} is VALID [2018-11-23 12:14:25,591 INFO L273 TraceCheckUtils]: 14: Hoare triple {6617#(<= main_~i~0 7)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {6618#(<= main_~i~0 8)} is VALID [2018-11-23 12:14:25,591 INFO L273 TraceCheckUtils]: 15: Hoare triple {6618#(<= main_~i~0 8)} assume !(~i~0 < ~N~0); {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:25,592 INFO L273 TraceCheckUtils]: 16: Hoare triple {6619#(<= ~N~0 8)} ~i~0 := 0; {6620#(and (<= ~N~0 8) (= main_~i~0 0))} is VALID [2018-11-23 12:14:25,593 INFO L273 TraceCheckUtils]: 17: Hoare triple {6620#(and (<= ~N~0 8) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6620#(and (<= ~N~0 8) (= main_~i~0 0))} is VALID [2018-11-23 12:14:25,593 INFO L256 TraceCheckUtils]: 18: Hoare triple {6620#(and (<= ~N~0 8) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6608#true} is VALID [2018-11-23 12:14:25,593 INFO L273 TraceCheckUtils]: 19: Hoare triple {6608#true} ~cond := #in~cond; {6608#true} is VALID [2018-11-23 12:14:25,593 INFO L273 TraceCheckUtils]: 20: Hoare triple {6608#true} assume !(0 == ~cond); {6608#true} is VALID [2018-11-23 12:14:25,594 INFO L273 TraceCheckUtils]: 21: Hoare triple {6608#true} assume true; {6608#true} is VALID [2018-11-23 12:14:25,595 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {6608#true} {6620#(and (<= ~N~0 8) (= main_~i~0 0))} #58#return; {6620#(and (<= ~N~0 8) (= main_~i~0 0))} is VALID [2018-11-23 12:14:25,596 INFO L273 TraceCheckUtils]: 23: Hoare triple {6620#(and (<= ~N~0 8) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6621#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:14:25,596 INFO L273 TraceCheckUtils]: 24: Hoare triple {6621#(<= ~N~0 (+ main_~i~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6621#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:14:25,597 INFO L256 TraceCheckUtils]: 25: Hoare triple {6621#(<= ~N~0 (+ main_~i~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6608#true} is VALID [2018-11-23 12:14:25,597 INFO L273 TraceCheckUtils]: 26: Hoare triple {6608#true} ~cond := #in~cond; {6608#true} is VALID [2018-11-23 12:14:25,597 INFO L273 TraceCheckUtils]: 27: Hoare triple {6608#true} assume !(0 == ~cond); {6608#true} is VALID [2018-11-23 12:14:25,597 INFO L273 TraceCheckUtils]: 28: Hoare triple {6608#true} assume true; {6608#true} is VALID [2018-11-23 12:14:25,598 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {6608#true} {6621#(<= ~N~0 (+ main_~i~0 7))} #58#return; {6621#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:14:25,599 INFO L273 TraceCheckUtils]: 30: Hoare triple {6621#(<= ~N~0 (+ main_~i~0 7))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6622#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:14:25,600 INFO L273 TraceCheckUtils]: 31: Hoare triple {6622#(<= ~N~0 (+ main_~i~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6622#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:14:25,600 INFO L256 TraceCheckUtils]: 32: Hoare triple {6622#(<= ~N~0 (+ main_~i~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6608#true} is VALID [2018-11-23 12:14:25,600 INFO L273 TraceCheckUtils]: 33: Hoare triple {6608#true} ~cond := #in~cond; {6608#true} is VALID [2018-11-23 12:14:25,600 INFO L273 TraceCheckUtils]: 34: Hoare triple {6608#true} assume !(0 == ~cond); {6608#true} is VALID [2018-11-23 12:14:25,601 INFO L273 TraceCheckUtils]: 35: Hoare triple {6608#true} assume true; {6608#true} is VALID [2018-11-23 12:14:25,602 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {6608#true} {6622#(<= ~N~0 (+ main_~i~0 6))} #58#return; {6622#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:14:25,602 INFO L273 TraceCheckUtils]: 37: Hoare triple {6622#(<= ~N~0 (+ main_~i~0 6))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6623#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:14:25,603 INFO L273 TraceCheckUtils]: 38: Hoare triple {6623#(<= ~N~0 (+ main_~i~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6623#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:14:25,603 INFO L256 TraceCheckUtils]: 39: Hoare triple {6623#(<= ~N~0 (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6608#true} is VALID [2018-11-23 12:14:25,603 INFO L273 TraceCheckUtils]: 40: Hoare triple {6608#true} ~cond := #in~cond; {6608#true} is VALID [2018-11-23 12:14:25,604 INFO L273 TraceCheckUtils]: 41: Hoare triple {6608#true} assume !(0 == ~cond); {6608#true} is VALID [2018-11-23 12:14:25,604 INFO L273 TraceCheckUtils]: 42: Hoare triple {6608#true} assume true; {6608#true} is VALID [2018-11-23 12:14:25,605 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {6608#true} {6623#(<= ~N~0 (+ main_~i~0 5))} #58#return; {6623#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:14:25,606 INFO L273 TraceCheckUtils]: 44: Hoare triple {6623#(<= ~N~0 (+ main_~i~0 5))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6624#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:14:25,606 INFO L273 TraceCheckUtils]: 45: Hoare triple {6624#(<= ~N~0 (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6624#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:14:25,606 INFO L256 TraceCheckUtils]: 46: Hoare triple {6624#(<= ~N~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6608#true} is VALID [2018-11-23 12:14:25,607 INFO L273 TraceCheckUtils]: 47: Hoare triple {6608#true} ~cond := #in~cond; {6608#true} is VALID [2018-11-23 12:14:25,607 INFO L273 TraceCheckUtils]: 48: Hoare triple {6608#true} assume !(0 == ~cond); {6608#true} is VALID [2018-11-23 12:14:25,607 INFO L273 TraceCheckUtils]: 49: Hoare triple {6608#true} assume true; {6608#true} is VALID [2018-11-23 12:14:25,608 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {6608#true} {6624#(<= ~N~0 (+ main_~i~0 4))} #58#return; {6624#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:14:25,609 INFO L273 TraceCheckUtils]: 51: Hoare triple {6624#(<= ~N~0 (+ main_~i~0 4))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6625#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:14:25,609 INFO L273 TraceCheckUtils]: 52: Hoare triple {6625#(<= ~N~0 (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6625#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:14:25,610 INFO L256 TraceCheckUtils]: 53: Hoare triple {6625#(<= ~N~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6608#true} is VALID [2018-11-23 12:14:25,610 INFO L273 TraceCheckUtils]: 54: Hoare triple {6608#true} ~cond := #in~cond; {6608#true} is VALID [2018-11-23 12:14:25,610 INFO L273 TraceCheckUtils]: 55: Hoare triple {6608#true} assume !(0 == ~cond); {6608#true} is VALID [2018-11-23 12:14:25,610 INFO L273 TraceCheckUtils]: 56: Hoare triple {6608#true} assume true; {6608#true} is VALID [2018-11-23 12:14:25,611 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {6608#true} {6625#(<= ~N~0 (+ main_~i~0 3))} #58#return; {6625#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:14:25,612 INFO L273 TraceCheckUtils]: 58: Hoare triple {6625#(<= ~N~0 (+ main_~i~0 3))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6626#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:14:25,613 INFO L273 TraceCheckUtils]: 59: Hoare triple {6626#(<= ~N~0 (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6626#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:14:25,613 INFO L256 TraceCheckUtils]: 60: Hoare triple {6626#(<= ~N~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6608#true} is VALID [2018-11-23 12:14:25,613 INFO L273 TraceCheckUtils]: 61: Hoare triple {6608#true} ~cond := #in~cond; {6608#true} is VALID [2018-11-23 12:14:25,613 INFO L273 TraceCheckUtils]: 62: Hoare triple {6608#true} assume !(0 == ~cond); {6608#true} is VALID [2018-11-23 12:14:25,613 INFO L273 TraceCheckUtils]: 63: Hoare triple {6608#true} assume true; {6608#true} is VALID [2018-11-23 12:14:25,614 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {6608#true} {6626#(<= ~N~0 (+ main_~i~0 2))} #58#return; {6626#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:14:25,615 INFO L273 TraceCheckUtils]: 65: Hoare triple {6626#(<= ~N~0 (+ main_~i~0 2))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6627#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:14:25,616 INFO L273 TraceCheckUtils]: 66: Hoare triple {6627#(<= ~N~0 (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6627#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:14:25,616 INFO L256 TraceCheckUtils]: 67: Hoare triple {6627#(<= ~N~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6608#true} is VALID [2018-11-23 12:14:25,616 INFO L273 TraceCheckUtils]: 68: Hoare triple {6608#true} ~cond := #in~cond; {6608#true} is VALID [2018-11-23 12:14:25,616 INFO L273 TraceCheckUtils]: 69: Hoare triple {6608#true} assume !(0 == ~cond); {6608#true} is VALID [2018-11-23 12:14:25,617 INFO L273 TraceCheckUtils]: 70: Hoare triple {6608#true} assume true; {6608#true} is VALID [2018-11-23 12:14:25,618 INFO L268 TraceCheckUtils]: 71: Hoare quadruple {6608#true} {6627#(<= ~N~0 (+ main_~i~0 1))} #58#return; {6627#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:14:25,618 INFO L273 TraceCheckUtils]: 72: Hoare triple {6627#(<= ~N~0 (+ main_~i~0 1))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6628#(<= ~N~0 main_~i~0)} is VALID [2018-11-23 12:14:25,619 INFO L273 TraceCheckUtils]: 73: Hoare triple {6628#(<= ~N~0 main_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6609#false} is VALID [2018-11-23 12:14:25,619 INFO L256 TraceCheckUtils]: 74: Hoare triple {6609#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6609#false} is VALID [2018-11-23 12:14:25,619 INFO L273 TraceCheckUtils]: 75: Hoare triple {6609#false} ~cond := #in~cond; {6609#false} is VALID [2018-11-23 12:14:25,619 INFO L273 TraceCheckUtils]: 76: Hoare triple {6609#false} assume 0 == ~cond; {6609#false} is VALID [2018-11-23 12:14:25,619 INFO L273 TraceCheckUtils]: 77: Hoare triple {6609#false} assume !false; {6609#false} is VALID [2018-11-23 12:14:25,625 INFO L134 CoverageAnalysis]: Checked inductivity of 264 backedges. 94 proven. 58 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2018-11-23 12:14:25,626 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:25,626 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:14:25,645 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:14:25,705 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:14:25,705 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:14:25,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:25,736 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:26,112 INFO L256 TraceCheckUtils]: 0: Hoare triple {6608#true} call ULTIMATE.init(); {6608#true} is VALID [2018-11-23 12:14:26,112 INFO L273 TraceCheckUtils]: 1: Hoare triple {6608#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {6608#true} is VALID [2018-11-23 12:14:26,112 INFO L273 TraceCheckUtils]: 2: Hoare triple {6608#true} assume true; {6608#true} is VALID [2018-11-23 12:14:26,112 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6608#true} {6608#true} #54#return; {6608#true} is VALID [2018-11-23 12:14:26,113 INFO L256 TraceCheckUtils]: 4: Hoare triple {6608#true} call #t~ret2 := main(); {6608#true} is VALID [2018-11-23 12:14:26,113 INFO L273 TraceCheckUtils]: 5: Hoare triple {6608#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {6608#true} is VALID [2018-11-23 12:14:26,114 INFO L273 TraceCheckUtils]: 6: Hoare triple {6608#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {6650#(<= main_~i~0 0)} is VALID [2018-11-23 12:14:26,114 INFO L273 TraceCheckUtils]: 7: Hoare triple {6650#(<= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {6611#(<= main_~i~0 1)} is VALID [2018-11-23 12:14:26,115 INFO L273 TraceCheckUtils]: 8: Hoare triple {6611#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {6612#(<= main_~i~0 2)} is VALID [2018-11-23 12:14:26,115 INFO L273 TraceCheckUtils]: 9: Hoare triple {6612#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {6613#(<= main_~i~0 3)} is VALID [2018-11-23 12:14:26,116 INFO L273 TraceCheckUtils]: 10: Hoare triple {6613#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {6614#(<= main_~i~0 4)} is VALID [2018-11-23 12:14:26,117 INFO L273 TraceCheckUtils]: 11: Hoare triple {6614#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {6615#(<= main_~i~0 5)} is VALID [2018-11-23 12:14:26,118 INFO L273 TraceCheckUtils]: 12: Hoare triple {6615#(<= main_~i~0 5)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {6616#(<= main_~i~0 6)} is VALID [2018-11-23 12:14:26,119 INFO L273 TraceCheckUtils]: 13: Hoare triple {6616#(<= main_~i~0 6)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {6617#(<= main_~i~0 7)} is VALID [2018-11-23 12:14:26,120 INFO L273 TraceCheckUtils]: 14: Hoare triple {6617#(<= main_~i~0 7)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {6618#(<= main_~i~0 8)} is VALID [2018-11-23 12:14:26,121 INFO L273 TraceCheckUtils]: 15: Hoare triple {6618#(<= main_~i~0 8)} assume !(~i~0 < ~N~0); {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,122 INFO L273 TraceCheckUtils]: 16: Hoare triple {6619#(<= ~N~0 8)} ~i~0 := 0; {6681#(and (<= 0 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-23 12:14:26,122 INFO L273 TraceCheckUtils]: 17: Hoare triple {6681#(and (<= 0 main_~i~0) (<= ~N~0 8))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6681#(and (<= 0 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-23 12:14:26,124 INFO L256 TraceCheckUtils]: 18: Hoare triple {6681#(and (<= 0 main_~i~0) (<= ~N~0 8))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,125 INFO L273 TraceCheckUtils]: 19: Hoare triple {6619#(<= ~N~0 8)} ~cond := #in~cond; {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,125 INFO L273 TraceCheckUtils]: 20: Hoare triple {6619#(<= ~N~0 8)} assume !(0 == ~cond); {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,126 INFO L273 TraceCheckUtils]: 21: Hoare triple {6619#(<= ~N~0 8)} assume true; {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,127 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {6619#(<= ~N~0 8)} {6681#(and (<= 0 main_~i~0) (<= ~N~0 8))} #58#return; {6681#(and (<= 0 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-23 12:14:26,128 INFO L273 TraceCheckUtils]: 23: Hoare triple {6681#(and (<= 0 main_~i~0) (<= ~N~0 8))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6703#(and (<= 1 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-23 12:14:26,129 INFO L273 TraceCheckUtils]: 24: Hoare triple {6703#(and (<= 1 main_~i~0) (<= ~N~0 8))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6703#(and (<= 1 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-23 12:14:26,130 INFO L256 TraceCheckUtils]: 25: Hoare triple {6703#(and (<= 1 main_~i~0) (<= ~N~0 8))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,130 INFO L273 TraceCheckUtils]: 26: Hoare triple {6619#(<= ~N~0 8)} ~cond := #in~cond; {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,131 INFO L273 TraceCheckUtils]: 27: Hoare triple {6619#(<= ~N~0 8)} assume !(0 == ~cond); {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,131 INFO L273 TraceCheckUtils]: 28: Hoare triple {6619#(<= ~N~0 8)} assume true; {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,132 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {6619#(<= ~N~0 8)} {6703#(and (<= 1 main_~i~0) (<= ~N~0 8))} #58#return; {6703#(and (<= 1 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-23 12:14:26,133 INFO L273 TraceCheckUtils]: 30: Hoare triple {6703#(and (<= 1 main_~i~0) (<= ~N~0 8))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6725#(and (<= 2 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-23 12:14:26,134 INFO L273 TraceCheckUtils]: 31: Hoare triple {6725#(and (<= 2 main_~i~0) (<= ~N~0 8))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6725#(and (<= 2 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-23 12:14:26,135 INFO L256 TraceCheckUtils]: 32: Hoare triple {6725#(and (<= 2 main_~i~0) (<= ~N~0 8))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,136 INFO L273 TraceCheckUtils]: 33: Hoare triple {6619#(<= ~N~0 8)} ~cond := #in~cond; {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,136 INFO L273 TraceCheckUtils]: 34: Hoare triple {6619#(<= ~N~0 8)} assume !(0 == ~cond); {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,137 INFO L273 TraceCheckUtils]: 35: Hoare triple {6619#(<= ~N~0 8)} assume true; {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,138 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {6619#(<= ~N~0 8)} {6725#(and (<= 2 main_~i~0) (<= ~N~0 8))} #58#return; {6725#(and (<= 2 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-23 12:14:26,139 INFO L273 TraceCheckUtils]: 37: Hoare triple {6725#(and (<= 2 main_~i~0) (<= ~N~0 8))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6747#(and (<= ~N~0 8) (<= 3 main_~i~0))} is VALID [2018-11-23 12:14:26,139 INFO L273 TraceCheckUtils]: 38: Hoare triple {6747#(and (<= ~N~0 8) (<= 3 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6747#(and (<= ~N~0 8) (<= 3 main_~i~0))} is VALID [2018-11-23 12:14:26,141 INFO L256 TraceCheckUtils]: 39: Hoare triple {6747#(and (<= ~N~0 8) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,141 INFO L273 TraceCheckUtils]: 40: Hoare triple {6619#(<= ~N~0 8)} ~cond := #in~cond; {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,142 INFO L273 TraceCheckUtils]: 41: Hoare triple {6619#(<= ~N~0 8)} assume !(0 == ~cond); {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,142 INFO L273 TraceCheckUtils]: 42: Hoare triple {6619#(<= ~N~0 8)} assume true; {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,143 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {6619#(<= ~N~0 8)} {6747#(and (<= ~N~0 8) (<= 3 main_~i~0))} #58#return; {6747#(and (<= ~N~0 8) (<= 3 main_~i~0))} is VALID [2018-11-23 12:14:26,144 INFO L273 TraceCheckUtils]: 44: Hoare triple {6747#(and (<= ~N~0 8) (<= 3 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6769#(and (<= ~N~0 8) (<= 4 main_~i~0))} is VALID [2018-11-23 12:14:26,145 INFO L273 TraceCheckUtils]: 45: Hoare triple {6769#(and (<= ~N~0 8) (<= 4 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6769#(and (<= ~N~0 8) (<= 4 main_~i~0))} is VALID [2018-11-23 12:14:26,165 INFO L256 TraceCheckUtils]: 46: Hoare triple {6769#(and (<= ~N~0 8) (<= 4 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,167 INFO L273 TraceCheckUtils]: 47: Hoare triple {6619#(<= ~N~0 8)} ~cond := #in~cond; {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,167 INFO L273 TraceCheckUtils]: 48: Hoare triple {6619#(<= ~N~0 8)} assume !(0 == ~cond); {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,167 INFO L273 TraceCheckUtils]: 49: Hoare triple {6619#(<= ~N~0 8)} assume true; {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,168 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {6619#(<= ~N~0 8)} {6769#(and (<= ~N~0 8) (<= 4 main_~i~0))} #58#return; {6769#(and (<= ~N~0 8) (<= 4 main_~i~0))} is VALID [2018-11-23 12:14:26,169 INFO L273 TraceCheckUtils]: 51: Hoare triple {6769#(and (<= ~N~0 8) (<= 4 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6791#(and (<= ~N~0 8) (<= 5 main_~i~0))} is VALID [2018-11-23 12:14:26,169 INFO L273 TraceCheckUtils]: 52: Hoare triple {6791#(and (<= ~N~0 8) (<= 5 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6791#(and (<= ~N~0 8) (<= 5 main_~i~0))} is VALID [2018-11-23 12:14:26,171 INFO L256 TraceCheckUtils]: 53: Hoare triple {6791#(and (<= ~N~0 8) (<= 5 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,171 INFO L273 TraceCheckUtils]: 54: Hoare triple {6619#(<= ~N~0 8)} ~cond := #in~cond; {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,172 INFO L273 TraceCheckUtils]: 55: Hoare triple {6619#(<= ~N~0 8)} assume !(0 == ~cond); {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,172 INFO L273 TraceCheckUtils]: 56: Hoare triple {6619#(<= ~N~0 8)} assume true; {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,173 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {6619#(<= ~N~0 8)} {6791#(and (<= ~N~0 8) (<= 5 main_~i~0))} #58#return; {6791#(and (<= ~N~0 8) (<= 5 main_~i~0))} is VALID [2018-11-23 12:14:26,174 INFO L273 TraceCheckUtils]: 58: Hoare triple {6791#(and (<= ~N~0 8) (<= 5 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6813#(and (<= ~N~0 8) (<= 6 main_~i~0))} is VALID [2018-11-23 12:14:26,175 INFO L273 TraceCheckUtils]: 59: Hoare triple {6813#(and (<= ~N~0 8) (<= 6 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6813#(and (<= ~N~0 8) (<= 6 main_~i~0))} is VALID [2018-11-23 12:14:26,176 INFO L256 TraceCheckUtils]: 60: Hoare triple {6813#(and (<= ~N~0 8) (<= 6 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,177 INFO L273 TraceCheckUtils]: 61: Hoare triple {6619#(<= ~N~0 8)} ~cond := #in~cond; {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,177 INFO L273 TraceCheckUtils]: 62: Hoare triple {6619#(<= ~N~0 8)} assume !(0 == ~cond); {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,178 INFO L273 TraceCheckUtils]: 63: Hoare triple {6619#(<= ~N~0 8)} assume true; {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,179 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {6619#(<= ~N~0 8)} {6813#(and (<= ~N~0 8) (<= 6 main_~i~0))} #58#return; {6813#(and (<= ~N~0 8) (<= 6 main_~i~0))} is VALID [2018-11-23 12:14:26,179 INFO L273 TraceCheckUtils]: 65: Hoare triple {6813#(and (<= ~N~0 8) (<= 6 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6835#(and (<= 7 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-23 12:14:26,180 INFO L273 TraceCheckUtils]: 66: Hoare triple {6835#(and (<= 7 main_~i~0) (<= ~N~0 8))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6835#(and (<= 7 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-23 12:14:26,182 INFO L256 TraceCheckUtils]: 67: Hoare triple {6835#(and (<= 7 main_~i~0) (<= ~N~0 8))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,182 INFO L273 TraceCheckUtils]: 68: Hoare triple {6619#(<= ~N~0 8)} ~cond := #in~cond; {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,183 INFO L273 TraceCheckUtils]: 69: Hoare triple {6619#(<= ~N~0 8)} assume !(0 == ~cond); {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,183 INFO L273 TraceCheckUtils]: 70: Hoare triple {6619#(<= ~N~0 8)} assume true; {6619#(<= ~N~0 8)} is VALID [2018-11-23 12:14:26,184 INFO L268 TraceCheckUtils]: 71: Hoare quadruple {6619#(<= ~N~0 8)} {6835#(and (<= 7 main_~i~0) (<= ~N~0 8))} #58#return; {6835#(and (<= 7 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-23 12:14:26,185 INFO L273 TraceCheckUtils]: 72: Hoare triple {6835#(and (<= 7 main_~i~0) (<= ~N~0 8))} havoc #t~mem1;~i~0 := 1 + ~i~0; {6857#(and (<= ~N~0 8) (<= 8 main_~i~0))} is VALID [2018-11-23 12:14:26,186 INFO L273 TraceCheckUtils]: 73: Hoare triple {6857#(and (<= ~N~0 8) (<= 8 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6609#false} is VALID [2018-11-23 12:14:26,186 INFO L256 TraceCheckUtils]: 74: Hoare triple {6609#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6609#false} is VALID [2018-11-23 12:14:26,186 INFO L273 TraceCheckUtils]: 75: Hoare triple {6609#false} ~cond := #in~cond; {6609#false} is VALID [2018-11-23 12:14:26,186 INFO L273 TraceCheckUtils]: 76: Hoare triple {6609#false} assume 0 == ~cond; {6609#false} is VALID [2018-11-23 12:14:26,187 INFO L273 TraceCheckUtils]: 77: Hoare triple {6609#false} assume !false; {6609#false} is VALID [2018-11-23 12:14:26,193 INFO L134 CoverageAnalysis]: Checked inductivity of 264 backedges. 116 proven. 36 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2018-11-23 12:14:26,212 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:26,212 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 21] total 31 [2018-11-23 12:14:26,212 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 78 [2018-11-23 12:14:26,213 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:26,213 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states. [2018-11-23 12:14:26,301 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:26,302 INFO L459 AbstractCegarLoop]: Interpolant automaton has 31 states [2018-11-23 12:14:26,302 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2018-11-23 12:14:26,303 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=225, Invalid=705, Unknown=0, NotChecked=0, Total=930 [2018-11-23 12:14:26,303 INFO L87 Difference]: Start difference. First operand 81 states and 82 transitions. Second operand 31 states. [2018-11-23 12:14:28,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:28,380 INFO L93 Difference]: Finished difference Result 153 states and 156 transitions. [2018-11-23 12:14:28,380 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2018-11-23 12:14:28,380 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 78 [2018-11-23 12:14:28,380 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:28,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 12:14:28,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 111 transitions. [2018-11-23 12:14:28,383 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 12:14:28,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 111 transitions. [2018-11-23 12:14:28,386 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 111 transitions. [2018-11-23 12:14:28,522 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:28,524 INFO L225 Difference]: With dead ends: 153 [2018-11-23 12:14:28,524 INFO L226 Difference]: Without dead ends: 86 [2018-11-23 12:14:28,525 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 69 SyntacticMatches, 0 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 363 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=378, Invalid=1182, Unknown=0, NotChecked=0, Total=1560 [2018-11-23 12:14:28,526 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2018-11-23 12:14:28,807 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 82. [2018-11-23 12:14:28,807 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:28,807 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 82 states. [2018-11-23 12:14:28,807 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 82 states. [2018-11-23 12:14:28,808 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 82 states. [2018-11-23 12:14:28,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:28,809 INFO L93 Difference]: Finished difference Result 86 states and 88 transitions. [2018-11-23 12:14:28,810 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 88 transitions. [2018-11-23 12:14:28,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:28,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:28,810 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 86 states. [2018-11-23 12:14:28,810 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 86 states. [2018-11-23 12:14:28,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:28,812 INFO L93 Difference]: Finished difference Result 86 states and 88 transitions. [2018-11-23 12:14:28,812 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 88 transitions. [2018-11-23 12:14:28,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:28,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:28,813 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:28,813 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:28,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 82 states. [2018-11-23 12:14:28,815 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 83 transitions. [2018-11-23 12:14:28,815 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 83 transitions. Word has length 78 [2018-11-23 12:14:28,815 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:28,815 INFO L480 AbstractCegarLoop]: Abstraction has 82 states and 83 transitions. [2018-11-23 12:14:28,815 INFO L481 AbstractCegarLoop]: Interpolant automaton has 31 states. [2018-11-23 12:14:28,815 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 83 transitions. [2018-11-23 12:14:28,816 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2018-11-23 12:14:28,816 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:28,816 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 9, 9, 8, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:14:28,817 INFO L423 AbstractCegarLoop]: === Iteration 18 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:28,817 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:28,817 INFO L82 PathProgramCache]: Analyzing trace with hash 1961550387, now seen corresponding path program 15 times [2018-11-23 12:14:28,817 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:28,817 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:28,818 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:28,818 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:14:28,818 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:28,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:29,687 WARN L180 SmtUtils]: Spent 113.00 ms on a formula simplification that was a NOOP. DAG size: 8 [2018-11-23 12:14:30,443 INFO L256 TraceCheckUtils]: 0: Hoare triple {7409#true} call ULTIMATE.init(); {7409#true} is VALID [2018-11-23 12:14:30,443 INFO L273 TraceCheckUtils]: 1: Hoare triple {7409#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {7409#true} is VALID [2018-11-23 12:14:30,443 INFO L273 TraceCheckUtils]: 2: Hoare triple {7409#true} assume true; {7409#true} is VALID [2018-11-23 12:14:30,444 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7409#true} {7409#true} #54#return; {7409#true} is VALID [2018-11-23 12:14:30,444 INFO L256 TraceCheckUtils]: 4: Hoare triple {7409#true} call #t~ret2 := main(); {7409#true} is VALID [2018-11-23 12:14:30,444 INFO L273 TraceCheckUtils]: 5: Hoare triple {7409#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {7409#true} is VALID [2018-11-23 12:14:30,451 INFO L273 TraceCheckUtils]: 6: Hoare triple {7409#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {7411#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,452 INFO L273 TraceCheckUtils]: 7: Hoare triple {7411#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {7412#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} is VALID [2018-11-23 12:14:30,452 INFO L273 TraceCheckUtils]: 8: Hoare triple {7412#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {7413#(and (<= 2 main_~k~0) (<= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,453 INFO L273 TraceCheckUtils]: 9: Hoare triple {7413#(and (<= 2 main_~k~0) (<= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {7414#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,454 INFO L273 TraceCheckUtils]: 10: Hoare triple {7414#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {7415#(and (<= main_~k~0 4) (<= 4 main_~k~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,454 INFO L273 TraceCheckUtils]: 11: Hoare triple {7415#(and (<= main_~k~0 4) (<= 4 main_~k~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {7416#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,455 INFO L273 TraceCheckUtils]: 12: Hoare triple {7416#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {7417#(and (= main_~k~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,455 INFO L273 TraceCheckUtils]: 13: Hoare triple {7417#(and (= main_~k~0 6) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {7418#(and (= main_~k~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,456 INFO L273 TraceCheckUtils]: 14: Hoare triple {7418#(and (= main_~k~0 7) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {7419#(and (= main_~k~0 (+ |main_~#a~0.offset| 8)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,458 INFO L273 TraceCheckUtils]: 15: Hoare triple {7419#(and (= main_~k~0 (+ |main_~#a~0.offset| 8)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {7420#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,458 INFO L273 TraceCheckUtils]: 16: Hoare triple {7420#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~N~0); {7420#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,459 INFO L273 TraceCheckUtils]: 17: Hoare triple {7420#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {7421#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,460 INFO L273 TraceCheckUtils]: 18: Hoare triple {7421#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7421#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,460 INFO L256 TraceCheckUtils]: 19: Hoare triple {7421#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7409#true} is VALID [2018-11-23 12:14:30,461 INFO L273 TraceCheckUtils]: 20: Hoare triple {7409#true} ~cond := #in~cond; {7422#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:14:30,461 INFO L273 TraceCheckUtils]: 21: Hoare triple {7422#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {7423#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:14:30,462 INFO L273 TraceCheckUtils]: 22: Hoare triple {7423#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7423#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:14:30,463 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {7423#(not (= |__VERIFIER_assert_#in~cond| 0))} {7421#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #58#return; {7421#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,464 INFO L273 TraceCheckUtils]: 24: Hoare triple {7421#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {7424#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,465 INFO L273 TraceCheckUtils]: 25: Hoare triple {7424#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7424#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,465 INFO L256 TraceCheckUtils]: 26: Hoare triple {7424#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7409#true} is VALID [2018-11-23 12:14:30,466 INFO L273 TraceCheckUtils]: 27: Hoare triple {7409#true} ~cond := #in~cond; {7409#true} is VALID [2018-11-23 12:14:30,466 INFO L273 TraceCheckUtils]: 28: Hoare triple {7409#true} assume !(0 == ~cond); {7409#true} is VALID [2018-11-23 12:14:30,466 INFO L273 TraceCheckUtils]: 29: Hoare triple {7409#true} assume true; {7409#true} is VALID [2018-11-23 12:14:30,467 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {7409#true} {7424#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} #58#return; {7424#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,468 INFO L273 TraceCheckUtils]: 31: Hoare triple {7424#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {7425#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,469 INFO L273 TraceCheckUtils]: 32: Hoare triple {7425#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7425#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,469 INFO L256 TraceCheckUtils]: 33: Hoare triple {7425#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7409#true} is VALID [2018-11-23 12:14:30,469 INFO L273 TraceCheckUtils]: 34: Hoare triple {7409#true} ~cond := #in~cond; {7409#true} is VALID [2018-11-23 12:14:30,469 INFO L273 TraceCheckUtils]: 35: Hoare triple {7409#true} assume !(0 == ~cond); {7409#true} is VALID [2018-11-23 12:14:30,469 INFO L273 TraceCheckUtils]: 36: Hoare triple {7409#true} assume true; {7409#true} is VALID [2018-11-23 12:14:30,470 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {7409#true} {7425#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} #58#return; {7425#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,471 INFO L273 TraceCheckUtils]: 38: Hoare triple {7425#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {7426#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,472 INFO L273 TraceCheckUtils]: 39: Hoare triple {7426#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7426#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,472 INFO L256 TraceCheckUtils]: 40: Hoare triple {7426#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7409#true} is VALID [2018-11-23 12:14:30,473 INFO L273 TraceCheckUtils]: 41: Hoare triple {7409#true} ~cond := #in~cond; {7409#true} is VALID [2018-11-23 12:14:30,473 INFO L273 TraceCheckUtils]: 42: Hoare triple {7409#true} assume !(0 == ~cond); {7409#true} is VALID [2018-11-23 12:14:30,473 INFO L273 TraceCheckUtils]: 43: Hoare triple {7409#true} assume true; {7409#true} is VALID [2018-11-23 12:14:30,474 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {7409#true} {7426#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} #58#return; {7426#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,475 INFO L273 TraceCheckUtils]: 45: Hoare triple {7426#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {7427#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,476 INFO L273 TraceCheckUtils]: 46: Hoare triple {7427#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7427#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,476 INFO L256 TraceCheckUtils]: 47: Hoare triple {7427#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7409#true} is VALID [2018-11-23 12:14:30,477 INFO L273 TraceCheckUtils]: 48: Hoare triple {7409#true} ~cond := #in~cond; {7409#true} is VALID [2018-11-23 12:14:30,477 INFO L273 TraceCheckUtils]: 49: Hoare triple {7409#true} assume !(0 == ~cond); {7409#true} is VALID [2018-11-23 12:14:30,477 INFO L273 TraceCheckUtils]: 50: Hoare triple {7409#true} assume true; {7409#true} is VALID [2018-11-23 12:14:30,478 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {7409#true} {7427#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} #58#return; {7427#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,479 INFO L273 TraceCheckUtils]: 52: Hoare triple {7427#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {7428#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,480 INFO L273 TraceCheckUtils]: 53: Hoare triple {7428#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7428#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,480 INFO L256 TraceCheckUtils]: 54: Hoare triple {7428#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7409#true} is VALID [2018-11-23 12:14:30,481 INFO L273 TraceCheckUtils]: 55: Hoare triple {7409#true} ~cond := #in~cond; {7409#true} is VALID [2018-11-23 12:14:30,481 INFO L273 TraceCheckUtils]: 56: Hoare triple {7409#true} assume !(0 == ~cond); {7409#true} is VALID [2018-11-23 12:14:30,481 INFO L273 TraceCheckUtils]: 57: Hoare triple {7409#true} assume true; {7409#true} is VALID [2018-11-23 12:14:30,482 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {7409#true} {7428#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} #58#return; {7428#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,483 INFO L273 TraceCheckUtils]: 59: Hoare triple {7428#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {7429#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,484 INFO L273 TraceCheckUtils]: 60: Hoare triple {7429#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7429#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,484 INFO L256 TraceCheckUtils]: 61: Hoare triple {7429#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7409#true} is VALID [2018-11-23 12:14:30,485 INFO L273 TraceCheckUtils]: 62: Hoare triple {7409#true} ~cond := #in~cond; {7409#true} is VALID [2018-11-23 12:14:30,485 INFO L273 TraceCheckUtils]: 63: Hoare triple {7409#true} assume !(0 == ~cond); {7409#true} is VALID [2018-11-23 12:14:30,485 INFO L273 TraceCheckUtils]: 64: Hoare triple {7409#true} assume true; {7409#true} is VALID [2018-11-23 12:14:30,486 INFO L268 TraceCheckUtils]: 65: Hoare quadruple {7409#true} {7429#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} #58#return; {7429#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,487 INFO L273 TraceCheckUtils]: 66: Hoare triple {7429#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {7430#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,488 INFO L273 TraceCheckUtils]: 67: Hoare triple {7430#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7430#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,488 INFO L256 TraceCheckUtils]: 68: Hoare triple {7430#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7409#true} is VALID [2018-11-23 12:14:30,488 INFO L273 TraceCheckUtils]: 69: Hoare triple {7409#true} ~cond := #in~cond; {7409#true} is VALID [2018-11-23 12:14:30,489 INFO L273 TraceCheckUtils]: 70: Hoare triple {7409#true} assume !(0 == ~cond); {7409#true} is VALID [2018-11-23 12:14:30,489 INFO L273 TraceCheckUtils]: 71: Hoare triple {7409#true} assume true; {7409#true} is VALID [2018-11-23 12:14:30,490 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {7409#true} {7430#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} #58#return; {7430#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:30,491 INFO L273 TraceCheckUtils]: 73: Hoare triple {7430#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {7431#(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:14:30,492 INFO L273 TraceCheckUtils]: 74: Hoare triple {7431#(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 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7432#(= main_~i~0 |main_#t~mem1|)} is VALID [2018-11-23 12:14:30,493 INFO L256 TraceCheckUtils]: 75: Hoare triple {7432#(= main_~i~0 |main_#t~mem1|)} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7423#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:14:30,493 INFO L273 TraceCheckUtils]: 76: Hoare triple {7423#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {7433#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:14:30,494 INFO L273 TraceCheckUtils]: 77: Hoare triple {7433#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {7410#false} is VALID [2018-11-23 12:14:30,494 INFO L273 TraceCheckUtils]: 78: Hoare triple {7410#false} assume !false; {7410#false} is VALID [2018-11-23 12:14:30,506 INFO L134 CoverageAnalysis]: Checked inductivity of 273 backedges. 15 proven. 167 refuted. 0 times theorem prover too weak. 91 trivial. 0 not checked. [2018-11-23 12:14:30,506 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:30,506 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:14:30,516 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:14:30,644 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 9 check-sat command(s) [2018-11-23 12:14:30,644 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:14:30,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:30,668 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:31,229 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 12:14:31,232 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 12:14:31,236 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:14:31,238 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:14:31,243 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:14:31,243 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 12:14:33,219 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 21 treesize of output 17 [2018-11-23 12:14:33,223 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:14:33,224 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 12:14:33,226 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:14:33,230 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:14:33,235 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:14:33,235 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:27, output treesize:7 [2018-11-23 12:14:33,238 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:14:33,238 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, |main_~#a~0.offset|]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= main_~i~0 8) (= |main_#t~mem1| (select .cse0 (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (<= main_~i~0 8) (= 8 (select .cse0 (+ |main_~#a~0.offset| 32))))) [2018-11-23 12:14:33,239 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 8) (= 8 |main_#t~mem1|)) [2018-11-23 12:14:34,116 INFO L256 TraceCheckUtils]: 0: Hoare triple {7409#true} call ULTIMATE.init(); {7409#true} is VALID [2018-11-23 12:14:34,116 INFO L273 TraceCheckUtils]: 1: Hoare triple {7409#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {7409#true} is VALID [2018-11-23 12:14:34,116 INFO L273 TraceCheckUtils]: 2: Hoare triple {7409#true} assume true; {7409#true} is VALID [2018-11-23 12:14:34,117 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7409#true} {7409#true} #54#return; {7409#true} is VALID [2018-11-23 12:14:34,117 INFO L256 TraceCheckUtils]: 4: Hoare triple {7409#true} call #t~ret2 := main(); {7409#true} is VALID [2018-11-23 12:14:34,117 INFO L273 TraceCheckUtils]: 5: Hoare triple {7409#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {7409#true} is VALID [2018-11-23 12:14:34,118 INFO L273 TraceCheckUtils]: 6: Hoare triple {7409#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {7455#(and (= main_~k~0 0) (<= main_~i~0 0))} is VALID [2018-11-23 12:14:34,119 INFO L273 TraceCheckUtils]: 7: Hoare triple {7455#(and (= main_~k~0 0) (<= main_~i~0 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {7459#(and (= main_~k~0 1) (<= main_~i~0 1))} is VALID [2018-11-23 12:14:34,119 INFO L273 TraceCheckUtils]: 8: Hoare triple {7459#(and (= main_~k~0 1) (<= main_~i~0 1))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {7463#(and (<= main_~i~0 2) (= main_~k~0 2))} is VALID [2018-11-23 12:14:34,120 INFO L273 TraceCheckUtils]: 9: Hoare triple {7463#(and (<= main_~i~0 2) (= main_~k~0 2))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {7467#(and (<= main_~i~0 3) (= main_~k~0 3))} is VALID [2018-11-23 12:14:34,121 INFO L273 TraceCheckUtils]: 10: Hoare triple {7467#(and (<= main_~i~0 3) (= main_~k~0 3))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {7471#(and (= main_~k~0 4) (<= main_~i~0 4))} is VALID [2018-11-23 12:14:34,121 INFO L273 TraceCheckUtils]: 11: Hoare triple {7471#(and (= main_~k~0 4) (<= main_~i~0 4))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {7475#(and (<= main_~i~0 5) (= main_~k~0 5))} is VALID [2018-11-23 12:14:34,122 INFO L273 TraceCheckUtils]: 12: Hoare triple {7475#(and (<= main_~i~0 5) (= main_~k~0 5))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {7479#(and (= main_~k~0 6) (<= main_~i~0 6))} is VALID [2018-11-23 12:14:34,123 INFO L273 TraceCheckUtils]: 13: Hoare triple {7479#(and (= main_~k~0 6) (<= main_~i~0 6))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {7483#(and (<= main_~i~0 7) (= main_~k~0 7))} is VALID [2018-11-23 12:14:34,124 INFO L273 TraceCheckUtils]: 14: Hoare triple {7483#(and (<= main_~i~0 7) (= main_~k~0 7))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {7487#(and (= main_~k~0 8) (<= main_~i~0 8))} is VALID [2018-11-23 12:14:34,125 INFO L273 TraceCheckUtils]: 15: Hoare triple {7487#(and (= main_~k~0 8) (<= main_~i~0 8))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {7491#(and (<= main_~i~0 9) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))))} is VALID [2018-11-23 12:14:34,126 INFO L273 TraceCheckUtils]: 16: Hoare triple {7491#(and (<= main_~i~0 9) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))))} assume !(~i~0 < ~N~0); {7495#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,127 INFO L273 TraceCheckUtils]: 17: Hoare triple {7495#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} ~i~0 := 0; {7499#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,128 INFO L273 TraceCheckUtils]: 18: Hoare triple {7499#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 0) (<= ~N~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7499#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,130 INFO L256 TraceCheckUtils]: 19: Hoare triple {7499#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 0) (<= ~N~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,130 INFO L273 TraceCheckUtils]: 20: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} ~cond := #in~cond; {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,131 INFO L273 TraceCheckUtils]: 21: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} assume !(0 == ~cond); {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,132 INFO L273 TraceCheckUtils]: 22: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} assume true; {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,133 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} {7499#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 0) (<= ~N~0 9))} #58#return; {7499#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,134 INFO L273 TraceCheckUtils]: 24: Hoare triple {7499#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 0) (<= ~N~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {7522#(and (= main_~i~0 1) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,135 INFO L273 TraceCheckUtils]: 25: Hoare triple {7522#(and (= main_~i~0 1) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7522#(and (= main_~i~0 1) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,136 INFO L256 TraceCheckUtils]: 26: Hoare triple {7522#(and (= main_~i~0 1) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,137 INFO L273 TraceCheckUtils]: 27: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} ~cond := #in~cond; {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,138 INFO L273 TraceCheckUtils]: 28: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} assume !(0 == ~cond); {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,139 INFO L273 TraceCheckUtils]: 29: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} assume true; {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,140 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} {7522#(and (= main_~i~0 1) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} #58#return; {7522#(and (= main_~i~0 1) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,140 INFO L273 TraceCheckUtils]: 31: Hoare triple {7522#(and (= main_~i~0 1) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {7544#(and (= main_~i~0 2) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,141 INFO L273 TraceCheckUtils]: 32: Hoare triple {7544#(and (= main_~i~0 2) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7544#(and (= main_~i~0 2) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,143 INFO L256 TraceCheckUtils]: 33: Hoare triple {7544#(and (= main_~i~0 2) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,144 INFO L273 TraceCheckUtils]: 34: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} ~cond := #in~cond; {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,144 INFO L273 TraceCheckUtils]: 35: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} assume !(0 == ~cond); {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,145 INFO L273 TraceCheckUtils]: 36: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} assume true; {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,146 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} {7544#(and (= main_~i~0 2) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} #58#return; {7544#(and (= main_~i~0 2) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,147 INFO L273 TraceCheckUtils]: 38: Hoare triple {7544#(and (= main_~i~0 2) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {7566#(and (= main_~i~0 3) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,148 INFO L273 TraceCheckUtils]: 39: Hoare triple {7566#(and (= main_~i~0 3) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7566#(and (= main_~i~0 3) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,149 INFO L256 TraceCheckUtils]: 40: Hoare triple {7566#(and (= main_~i~0 3) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,150 INFO L273 TraceCheckUtils]: 41: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} ~cond := #in~cond; {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,151 INFO L273 TraceCheckUtils]: 42: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} assume !(0 == ~cond); {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,152 INFO L273 TraceCheckUtils]: 43: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} assume true; {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,153 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} {7566#(and (= main_~i~0 3) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} #58#return; {7566#(and (= main_~i~0 3) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,154 INFO L273 TraceCheckUtils]: 45: Hoare triple {7566#(and (= main_~i~0 3) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {7588#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 4) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,155 INFO L273 TraceCheckUtils]: 46: Hoare triple {7588#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 4) (<= ~N~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7588#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 4) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,156 INFO L256 TraceCheckUtils]: 47: Hoare triple {7588#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 4) (<= ~N~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,157 INFO L273 TraceCheckUtils]: 48: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} ~cond := #in~cond; {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,158 INFO L273 TraceCheckUtils]: 49: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} assume !(0 == ~cond); {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,158 INFO L273 TraceCheckUtils]: 50: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} assume true; {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,159 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} {7588#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 4) (<= ~N~0 9))} #58#return; {7588#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 4) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,160 INFO L273 TraceCheckUtils]: 52: Hoare triple {7588#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 4) (<= ~N~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {7610#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 5) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,161 INFO L273 TraceCheckUtils]: 53: Hoare triple {7610#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 5) (<= ~N~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7610#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 5) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,163 INFO L256 TraceCheckUtils]: 54: Hoare triple {7610#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 5) (<= ~N~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,164 INFO L273 TraceCheckUtils]: 55: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} ~cond := #in~cond; {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,164 INFO L273 TraceCheckUtils]: 56: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} assume !(0 == ~cond); {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,165 INFO L273 TraceCheckUtils]: 57: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} assume true; {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,166 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} {7610#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 5) (<= ~N~0 9))} #58#return; {7610#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 5) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,166 INFO L273 TraceCheckUtils]: 59: Hoare triple {7610#(and (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (= main_~i~0 5) (<= ~N~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {7632#(and (= main_~i~0 6) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,167 INFO L273 TraceCheckUtils]: 60: Hoare triple {7632#(and (= main_~i~0 6) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7632#(and (= main_~i~0 6) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,168 INFO L256 TraceCheckUtils]: 61: Hoare triple {7632#(and (= main_~i~0 6) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,169 INFO L273 TraceCheckUtils]: 62: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} ~cond := #in~cond; {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,170 INFO L273 TraceCheckUtils]: 63: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} assume !(0 == ~cond); {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,171 INFO L273 TraceCheckUtils]: 64: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} assume true; {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,172 INFO L268 TraceCheckUtils]: 65: Hoare quadruple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} {7632#(and (= main_~i~0 6) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} #58#return; {7632#(and (= main_~i~0 6) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,172 INFO L273 TraceCheckUtils]: 66: Hoare triple {7632#(and (= main_~i~0 6) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {7654#(and (= main_~i~0 7) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,173 INFO L273 TraceCheckUtils]: 67: Hoare triple {7654#(and (= main_~i~0 7) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7654#(and (= main_~i~0 7) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,175 INFO L256 TraceCheckUtils]: 68: Hoare triple {7654#(and (= main_~i~0 7) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,176 INFO L273 TraceCheckUtils]: 69: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} ~cond := #in~cond; {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,176 INFO L273 TraceCheckUtils]: 70: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} assume !(0 == ~cond); {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,177 INFO L273 TraceCheckUtils]: 71: Hoare triple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} assume true; {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,178 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {7506#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_29| Int) (|v_main_~#a~0.base_BEFORE_CALL_29| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_29|) (+ |v_main_~#a~0.offset_BEFORE_CALL_29| 32)) 8)) (<= ~N~0 9))} {7654#(and (= main_~i~0 7) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} #58#return; {7654#(and (= main_~i~0 7) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,179 INFO L273 TraceCheckUtils]: 73: Hoare triple {7654#(and (= main_~i~0 7) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {7676#(and (= main_~i~0 8) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} is VALID [2018-11-23 12:14:34,180 INFO L273 TraceCheckUtils]: 74: Hoare triple {7676#(and (= main_~i~0 8) (= 8 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 32))) (<= ~N~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7680#(and (= main_~i~0 8) (= 8 |main_#t~mem1|))} is VALID [2018-11-23 12:14:34,181 INFO L256 TraceCheckUtils]: 75: Hoare triple {7680#(and (= main_~i~0 8) (= 8 |main_#t~mem1|))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7684#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:14:34,182 INFO L273 TraceCheckUtils]: 76: Hoare triple {7684#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {7688#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:14:34,182 INFO L273 TraceCheckUtils]: 77: Hoare triple {7688#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7410#false} is VALID [2018-11-23 12:14:34,182 INFO L273 TraceCheckUtils]: 78: Hoare triple {7410#false} assume !false; {7410#false} is VALID [2018-11-23 12:14:34,200 INFO L134 CoverageAnalysis]: Checked inductivity of 273 backedges. 0 proven. 161 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2018-11-23 12:14:34,219 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:34,219 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 26] total 49 [2018-11-23 12:14:34,220 INFO L78 Accepts]: Start accepts. Automaton has 49 states. Word has length 79 [2018-11-23 12:14:34,220 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:34,220 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 49 states. [2018-11-23 12:14:34,350 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:34,351 INFO L459 AbstractCegarLoop]: Interpolant automaton has 49 states [2018-11-23 12:14:34,351 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 49 interpolants. [2018-11-23 12:14:34,352 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=128, Invalid=2224, Unknown=0, NotChecked=0, Total=2352 [2018-11-23 12:14:34,352 INFO L87 Difference]: Start difference. First operand 82 states and 83 transitions. Second operand 49 states. [2018-11-23 12:14:48,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:48,422 INFO L93 Difference]: Finished difference Result 167 states and 170 transitions. [2018-11-23 12:14:48,422 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 62 states. [2018-11-23 12:14:48,422 INFO L78 Accepts]: Start accepts. Automaton has 49 states. Word has length 79 [2018-11-23 12:14:48,423 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:48,423 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 12:14:48,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 122 transitions. [2018-11-23 12:14:48,426 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 12:14:48,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 122 transitions. [2018-11-23 12:14:48,429 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 62 states and 122 transitions. [2018-11-23 12:14:48,623 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:48,627 INFO L225 Difference]: With dead ends: 167 [2018-11-23 12:14:48,627 INFO L226 Difference]: Without dead ends: 165 [2018-11-23 12:14:48,634 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 43 SyntacticMatches, 16 SemanticMatches, 102 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2123 ImplicationChecksByTransitivity, 6.9s TimeCoverageRelationStatistics Valid=600, Invalid=10112, Unknown=0, NotChecked=0, Total=10712 [2018-11-23 12:14:48,634 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 165 states. [2018-11-23 12:14:49,056 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 165 to 89. [2018-11-23 12:14:49,057 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:49,057 INFO L82 GeneralOperation]: Start isEquivalent. First operand 165 states. Second operand 89 states. [2018-11-23 12:14:49,057 INFO L74 IsIncluded]: Start isIncluded. First operand 165 states. Second operand 89 states. [2018-11-23 12:14:49,057 INFO L87 Difference]: Start difference. First operand 165 states. Second operand 89 states. [2018-11-23 12:14:49,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:49,060 INFO L93 Difference]: Finished difference Result 165 states and 167 transitions. [2018-11-23 12:14:49,060 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 167 transitions. [2018-11-23 12:14:49,061 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:49,061 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:49,061 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 165 states. [2018-11-23 12:14:49,061 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 165 states. [2018-11-23 12:14:49,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:49,065 INFO L93 Difference]: Finished difference Result 165 states and 167 transitions. [2018-11-23 12:14:49,065 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 167 transitions. [2018-11-23 12:14:49,066 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:49,066 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:49,066 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:49,066 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:49,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 89 states. [2018-11-23 12:14:49,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 90 transitions. [2018-11-23 12:14:49,068 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 90 transitions. Word has length 79 [2018-11-23 12:14:49,068 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:49,068 INFO L480 AbstractCegarLoop]: Abstraction has 89 states and 90 transitions. [2018-11-23 12:14:49,068 INFO L481 AbstractCegarLoop]: Interpolant automaton has 49 states. [2018-11-23 12:14:49,068 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 90 transitions. [2018-11-23 12:14:49,069 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2018-11-23 12:14:49,069 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:49,069 INFO L402 BasicCegarLoop]: trace histogram [10, 10, 10, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:14:49,070 INFO L423 AbstractCegarLoop]: === Iteration 19 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:49,070 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:49,070 INFO L82 PathProgramCache]: Analyzing trace with hash -1399805960, now seen corresponding path program 16 times [2018-11-23 12:14:49,070 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:49,070 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:49,071 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:49,071 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:14:49,071 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:49,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:49,371 INFO L256 TraceCheckUtils]: 0: Hoare triple {8511#true} call ULTIMATE.init(); {8511#true} is VALID [2018-11-23 12:14:49,372 INFO L273 TraceCheckUtils]: 1: Hoare triple {8511#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {8511#true} is VALID [2018-11-23 12:14:49,372 INFO L273 TraceCheckUtils]: 2: Hoare triple {8511#true} assume true; {8511#true} is VALID [2018-11-23 12:14:49,372 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8511#true} {8511#true} #54#return; {8511#true} is VALID [2018-11-23 12:14:49,372 INFO L256 TraceCheckUtils]: 4: Hoare triple {8511#true} call #t~ret2 := main(); {8511#true} is VALID [2018-11-23 12:14:49,372 INFO L273 TraceCheckUtils]: 5: Hoare triple {8511#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {8511#true} is VALID [2018-11-23 12:14:49,373 INFO L273 TraceCheckUtils]: 6: Hoare triple {8511#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {8513#(= main_~i~0 0)} is VALID [2018-11-23 12:14:49,374 INFO L273 TraceCheckUtils]: 7: Hoare triple {8513#(= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {8514#(<= main_~i~0 1)} is VALID [2018-11-23 12:14:49,374 INFO L273 TraceCheckUtils]: 8: Hoare triple {8514#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {8515#(<= main_~i~0 2)} is VALID [2018-11-23 12:14:49,375 INFO L273 TraceCheckUtils]: 9: Hoare triple {8515#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {8516#(<= main_~i~0 3)} is VALID [2018-11-23 12:14:49,376 INFO L273 TraceCheckUtils]: 10: Hoare triple {8516#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {8517#(<= main_~i~0 4)} is VALID [2018-11-23 12:14:49,376 INFO L273 TraceCheckUtils]: 11: Hoare triple {8517#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {8518#(<= main_~i~0 5)} is VALID [2018-11-23 12:14:49,377 INFO L273 TraceCheckUtils]: 12: Hoare triple {8518#(<= main_~i~0 5)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {8519#(<= main_~i~0 6)} is VALID [2018-11-23 12:14:49,378 INFO L273 TraceCheckUtils]: 13: Hoare triple {8519#(<= main_~i~0 6)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {8520#(<= main_~i~0 7)} is VALID [2018-11-23 12:14:49,379 INFO L273 TraceCheckUtils]: 14: Hoare triple {8520#(<= main_~i~0 7)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {8521#(<= main_~i~0 8)} is VALID [2018-11-23 12:14:49,380 INFO L273 TraceCheckUtils]: 15: Hoare triple {8521#(<= main_~i~0 8)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {8522#(<= main_~i~0 9)} is VALID [2018-11-23 12:14:49,380 INFO L273 TraceCheckUtils]: 16: Hoare triple {8522#(<= main_~i~0 9)} assume !(~i~0 < ~N~0); {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,381 INFO L273 TraceCheckUtils]: 17: Hoare triple {8523#(<= ~N~0 9)} ~i~0 := 0; {8524#(and (= main_~i~0 0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,382 INFO L273 TraceCheckUtils]: 18: Hoare triple {8524#(and (= main_~i~0 0) (<= ~N~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8524#(and (= main_~i~0 0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,382 INFO L256 TraceCheckUtils]: 19: Hoare triple {8524#(and (= main_~i~0 0) (<= ~N~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8511#true} is VALID [2018-11-23 12:14:49,382 INFO L273 TraceCheckUtils]: 20: Hoare triple {8511#true} ~cond := #in~cond; {8511#true} is VALID [2018-11-23 12:14:49,382 INFO L273 TraceCheckUtils]: 21: Hoare triple {8511#true} assume !(0 == ~cond); {8511#true} is VALID [2018-11-23 12:14:49,383 INFO L273 TraceCheckUtils]: 22: Hoare triple {8511#true} assume true; {8511#true} is VALID [2018-11-23 12:14:49,384 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {8511#true} {8524#(and (= main_~i~0 0) (<= ~N~0 9))} #58#return; {8524#(and (= main_~i~0 0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,384 INFO L273 TraceCheckUtils]: 24: Hoare triple {8524#(and (= main_~i~0 0) (<= ~N~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {8525#(<= ~N~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:14:49,385 INFO L273 TraceCheckUtils]: 25: Hoare triple {8525#(<= ~N~0 (+ main_~i~0 8))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8525#(<= ~N~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:14:49,385 INFO L256 TraceCheckUtils]: 26: Hoare triple {8525#(<= ~N~0 (+ main_~i~0 8))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8511#true} is VALID [2018-11-23 12:14:49,385 INFO L273 TraceCheckUtils]: 27: Hoare triple {8511#true} ~cond := #in~cond; {8511#true} is VALID [2018-11-23 12:14:49,385 INFO L273 TraceCheckUtils]: 28: Hoare triple {8511#true} assume !(0 == ~cond); {8511#true} is VALID [2018-11-23 12:14:49,386 INFO L273 TraceCheckUtils]: 29: Hoare triple {8511#true} assume true; {8511#true} is VALID [2018-11-23 12:14:49,386 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {8511#true} {8525#(<= ~N~0 (+ main_~i~0 8))} #58#return; {8525#(<= ~N~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:14:49,387 INFO L273 TraceCheckUtils]: 31: Hoare triple {8525#(<= ~N~0 (+ main_~i~0 8))} havoc #t~mem1;~i~0 := 1 + ~i~0; {8526#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:14:49,388 INFO L273 TraceCheckUtils]: 32: Hoare triple {8526#(<= ~N~0 (+ main_~i~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8526#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:14:49,388 INFO L256 TraceCheckUtils]: 33: Hoare triple {8526#(<= ~N~0 (+ main_~i~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8511#true} is VALID [2018-11-23 12:14:49,388 INFO L273 TraceCheckUtils]: 34: Hoare triple {8511#true} ~cond := #in~cond; {8511#true} is VALID [2018-11-23 12:14:49,388 INFO L273 TraceCheckUtils]: 35: Hoare triple {8511#true} assume !(0 == ~cond); {8511#true} is VALID [2018-11-23 12:14:49,388 INFO L273 TraceCheckUtils]: 36: Hoare triple {8511#true} assume true; {8511#true} is VALID [2018-11-23 12:14:49,400 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {8511#true} {8526#(<= ~N~0 (+ main_~i~0 7))} #58#return; {8526#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:14:49,401 INFO L273 TraceCheckUtils]: 38: Hoare triple {8526#(<= ~N~0 (+ main_~i~0 7))} havoc #t~mem1;~i~0 := 1 + ~i~0; {8527#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:14:49,401 INFO L273 TraceCheckUtils]: 39: Hoare triple {8527#(<= ~N~0 (+ main_~i~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8527#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:14:49,401 INFO L256 TraceCheckUtils]: 40: Hoare triple {8527#(<= ~N~0 (+ main_~i~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8511#true} is VALID [2018-11-23 12:14:49,402 INFO L273 TraceCheckUtils]: 41: Hoare triple {8511#true} ~cond := #in~cond; {8511#true} is VALID [2018-11-23 12:14:49,402 INFO L273 TraceCheckUtils]: 42: Hoare triple {8511#true} assume !(0 == ~cond); {8511#true} is VALID [2018-11-23 12:14:49,402 INFO L273 TraceCheckUtils]: 43: Hoare triple {8511#true} assume true; {8511#true} is VALID [2018-11-23 12:14:49,402 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {8511#true} {8527#(<= ~N~0 (+ main_~i~0 6))} #58#return; {8527#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:14:49,403 INFO L273 TraceCheckUtils]: 45: Hoare triple {8527#(<= ~N~0 (+ main_~i~0 6))} havoc #t~mem1;~i~0 := 1 + ~i~0; {8528#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:14:49,403 INFO L273 TraceCheckUtils]: 46: Hoare triple {8528#(<= ~N~0 (+ main_~i~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8528#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:14:49,403 INFO L256 TraceCheckUtils]: 47: Hoare triple {8528#(<= ~N~0 (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8511#true} is VALID [2018-11-23 12:14:49,404 INFO L273 TraceCheckUtils]: 48: Hoare triple {8511#true} ~cond := #in~cond; {8511#true} is VALID [2018-11-23 12:14:49,404 INFO L273 TraceCheckUtils]: 49: Hoare triple {8511#true} assume !(0 == ~cond); {8511#true} is VALID [2018-11-23 12:14:49,404 INFO L273 TraceCheckUtils]: 50: Hoare triple {8511#true} assume true; {8511#true} is VALID [2018-11-23 12:14:49,404 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {8511#true} {8528#(<= ~N~0 (+ main_~i~0 5))} #58#return; {8528#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:14:49,405 INFO L273 TraceCheckUtils]: 52: Hoare triple {8528#(<= ~N~0 (+ main_~i~0 5))} havoc #t~mem1;~i~0 := 1 + ~i~0; {8529#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:14:49,405 INFO L273 TraceCheckUtils]: 53: Hoare triple {8529#(<= ~N~0 (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8529#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:14:49,405 INFO L256 TraceCheckUtils]: 54: Hoare triple {8529#(<= ~N~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8511#true} is VALID [2018-11-23 12:14:49,405 INFO L273 TraceCheckUtils]: 55: Hoare triple {8511#true} ~cond := #in~cond; {8511#true} is VALID [2018-11-23 12:14:49,405 INFO L273 TraceCheckUtils]: 56: Hoare triple {8511#true} assume !(0 == ~cond); {8511#true} is VALID [2018-11-23 12:14:49,406 INFO L273 TraceCheckUtils]: 57: Hoare triple {8511#true} assume true; {8511#true} is VALID [2018-11-23 12:14:49,406 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {8511#true} {8529#(<= ~N~0 (+ main_~i~0 4))} #58#return; {8529#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:14:49,407 INFO L273 TraceCheckUtils]: 59: Hoare triple {8529#(<= ~N~0 (+ main_~i~0 4))} havoc #t~mem1;~i~0 := 1 + ~i~0; {8530#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:14:49,408 INFO L273 TraceCheckUtils]: 60: Hoare triple {8530#(<= ~N~0 (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8530#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:14:49,408 INFO L256 TraceCheckUtils]: 61: Hoare triple {8530#(<= ~N~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8511#true} is VALID [2018-11-23 12:14:49,408 INFO L273 TraceCheckUtils]: 62: Hoare triple {8511#true} ~cond := #in~cond; {8511#true} is VALID [2018-11-23 12:14:49,408 INFO L273 TraceCheckUtils]: 63: Hoare triple {8511#true} assume !(0 == ~cond); {8511#true} is VALID [2018-11-23 12:14:49,409 INFO L273 TraceCheckUtils]: 64: Hoare triple {8511#true} assume true; {8511#true} is VALID [2018-11-23 12:14:49,409 INFO L268 TraceCheckUtils]: 65: Hoare quadruple {8511#true} {8530#(<= ~N~0 (+ main_~i~0 3))} #58#return; {8530#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:14:49,410 INFO L273 TraceCheckUtils]: 66: Hoare triple {8530#(<= ~N~0 (+ main_~i~0 3))} havoc #t~mem1;~i~0 := 1 + ~i~0; {8531#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:14:49,411 INFO L273 TraceCheckUtils]: 67: Hoare triple {8531#(<= ~N~0 (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8531#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:14:49,411 INFO L256 TraceCheckUtils]: 68: Hoare triple {8531#(<= ~N~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8511#true} is VALID [2018-11-23 12:14:49,411 INFO L273 TraceCheckUtils]: 69: Hoare triple {8511#true} ~cond := #in~cond; {8511#true} is VALID [2018-11-23 12:14:49,411 INFO L273 TraceCheckUtils]: 70: Hoare triple {8511#true} assume !(0 == ~cond); {8511#true} is VALID [2018-11-23 12:14:49,412 INFO L273 TraceCheckUtils]: 71: Hoare triple {8511#true} assume true; {8511#true} is VALID [2018-11-23 12:14:49,412 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {8511#true} {8531#(<= ~N~0 (+ main_~i~0 2))} #58#return; {8531#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:14:49,413 INFO L273 TraceCheckUtils]: 73: Hoare triple {8531#(<= ~N~0 (+ main_~i~0 2))} havoc #t~mem1;~i~0 := 1 + ~i~0; {8532#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:14:49,414 INFO L273 TraceCheckUtils]: 74: Hoare triple {8532#(<= ~N~0 (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8532#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:14:49,414 INFO L256 TraceCheckUtils]: 75: Hoare triple {8532#(<= ~N~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8511#true} is VALID [2018-11-23 12:14:49,414 INFO L273 TraceCheckUtils]: 76: Hoare triple {8511#true} ~cond := #in~cond; {8511#true} is VALID [2018-11-23 12:14:49,414 INFO L273 TraceCheckUtils]: 77: Hoare triple {8511#true} assume !(0 == ~cond); {8511#true} is VALID [2018-11-23 12:14:49,415 INFO L273 TraceCheckUtils]: 78: Hoare triple {8511#true} assume true; {8511#true} is VALID [2018-11-23 12:14:49,415 INFO L268 TraceCheckUtils]: 79: Hoare quadruple {8511#true} {8532#(<= ~N~0 (+ main_~i~0 1))} #58#return; {8532#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:14:49,416 INFO L273 TraceCheckUtils]: 80: Hoare triple {8532#(<= ~N~0 (+ main_~i~0 1))} havoc #t~mem1;~i~0 := 1 + ~i~0; {8533#(<= ~N~0 main_~i~0)} is VALID [2018-11-23 12:14:49,417 INFO L273 TraceCheckUtils]: 81: Hoare triple {8533#(<= ~N~0 main_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8512#false} is VALID [2018-11-23 12:14:49,417 INFO L256 TraceCheckUtils]: 82: Hoare triple {8512#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8512#false} is VALID [2018-11-23 12:14:49,417 INFO L273 TraceCheckUtils]: 83: Hoare triple {8512#false} ~cond := #in~cond; {8512#false} is VALID [2018-11-23 12:14:49,417 INFO L273 TraceCheckUtils]: 84: Hoare triple {8512#false} assume 0 == ~cond; {8512#false} is VALID [2018-11-23 12:14:49,418 INFO L273 TraceCheckUtils]: 85: Hoare triple {8512#false} assume !false; {8512#false} is VALID [2018-11-23 12:14:49,423 INFO L134 CoverageAnalysis]: Checked inductivity of 333 backedges. 119 proven. 70 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2018-11-23 12:14:49,423 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:49,423 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:14:49,432 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:14:49,469 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:14:49,469 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:14:49,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:49,489 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:49,922 INFO L256 TraceCheckUtils]: 0: Hoare triple {8511#true} call ULTIMATE.init(); {8511#true} is VALID [2018-11-23 12:14:49,922 INFO L273 TraceCheckUtils]: 1: Hoare triple {8511#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {8511#true} is VALID [2018-11-23 12:14:49,923 INFO L273 TraceCheckUtils]: 2: Hoare triple {8511#true} assume true; {8511#true} is VALID [2018-11-23 12:14:49,923 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8511#true} {8511#true} #54#return; {8511#true} is VALID [2018-11-23 12:14:49,923 INFO L256 TraceCheckUtils]: 4: Hoare triple {8511#true} call #t~ret2 := main(); {8511#true} is VALID [2018-11-23 12:14:49,923 INFO L273 TraceCheckUtils]: 5: Hoare triple {8511#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {8511#true} is VALID [2018-11-23 12:14:49,924 INFO L273 TraceCheckUtils]: 6: Hoare triple {8511#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {8555#(<= main_~i~0 0)} is VALID [2018-11-23 12:14:49,925 INFO L273 TraceCheckUtils]: 7: Hoare triple {8555#(<= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {8514#(<= main_~i~0 1)} is VALID [2018-11-23 12:14:49,926 INFO L273 TraceCheckUtils]: 8: Hoare triple {8514#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {8515#(<= main_~i~0 2)} is VALID [2018-11-23 12:14:49,926 INFO L273 TraceCheckUtils]: 9: Hoare triple {8515#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {8516#(<= main_~i~0 3)} is VALID [2018-11-23 12:14:49,927 INFO L273 TraceCheckUtils]: 10: Hoare triple {8516#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {8517#(<= main_~i~0 4)} is VALID [2018-11-23 12:14:49,928 INFO L273 TraceCheckUtils]: 11: Hoare triple {8517#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {8518#(<= main_~i~0 5)} is VALID [2018-11-23 12:14:49,929 INFO L273 TraceCheckUtils]: 12: Hoare triple {8518#(<= main_~i~0 5)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {8519#(<= main_~i~0 6)} is VALID [2018-11-23 12:14:49,930 INFO L273 TraceCheckUtils]: 13: Hoare triple {8519#(<= main_~i~0 6)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {8520#(<= main_~i~0 7)} is VALID [2018-11-23 12:14:49,931 INFO L273 TraceCheckUtils]: 14: Hoare triple {8520#(<= main_~i~0 7)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {8521#(<= main_~i~0 8)} is VALID [2018-11-23 12:14:49,932 INFO L273 TraceCheckUtils]: 15: Hoare triple {8521#(<= main_~i~0 8)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {8522#(<= main_~i~0 9)} is VALID [2018-11-23 12:14:49,932 INFO L273 TraceCheckUtils]: 16: Hoare triple {8522#(<= main_~i~0 9)} assume !(~i~0 < ~N~0); {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,933 INFO L273 TraceCheckUtils]: 17: Hoare triple {8523#(<= ~N~0 9)} ~i~0 := 0; {8589#(and (<= 0 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,934 INFO L273 TraceCheckUtils]: 18: Hoare triple {8589#(and (<= 0 main_~i~0) (<= ~N~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8589#(and (<= 0 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,935 INFO L256 TraceCheckUtils]: 19: Hoare triple {8589#(and (<= 0 main_~i~0) (<= ~N~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,936 INFO L273 TraceCheckUtils]: 20: Hoare triple {8523#(<= ~N~0 9)} ~cond := #in~cond; {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,936 INFO L273 TraceCheckUtils]: 21: Hoare triple {8523#(<= ~N~0 9)} assume !(0 == ~cond); {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,937 INFO L273 TraceCheckUtils]: 22: Hoare triple {8523#(<= ~N~0 9)} assume true; {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,938 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {8523#(<= ~N~0 9)} {8589#(and (<= 0 main_~i~0) (<= ~N~0 9))} #58#return; {8589#(and (<= 0 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,938 INFO L273 TraceCheckUtils]: 24: Hoare triple {8589#(and (<= 0 main_~i~0) (<= ~N~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {8611#(and (<= 1 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,939 INFO L273 TraceCheckUtils]: 25: Hoare triple {8611#(and (<= 1 main_~i~0) (<= ~N~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8611#(and (<= 1 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,940 INFO L256 TraceCheckUtils]: 26: Hoare triple {8611#(and (<= 1 main_~i~0) (<= ~N~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,941 INFO L273 TraceCheckUtils]: 27: Hoare triple {8523#(<= ~N~0 9)} ~cond := #in~cond; {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,941 INFO L273 TraceCheckUtils]: 28: Hoare triple {8523#(<= ~N~0 9)} assume !(0 == ~cond); {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,942 INFO L273 TraceCheckUtils]: 29: Hoare triple {8523#(<= ~N~0 9)} assume true; {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,943 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {8523#(<= ~N~0 9)} {8611#(and (<= 1 main_~i~0) (<= ~N~0 9))} #58#return; {8611#(and (<= 1 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,944 INFO L273 TraceCheckUtils]: 31: Hoare triple {8611#(and (<= 1 main_~i~0) (<= ~N~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {8633#(and (<= 2 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,944 INFO L273 TraceCheckUtils]: 32: Hoare triple {8633#(and (<= 2 main_~i~0) (<= ~N~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8633#(and (<= 2 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,945 INFO L256 TraceCheckUtils]: 33: Hoare triple {8633#(and (<= 2 main_~i~0) (<= ~N~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,946 INFO L273 TraceCheckUtils]: 34: Hoare triple {8523#(<= ~N~0 9)} ~cond := #in~cond; {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,946 INFO L273 TraceCheckUtils]: 35: Hoare triple {8523#(<= ~N~0 9)} assume !(0 == ~cond); {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,947 INFO L273 TraceCheckUtils]: 36: Hoare triple {8523#(<= ~N~0 9)} assume true; {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,948 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {8523#(<= ~N~0 9)} {8633#(and (<= 2 main_~i~0) (<= ~N~0 9))} #58#return; {8633#(and (<= 2 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,948 INFO L273 TraceCheckUtils]: 38: Hoare triple {8633#(and (<= 2 main_~i~0) (<= ~N~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {8655#(and (<= 3 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,949 INFO L273 TraceCheckUtils]: 39: Hoare triple {8655#(and (<= 3 main_~i~0) (<= ~N~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8655#(and (<= 3 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,950 INFO L256 TraceCheckUtils]: 40: Hoare triple {8655#(and (<= 3 main_~i~0) (<= ~N~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,951 INFO L273 TraceCheckUtils]: 41: Hoare triple {8523#(<= ~N~0 9)} ~cond := #in~cond; {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,951 INFO L273 TraceCheckUtils]: 42: Hoare triple {8523#(<= ~N~0 9)} assume !(0 == ~cond); {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,952 INFO L273 TraceCheckUtils]: 43: Hoare triple {8523#(<= ~N~0 9)} assume true; {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,952 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {8523#(<= ~N~0 9)} {8655#(and (<= 3 main_~i~0) (<= ~N~0 9))} #58#return; {8655#(and (<= 3 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,953 INFO L273 TraceCheckUtils]: 45: Hoare triple {8655#(and (<= 3 main_~i~0) (<= ~N~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {8677#(and (<= 4 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,954 INFO L273 TraceCheckUtils]: 46: Hoare triple {8677#(and (<= 4 main_~i~0) (<= ~N~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8677#(and (<= 4 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,957 INFO L256 TraceCheckUtils]: 47: Hoare triple {8677#(and (<= 4 main_~i~0) (<= ~N~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,960 INFO L273 TraceCheckUtils]: 48: Hoare triple {8523#(<= ~N~0 9)} ~cond := #in~cond; {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,960 INFO L273 TraceCheckUtils]: 49: Hoare triple {8523#(<= ~N~0 9)} assume !(0 == ~cond); {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,962 INFO L273 TraceCheckUtils]: 50: Hoare triple {8523#(<= ~N~0 9)} assume true; {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,962 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {8523#(<= ~N~0 9)} {8677#(and (<= 4 main_~i~0) (<= ~N~0 9))} #58#return; {8677#(and (<= 4 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,967 INFO L273 TraceCheckUtils]: 52: Hoare triple {8677#(and (<= 4 main_~i~0) (<= ~N~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {8699#(and (<= 5 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,970 INFO L273 TraceCheckUtils]: 53: Hoare triple {8699#(and (<= 5 main_~i~0) (<= ~N~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8699#(and (<= 5 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,971 INFO L256 TraceCheckUtils]: 54: Hoare triple {8699#(and (<= 5 main_~i~0) (<= ~N~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,972 INFO L273 TraceCheckUtils]: 55: Hoare triple {8523#(<= ~N~0 9)} ~cond := #in~cond; {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,972 INFO L273 TraceCheckUtils]: 56: Hoare triple {8523#(<= ~N~0 9)} assume !(0 == ~cond); {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,975 INFO L273 TraceCheckUtils]: 57: Hoare triple {8523#(<= ~N~0 9)} assume true; {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,975 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {8523#(<= ~N~0 9)} {8699#(and (<= 5 main_~i~0) (<= ~N~0 9))} #58#return; {8699#(and (<= 5 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,978 INFO L273 TraceCheckUtils]: 59: Hoare triple {8699#(and (<= 5 main_~i~0) (<= ~N~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {8721#(and (<= 6 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,978 INFO L273 TraceCheckUtils]: 60: Hoare triple {8721#(and (<= 6 main_~i~0) (<= ~N~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8721#(and (<= 6 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,981 INFO L256 TraceCheckUtils]: 61: Hoare triple {8721#(and (<= 6 main_~i~0) (<= ~N~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,981 INFO L273 TraceCheckUtils]: 62: Hoare triple {8523#(<= ~N~0 9)} ~cond := #in~cond; {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,984 INFO L273 TraceCheckUtils]: 63: Hoare triple {8523#(<= ~N~0 9)} assume !(0 == ~cond); {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,984 INFO L273 TraceCheckUtils]: 64: Hoare triple {8523#(<= ~N~0 9)} assume true; {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,987 INFO L268 TraceCheckUtils]: 65: Hoare quadruple {8523#(<= ~N~0 9)} {8721#(and (<= 6 main_~i~0) (<= ~N~0 9))} #58#return; {8721#(and (<= 6 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,987 INFO L273 TraceCheckUtils]: 66: Hoare triple {8721#(and (<= 6 main_~i~0) (<= ~N~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {8743#(and (<= 7 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,989 INFO L273 TraceCheckUtils]: 67: Hoare triple {8743#(and (<= 7 main_~i~0) (<= ~N~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8743#(and (<= 7 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,989 INFO L256 TraceCheckUtils]: 68: Hoare triple {8743#(and (<= 7 main_~i~0) (<= ~N~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,992 INFO L273 TraceCheckUtils]: 69: Hoare triple {8523#(<= ~N~0 9)} ~cond := #in~cond; {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,994 INFO L273 TraceCheckUtils]: 70: Hoare triple {8523#(<= ~N~0 9)} assume !(0 == ~cond); {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,994 INFO L273 TraceCheckUtils]: 71: Hoare triple {8523#(<= ~N~0 9)} assume true; {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:49,997 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {8523#(<= ~N~0 9)} {8743#(and (<= 7 main_~i~0) (<= ~N~0 9))} #58#return; {8743#(and (<= 7 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,997 INFO L273 TraceCheckUtils]: 73: Hoare triple {8743#(and (<= 7 main_~i~0) (<= ~N~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {8765#(and (<= 8 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,999 INFO L273 TraceCheckUtils]: 74: Hoare triple {8765#(and (<= 8 main_~i~0) (<= ~N~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8765#(and (<= 8 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:49,999 INFO L256 TraceCheckUtils]: 75: Hoare triple {8765#(and (<= 8 main_~i~0) (<= ~N~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:50,002 INFO L273 TraceCheckUtils]: 76: Hoare triple {8523#(<= ~N~0 9)} ~cond := #in~cond; {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:50,002 INFO L273 TraceCheckUtils]: 77: Hoare triple {8523#(<= ~N~0 9)} assume !(0 == ~cond); {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:50,005 INFO L273 TraceCheckUtils]: 78: Hoare triple {8523#(<= ~N~0 9)} assume true; {8523#(<= ~N~0 9)} is VALID [2018-11-23 12:14:50,005 INFO L268 TraceCheckUtils]: 79: Hoare quadruple {8523#(<= ~N~0 9)} {8765#(and (<= 8 main_~i~0) (<= ~N~0 9))} #58#return; {8765#(and (<= 8 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:50,008 INFO L273 TraceCheckUtils]: 80: Hoare triple {8765#(and (<= 8 main_~i~0) (<= ~N~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {8787#(and (<= 9 main_~i~0) (<= ~N~0 9))} is VALID [2018-11-23 12:14:50,008 INFO L273 TraceCheckUtils]: 81: Hoare triple {8787#(and (<= 9 main_~i~0) (<= ~N~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8512#false} is VALID [2018-11-23 12:14:50,008 INFO L256 TraceCheckUtils]: 82: Hoare triple {8512#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8512#false} is VALID [2018-11-23 12:14:50,008 INFO L273 TraceCheckUtils]: 83: Hoare triple {8512#false} ~cond := #in~cond; {8512#false} is VALID [2018-11-23 12:14:50,009 INFO L273 TraceCheckUtils]: 84: Hoare triple {8512#false} assume 0 == ~cond; {8512#false} is VALID [2018-11-23 12:14:50,009 INFO L273 TraceCheckUtils]: 85: Hoare triple {8512#false} assume !false; {8512#false} is VALID [2018-11-23 12:14:50,015 INFO L134 CoverageAnalysis]: Checked inductivity of 333 backedges. 144 proven. 45 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2018-11-23 12:14:50,034 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:50,034 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 23] total 34 [2018-11-23 12:14:50,035 INFO L78 Accepts]: Start accepts. Automaton has 34 states. Word has length 86 [2018-11-23 12:14:50,035 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:50,035 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 34 states. [2018-11-23 12:14:50,186 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:50,186 INFO L459 AbstractCegarLoop]: Interpolant automaton has 34 states [2018-11-23 12:14:50,186 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2018-11-23 12:14:50,187 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=269, Invalid=853, Unknown=0, NotChecked=0, Total=1122 [2018-11-23 12:14:50,187 INFO L87 Difference]: Start difference. First operand 89 states and 90 transitions. Second operand 34 states. [2018-11-23 12:14:52,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:52,422 INFO L93 Difference]: Finished difference Result 168 states and 171 transitions. [2018-11-23 12:14:52,422 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2018-11-23 12:14:52,422 INFO L78 Accepts]: Start accepts. Automaton has 34 states. Word has length 86 [2018-11-23 12:14:52,422 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:52,423 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-23 12:14:52,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 120 transitions. [2018-11-23 12:14:52,426 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-23 12:14:52,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 120 transitions. [2018-11-23 12:14:52,428 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states and 120 transitions. [2018-11-23 12:14:52,784 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 120 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:52,786 INFO L225 Difference]: With dead ends: 168 [2018-11-23 12:14:52,786 INFO L226 Difference]: Without dead ends: 94 [2018-11-23 12:14:52,788 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 118 GetRequests, 76 SyntacticMatches, 0 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 444 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=454, Invalid=1438, Unknown=0, NotChecked=0, Total=1892 [2018-11-23 12:14:52,788 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2018-11-23 12:14:53,308 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 90. [2018-11-23 12:14:53,309 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:53,309 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand 90 states. [2018-11-23 12:14:53,309 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand 90 states. [2018-11-23 12:14:53,309 INFO L87 Difference]: Start difference. First operand 94 states. Second operand 90 states. [2018-11-23 12:14:53,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:53,311 INFO L93 Difference]: Finished difference Result 94 states and 96 transitions. [2018-11-23 12:14:53,311 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 96 transitions. [2018-11-23 12:14:53,312 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:53,312 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:53,312 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand 94 states. [2018-11-23 12:14:53,312 INFO L87 Difference]: Start difference. First operand 90 states. Second operand 94 states. [2018-11-23 12:14:53,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:53,314 INFO L93 Difference]: Finished difference Result 94 states and 96 transitions. [2018-11-23 12:14:53,314 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 96 transitions. [2018-11-23 12:14:53,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:53,315 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:53,315 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:53,315 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:53,315 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 90 states. [2018-11-23 12:14:53,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 91 transitions. [2018-11-23 12:14:53,317 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 91 transitions. Word has length 86 [2018-11-23 12:14:53,317 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:53,317 INFO L480 AbstractCegarLoop]: Abstraction has 90 states and 91 transitions. [2018-11-23 12:14:53,317 INFO L481 AbstractCegarLoop]: Interpolant automaton has 34 states. [2018-11-23 12:14:53,318 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 91 transitions. [2018-11-23 12:14:53,318 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 88 [2018-11-23 12:14:53,318 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:53,319 INFO L402 BasicCegarLoop]: trace histogram [10, 10, 10, 10, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:14:53,319 INFO L423 AbstractCegarLoop]: === Iteration 20 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:53,319 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:53,319 INFO L82 PathProgramCache]: Analyzing trace with hash -1349311783, now seen corresponding path program 17 times [2018-11-23 12:14:53,319 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:53,319 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:53,320 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:53,320 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:14:53,320 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:53,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:54,286 INFO L256 TraceCheckUtils]: 0: Hoare triple {9391#true} call ULTIMATE.init(); {9391#true} is VALID [2018-11-23 12:14:54,287 INFO L273 TraceCheckUtils]: 1: Hoare triple {9391#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {9391#true} is VALID [2018-11-23 12:14:54,287 INFO L273 TraceCheckUtils]: 2: Hoare triple {9391#true} assume true; {9391#true} is VALID [2018-11-23 12:14:54,287 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9391#true} {9391#true} #54#return; {9391#true} is VALID [2018-11-23 12:14:54,287 INFO L256 TraceCheckUtils]: 4: Hoare triple {9391#true} call #t~ret2 := main(); {9391#true} is VALID [2018-11-23 12:14:54,288 INFO L273 TraceCheckUtils]: 5: Hoare triple {9391#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {9391#true} is VALID [2018-11-23 12:14:54,288 INFO L273 TraceCheckUtils]: 6: Hoare triple {9391#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {9393#(= main_~k~0 0)} is VALID [2018-11-23 12:14:54,289 INFO L273 TraceCheckUtils]: 7: Hoare triple {9393#(= main_~k~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {9394#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-23 12:14:54,290 INFO L273 TraceCheckUtils]: 8: Hoare triple {9394#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {9395#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-23 12:14:54,291 INFO L273 TraceCheckUtils]: 9: Hoare triple {9395#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {9396#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-23 12:14:54,292 INFO L273 TraceCheckUtils]: 10: Hoare triple {9396#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {9397#(and (<= main_~k~0 4) (<= 4 main_~k~0))} is VALID [2018-11-23 12:14:54,293 INFO L273 TraceCheckUtils]: 11: Hoare triple {9397#(and (<= main_~k~0 4) (<= 4 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {9398#(and (<= main_~k~0 5) (<= 5 main_~k~0))} is VALID [2018-11-23 12:14:54,294 INFO L273 TraceCheckUtils]: 12: Hoare triple {9398#(and (<= main_~k~0 5) (<= 5 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {9399#(and (<= 6 main_~k~0) (<= main_~k~0 6))} is VALID [2018-11-23 12:14:54,296 INFO L273 TraceCheckUtils]: 13: Hoare triple {9399#(and (<= 6 main_~k~0) (<= main_~k~0 6))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {9400#(and (<= main_~k~0 7) (<= 7 main_~k~0))} is VALID [2018-11-23 12:14:54,297 INFO L273 TraceCheckUtils]: 14: Hoare triple {9400#(and (<= main_~k~0 7) (<= 7 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {9401#(and (<= main_~k~0 8) (<= 8 main_~k~0))} is VALID [2018-11-23 12:14:54,298 INFO L273 TraceCheckUtils]: 15: Hoare triple {9401#(and (<= main_~k~0 8) (<= 8 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {9402#(and (<= 9 main_~k~0) (<= main_~k~0 9))} is VALID [2018-11-23 12:14:54,299 INFO L273 TraceCheckUtils]: 16: Hoare triple {9402#(and (<= 9 main_~k~0) (<= main_~k~0 9))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {9403#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 9))) 9)} is VALID [2018-11-23 12:14:54,299 INFO L273 TraceCheckUtils]: 17: Hoare triple {9403#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 9))) 9)} assume !(~i~0 < ~N~0); {9403#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 9))) 9)} is VALID [2018-11-23 12:14:54,300 INFO L273 TraceCheckUtils]: 18: Hoare triple {9403#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 9))) 9)} ~i~0 := 0; {9404#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 9))) 9) (= main_~i~0 0))} is VALID [2018-11-23 12:14:54,301 INFO L273 TraceCheckUtils]: 19: Hoare triple {9404#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 9))) 9) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9404#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 9))) 9) (= main_~i~0 0))} is VALID [2018-11-23 12:14:54,301 INFO L256 TraceCheckUtils]: 20: Hoare triple {9404#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 9))) 9) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9391#true} is VALID [2018-11-23 12:14:54,302 INFO L273 TraceCheckUtils]: 21: Hoare triple {9391#true} ~cond := #in~cond; {9405#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:14:54,302 INFO L273 TraceCheckUtils]: 22: Hoare triple {9405#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {9406#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:14:54,303 INFO L273 TraceCheckUtils]: 23: Hoare triple {9406#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9406#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:14:54,305 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {9406#(not (= |__VERIFIER_assert_#in~cond| 0))} {9404#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 9))) 9) (= main_~i~0 0))} #58#return; {9404#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 9))) 9) (= main_~i~0 0))} is VALID [2018-11-23 12:14:54,306 INFO L273 TraceCheckUtils]: 25: Hoare triple {9404#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 9))) 9) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {9407#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} is VALID [2018-11-23 12:14:54,306 INFO L273 TraceCheckUtils]: 26: Hoare triple {9407#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9407#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} is VALID [2018-11-23 12:14:54,307 INFO L256 TraceCheckUtils]: 27: Hoare triple {9407#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9391#true} is VALID [2018-11-23 12:14:54,307 INFO L273 TraceCheckUtils]: 28: Hoare triple {9391#true} ~cond := #in~cond; {9391#true} is VALID [2018-11-23 12:14:54,307 INFO L273 TraceCheckUtils]: 29: Hoare triple {9391#true} assume !(0 == ~cond); {9391#true} is VALID [2018-11-23 12:14:54,307 INFO L273 TraceCheckUtils]: 30: Hoare triple {9391#true} assume true; {9391#true} is VALID [2018-11-23 12:14:54,308 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {9391#true} {9407#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} #58#return; {9407#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} is VALID [2018-11-23 12:14:54,310 INFO L273 TraceCheckUtils]: 32: Hoare triple {9407#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} havoc #t~mem1;~i~0 := 1 + ~i~0; {9408#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} is VALID [2018-11-23 12:14:54,310 INFO L273 TraceCheckUtils]: 33: Hoare triple {9408#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9408#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} is VALID [2018-11-23 12:14:54,311 INFO L256 TraceCheckUtils]: 34: Hoare triple {9408#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9391#true} is VALID [2018-11-23 12:14:54,311 INFO L273 TraceCheckUtils]: 35: Hoare triple {9391#true} ~cond := #in~cond; {9391#true} is VALID [2018-11-23 12:14:54,311 INFO L273 TraceCheckUtils]: 36: Hoare triple {9391#true} assume !(0 == ~cond); {9391#true} is VALID [2018-11-23 12:14:54,311 INFO L273 TraceCheckUtils]: 37: Hoare triple {9391#true} assume true; {9391#true} is VALID [2018-11-23 12:14:54,313 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {9391#true} {9408#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} #58#return; {9408#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} is VALID [2018-11-23 12:14:54,314 INFO L273 TraceCheckUtils]: 39: Hoare triple {9408#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} havoc #t~mem1;~i~0 := 1 + ~i~0; {9409#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} is VALID [2018-11-23 12:14:54,315 INFO L273 TraceCheckUtils]: 40: Hoare triple {9409#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9409#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} is VALID [2018-11-23 12:14:54,315 INFO L256 TraceCheckUtils]: 41: Hoare triple {9409#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9391#true} is VALID [2018-11-23 12:14:54,315 INFO L273 TraceCheckUtils]: 42: Hoare triple {9391#true} ~cond := #in~cond; {9391#true} is VALID [2018-11-23 12:14:54,315 INFO L273 TraceCheckUtils]: 43: Hoare triple {9391#true} assume !(0 == ~cond); {9391#true} is VALID [2018-11-23 12:14:54,315 INFO L273 TraceCheckUtils]: 44: Hoare triple {9391#true} assume true; {9391#true} is VALID [2018-11-23 12:14:54,317 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {9391#true} {9409#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} #58#return; {9409#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} is VALID [2018-11-23 12:14:54,318 INFO L273 TraceCheckUtils]: 46: Hoare triple {9409#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} havoc #t~mem1;~i~0 := 1 + ~i~0; {9410#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-23 12:14:54,319 INFO L273 TraceCheckUtils]: 47: Hoare triple {9410#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9410#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-23 12:14:54,319 INFO L256 TraceCheckUtils]: 48: Hoare triple {9410#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9391#true} is VALID [2018-11-23 12:14:54,319 INFO L273 TraceCheckUtils]: 49: Hoare triple {9391#true} ~cond := #in~cond; {9391#true} is VALID [2018-11-23 12:14:54,320 INFO L273 TraceCheckUtils]: 50: Hoare triple {9391#true} assume !(0 == ~cond); {9391#true} is VALID [2018-11-23 12:14:54,320 INFO L273 TraceCheckUtils]: 51: Hoare triple {9391#true} assume true; {9391#true} is VALID [2018-11-23 12:14:54,321 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {9391#true} {9410#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} #58#return; {9410#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-23 12:14:54,322 INFO L273 TraceCheckUtils]: 53: Hoare triple {9410#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} havoc #t~mem1;~i~0 := 1 + ~i~0; {9411#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:14:54,323 INFO L273 TraceCheckUtils]: 54: Hoare triple {9411#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9411#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:14:54,323 INFO L256 TraceCheckUtils]: 55: Hoare triple {9411#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9391#true} is VALID [2018-11-23 12:14:54,323 INFO L273 TraceCheckUtils]: 56: Hoare triple {9391#true} ~cond := #in~cond; {9391#true} is VALID [2018-11-23 12:14:54,324 INFO L273 TraceCheckUtils]: 57: Hoare triple {9391#true} assume !(0 == ~cond); {9391#true} is VALID [2018-11-23 12:14:54,324 INFO L273 TraceCheckUtils]: 58: Hoare triple {9391#true} assume true; {9391#true} is VALID [2018-11-23 12:14:54,325 INFO L268 TraceCheckUtils]: 59: Hoare quadruple {9391#true} {9411#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} #58#return; {9411#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:14:54,326 INFO L273 TraceCheckUtils]: 60: Hoare triple {9411#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} havoc #t~mem1;~i~0 := 1 + ~i~0; {9412#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:14:54,327 INFO L273 TraceCheckUtils]: 61: Hoare triple {9412#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9412#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:14:54,327 INFO L256 TraceCheckUtils]: 62: Hoare triple {9412#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9391#true} is VALID [2018-11-23 12:14:54,327 INFO L273 TraceCheckUtils]: 63: Hoare triple {9391#true} ~cond := #in~cond; {9391#true} is VALID [2018-11-23 12:14:54,327 INFO L273 TraceCheckUtils]: 64: Hoare triple {9391#true} assume !(0 == ~cond); {9391#true} is VALID [2018-11-23 12:14:54,328 INFO L273 TraceCheckUtils]: 65: Hoare triple {9391#true} assume true; {9391#true} is VALID [2018-11-23 12:14:54,329 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {9391#true} {9412#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} #58#return; {9412#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:14:54,330 INFO L273 TraceCheckUtils]: 67: Hoare triple {9412#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} havoc #t~mem1;~i~0 := 1 + ~i~0; {9413#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:14:54,331 INFO L273 TraceCheckUtils]: 68: Hoare triple {9413#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9413#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:14:54,331 INFO L256 TraceCheckUtils]: 69: Hoare triple {9413#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9391#true} is VALID [2018-11-23 12:14:54,331 INFO L273 TraceCheckUtils]: 70: Hoare triple {9391#true} ~cond := #in~cond; {9391#true} is VALID [2018-11-23 12:14:54,331 INFO L273 TraceCheckUtils]: 71: Hoare triple {9391#true} assume !(0 == ~cond); {9391#true} is VALID [2018-11-23 12:14:54,331 INFO L273 TraceCheckUtils]: 72: Hoare triple {9391#true} assume true; {9391#true} is VALID [2018-11-23 12:14:54,333 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {9391#true} {9413#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} #58#return; {9413#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:14:54,334 INFO L273 TraceCheckUtils]: 74: Hoare triple {9413#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} havoc #t~mem1;~i~0 := 1 + ~i~0; {9414#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:14:54,334 INFO L273 TraceCheckUtils]: 75: Hoare triple {9414#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9414#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:14:54,334 INFO L256 TraceCheckUtils]: 76: Hoare triple {9414#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9391#true} is VALID [2018-11-23 12:14:54,335 INFO L273 TraceCheckUtils]: 77: Hoare triple {9391#true} ~cond := #in~cond; {9391#true} is VALID [2018-11-23 12:14:54,335 INFO L273 TraceCheckUtils]: 78: Hoare triple {9391#true} assume !(0 == ~cond); {9391#true} is VALID [2018-11-23 12:14:54,335 INFO L273 TraceCheckUtils]: 79: Hoare triple {9391#true} assume true; {9391#true} is VALID [2018-11-23 12:14:54,336 INFO L268 TraceCheckUtils]: 80: Hoare quadruple {9391#true} {9414#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} #58#return; {9414#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:14:54,337 INFO L273 TraceCheckUtils]: 81: Hoare triple {9414#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} havoc #t~mem1;~i~0 := 1 + ~i~0; {9415#(= 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:14:54,338 INFO L273 TraceCheckUtils]: 82: Hoare triple {9415#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9416#(= main_~i~0 |main_#t~mem1|)} is VALID [2018-11-23 12:14:54,339 INFO L256 TraceCheckUtils]: 83: Hoare triple {9416#(= main_~i~0 |main_#t~mem1|)} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9406#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:14:54,340 INFO L273 TraceCheckUtils]: 84: Hoare triple {9406#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {9417#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:14:54,340 INFO L273 TraceCheckUtils]: 85: Hoare triple {9417#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {9392#false} is VALID [2018-11-23 12:14:54,340 INFO L273 TraceCheckUtils]: 86: Hoare triple {9392#false} assume !false; {9392#false} is VALID [2018-11-23 12:14:54,351 INFO L134 CoverageAnalysis]: Checked inductivity of 343 backedges. 17 proven. 206 refuted. 0 times theorem prover too weak. 120 trivial. 0 not checked. [2018-11-23 12:14:54,351 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:54,351 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:14:54,361 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:14:54,455 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 10 check-sat command(s) [2018-11-23 12:14:54,455 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:14:54,484 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:54,486 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:54,901 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 12:14:54,904 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 12:14:54,907 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:14:54,908 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:14:54,912 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:14:54,912 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 12:14:57,088 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 12:14:57,095 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:14:57,096 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-23 12:14:57,097 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:14:57,100 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:14:57,104 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:14:57,104 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-23 12:14:57,108 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:14:57,108 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= main_~i~0 9) (= |main_#t~mem1| (select .cse0 (* 4 main_~i~0))) (= 9 (select .cse0 36)))) [2018-11-23 12:14:57,108 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 9) (= 9 |main_#t~mem1|)) [2018-11-23 12:14:57,215 INFO L256 TraceCheckUtils]: 0: Hoare triple {9391#true} call ULTIMATE.init(); {9391#true} is VALID [2018-11-23 12:14:57,215 INFO L273 TraceCheckUtils]: 1: Hoare triple {9391#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {9391#true} is VALID [2018-11-23 12:14:57,216 INFO L273 TraceCheckUtils]: 2: Hoare triple {9391#true} assume true; {9391#true} is VALID [2018-11-23 12:14:57,216 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9391#true} {9391#true} #54#return; {9391#true} is VALID [2018-11-23 12:14:57,216 INFO L256 TraceCheckUtils]: 4: Hoare triple {9391#true} call #t~ret2 := main(); {9391#true} is VALID [2018-11-23 12:14:57,216 INFO L273 TraceCheckUtils]: 5: Hoare triple {9391#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {9391#true} is VALID [2018-11-23 12:14:57,217 INFO L273 TraceCheckUtils]: 6: Hoare triple {9391#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {9439#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,217 INFO L273 TraceCheckUtils]: 7: Hoare triple {9439#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {9443#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,218 INFO L273 TraceCheckUtils]: 8: Hoare triple {9443#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {9447#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,218 INFO L273 TraceCheckUtils]: 9: Hoare triple {9447#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {9451#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,219 INFO L273 TraceCheckUtils]: 10: Hoare triple {9451#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {9455#(and (= main_~k~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,220 INFO L273 TraceCheckUtils]: 11: Hoare triple {9455#(and (= main_~k~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {9459#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,221 INFO L273 TraceCheckUtils]: 12: Hoare triple {9459#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {9463#(and (= main_~k~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,222 INFO L273 TraceCheckUtils]: 13: Hoare triple {9463#(and (= main_~k~0 6) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {9467#(and (= main_~k~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,223 INFO L273 TraceCheckUtils]: 14: Hoare triple {9467#(and (= main_~k~0 7) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {9471#(and (= main_~k~0 8) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,224 INFO L273 TraceCheckUtils]: 15: Hoare triple {9471#(and (= main_~k~0 8) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {9475#(and (= main_~k~0 9) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,225 INFO L273 TraceCheckUtils]: 16: Hoare triple {9475#(and (= main_~k~0 9) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {9479#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,226 INFO L273 TraceCheckUtils]: 17: Hoare triple {9479#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~N~0); {9479#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,226 INFO L273 TraceCheckUtils]: 18: Hoare triple {9479#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {9486#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,227 INFO L273 TraceCheckUtils]: 19: Hoare triple {9486#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9486#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,228 INFO L256 TraceCheckUtils]: 20: Hoare triple {9486#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,229 INFO L273 TraceCheckUtils]: 21: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} ~cond := #in~cond; {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,230 INFO L273 TraceCheckUtils]: 22: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} assume !(0 == ~cond); {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,230 INFO L273 TraceCheckUtils]: 23: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} assume true; {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,231 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} {9486#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #58#return; {9486#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,232 INFO L273 TraceCheckUtils]: 25: Hoare triple {9486#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {9509#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,233 INFO L273 TraceCheckUtils]: 26: Hoare triple {9509#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9509#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,234 INFO L256 TraceCheckUtils]: 27: Hoare triple {9509#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,235 INFO L273 TraceCheckUtils]: 28: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} ~cond := #in~cond; {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,235 INFO L273 TraceCheckUtils]: 29: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} assume !(0 == ~cond); {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,236 INFO L273 TraceCheckUtils]: 30: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} assume true; {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,236 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} {9509#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #58#return; {9509#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,237 INFO L273 TraceCheckUtils]: 32: Hoare triple {9509#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {9531#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,238 INFO L273 TraceCheckUtils]: 33: Hoare triple {9531#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9531#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,240 INFO L256 TraceCheckUtils]: 34: Hoare triple {9531#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,240 INFO L273 TraceCheckUtils]: 35: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} ~cond := #in~cond; {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,241 INFO L273 TraceCheckUtils]: 36: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} assume !(0 == ~cond); {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,241 INFO L273 TraceCheckUtils]: 37: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} assume true; {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,242 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} {9531#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} #58#return; {9531#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,243 INFO L273 TraceCheckUtils]: 39: Hoare triple {9531#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {9553#(and (= main_~i~0 3) (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,244 INFO L273 TraceCheckUtils]: 40: Hoare triple {9553#(and (= main_~i~0 3) (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9553#(and (= main_~i~0 3) (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,245 INFO L256 TraceCheckUtils]: 41: Hoare triple {9553#(and (= main_~i~0 3) (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,245 INFO L273 TraceCheckUtils]: 42: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} ~cond := #in~cond; {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,246 INFO L273 TraceCheckUtils]: 43: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} assume !(0 == ~cond); {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,246 INFO L273 TraceCheckUtils]: 44: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} assume true; {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,247 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} {9553#(and (= main_~i~0 3) (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= |main_~#a~0.offset| 0))} #58#return; {9553#(and (= main_~i~0 3) (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,248 INFO L273 TraceCheckUtils]: 46: Hoare triple {9553#(and (= main_~i~0 3) (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {9575#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,249 INFO L273 TraceCheckUtils]: 47: Hoare triple {9575#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9575#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,250 INFO L256 TraceCheckUtils]: 48: Hoare triple {9575#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,251 INFO L273 TraceCheckUtils]: 49: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} ~cond := #in~cond; {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,251 INFO L273 TraceCheckUtils]: 50: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} assume !(0 == ~cond); {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,252 INFO L273 TraceCheckUtils]: 51: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} assume true; {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,253 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} {9575#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} #58#return; {9575#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,254 INFO L273 TraceCheckUtils]: 53: Hoare triple {9575#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {9597#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,255 INFO L273 TraceCheckUtils]: 54: Hoare triple {9597#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9597#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,256 INFO L256 TraceCheckUtils]: 55: Hoare triple {9597#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,256 INFO L273 TraceCheckUtils]: 56: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} ~cond := #in~cond; {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,257 INFO L273 TraceCheckUtils]: 57: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} assume !(0 == ~cond); {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,258 INFO L273 TraceCheckUtils]: 58: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} assume true; {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,258 INFO L268 TraceCheckUtils]: 59: Hoare quadruple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} {9597#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} #58#return; {9597#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,259 INFO L273 TraceCheckUtils]: 60: Hoare triple {9597#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {9619#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,260 INFO L273 TraceCheckUtils]: 61: Hoare triple {9619#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9619#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,261 INFO L256 TraceCheckUtils]: 62: Hoare triple {9619#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,262 INFO L273 TraceCheckUtils]: 63: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} ~cond := #in~cond; {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,263 INFO L273 TraceCheckUtils]: 64: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} assume !(0 == ~cond); {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,263 INFO L273 TraceCheckUtils]: 65: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} assume true; {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,264 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} {9619#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} #58#return; {9619#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,265 INFO L273 TraceCheckUtils]: 67: Hoare triple {9619#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {9641#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,266 INFO L273 TraceCheckUtils]: 68: Hoare triple {9641#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9641#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,267 INFO L256 TraceCheckUtils]: 69: Hoare triple {9641#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,267 INFO L273 TraceCheckUtils]: 70: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} ~cond := #in~cond; {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,268 INFO L273 TraceCheckUtils]: 71: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} assume !(0 == ~cond); {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,269 INFO L273 TraceCheckUtils]: 72: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} assume true; {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,269 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} {9641#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} #58#return; {9641#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,270 INFO L273 TraceCheckUtils]: 74: Hoare triple {9641#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {9663#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 8) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,271 INFO L273 TraceCheckUtils]: 75: Hoare triple {9663#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 8) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9663#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 8) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,272 INFO L256 TraceCheckUtils]: 76: Hoare triple {9663#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 8) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,273 INFO L273 TraceCheckUtils]: 77: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} ~cond := #in~cond; {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,273 INFO L273 TraceCheckUtils]: 78: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} assume !(0 == ~cond); {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,274 INFO L273 TraceCheckUtils]: 79: Hoare triple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} assume true; {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} is VALID [2018-11-23 12:14:57,275 INFO L268 TraceCheckUtils]: 80: Hoare quadruple {9493#(exists ((|v_main_~#a~0.base_BEFORE_CALL_37| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_37|) 36) 9))} {9663#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 8) (= |main_~#a~0.offset| 0))} #58#return; {9663#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 8) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,276 INFO L273 TraceCheckUtils]: 81: Hoare triple {9663#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 8) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {9685#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 9) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:14:57,277 INFO L273 TraceCheckUtils]: 82: Hoare triple {9685#(and (= 9 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 36))) (= main_~i~0 9) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9689#(and (= main_~i~0 9) (= 9 |main_#t~mem1|))} is VALID [2018-11-23 12:14:57,278 INFO L256 TraceCheckUtils]: 83: Hoare triple {9689#(and (= main_~i~0 9) (= 9 |main_#t~mem1|))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9693#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:14:57,278 INFO L273 TraceCheckUtils]: 84: Hoare triple {9693#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {9697#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:14:57,279 INFO L273 TraceCheckUtils]: 85: Hoare triple {9697#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9392#false} is VALID [2018-11-23 12:14:57,279 INFO L273 TraceCheckUtils]: 86: Hoare triple {9392#false} assume !false; {9392#false} is VALID [2018-11-23 12:14:57,296 INFO L134 CoverageAnalysis]: Checked inductivity of 343 backedges. 0 proven. 199 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2018-11-23 12:14:57,315 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:57,315 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 27] total 52 [2018-11-23 12:14:57,316 INFO L78 Accepts]: Start accepts. Automaton has 52 states. Word has length 87 [2018-11-23 12:14:57,316 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:57,316 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 52 states. [2018-11-23 12:14:57,454 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:57,454 INFO L459 AbstractCegarLoop]: Interpolant automaton has 52 states [2018-11-23 12:14:57,454 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 52 interpolants. [2018-11-23 12:14:57,456 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=157, Invalid=2495, Unknown=0, NotChecked=0, Total=2652 [2018-11-23 12:14:57,456 INFO L87 Difference]: Start difference. First operand 90 states and 91 transitions. Second operand 52 states. [2018-11-23 12:15:03,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:03,660 INFO L93 Difference]: Finished difference Result 100 states and 101 transitions. [2018-11-23 12:15:03,661 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 39 states. [2018-11-23 12:15:03,661 INFO L78 Accepts]: Start accepts. Automaton has 52 states. Word has length 87 [2018-11-23 12:15:03,661 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:03,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2018-11-23 12:15:03,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 74 transitions. [2018-11-23 12:15:03,663 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2018-11-23 12:15:03,664 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 74 transitions. [2018-11-23 12:15:03,664 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 39 states and 74 transitions. [2018-11-23 12:15:03,758 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:15:03,760 INFO L225 Difference]: With dead ends: 100 [2018-11-23 12:15:03,760 INFO L226 Difference]: Without dead ends: 98 [2018-11-23 12:15:03,761 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 48 SyntacticMatches, 18 SemanticMatches, 65 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1083 ImplicationChecksByTransitivity, 3.4s TimeCoverageRelationStatistics Valid=281, Invalid=4141, Unknown=0, NotChecked=0, Total=4422 [2018-11-23 12:15:03,762 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2018-11-23 12:15:04,170 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 97. [2018-11-23 12:15:04,170 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:04,171 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand 97 states. [2018-11-23 12:15:04,171 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 97 states. [2018-11-23 12:15:04,171 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 97 states. [2018-11-23 12:15:04,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:04,173 INFO L93 Difference]: Finished difference Result 98 states and 99 transitions. [2018-11-23 12:15:04,173 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 99 transitions. [2018-11-23 12:15:04,174 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:04,174 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:04,174 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand 98 states. [2018-11-23 12:15:04,174 INFO L87 Difference]: Start difference. First operand 97 states. Second operand 98 states. [2018-11-23 12:15:04,175 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:04,176 INFO L93 Difference]: Finished difference Result 98 states and 99 transitions. [2018-11-23 12:15:04,176 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 99 transitions. [2018-11-23 12:15:04,176 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:04,176 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:04,176 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:04,176 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:04,177 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 97 states. [2018-11-23 12:15:04,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 98 transitions. [2018-11-23 12:15:04,178 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 98 transitions. Word has length 87 [2018-11-23 12:15:04,179 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:04,179 INFO L480 AbstractCegarLoop]: Abstraction has 97 states and 98 transitions. [2018-11-23 12:15:04,179 INFO L481 AbstractCegarLoop]: Interpolant automaton has 52 states. [2018-11-23 12:15:04,179 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 98 transitions. [2018-11-23 12:15:04,180 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2018-11-23 12:15:04,180 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:04,180 INFO L402 BasicCegarLoop]: trace histogram [11, 11, 11, 10, 10, 10, 10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:15:04,180 INFO L423 AbstractCegarLoop]: === Iteration 21 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:04,180 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:04,181 INFO L82 PathProgramCache]: Analyzing trace with hash 1277395090, now seen corresponding path program 18 times [2018-11-23 12:15:04,181 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:04,181 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:04,181 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:04,182 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:04,182 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:04,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:04,925 INFO L256 TraceCheckUtils]: 0: Hoare triple {10223#true} call ULTIMATE.init(); {10223#true} is VALID [2018-11-23 12:15:04,925 INFO L273 TraceCheckUtils]: 1: Hoare triple {10223#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {10223#true} is VALID [2018-11-23 12:15:04,925 INFO L273 TraceCheckUtils]: 2: Hoare triple {10223#true} assume true; {10223#true} is VALID [2018-11-23 12:15:04,926 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10223#true} {10223#true} #54#return; {10223#true} is VALID [2018-11-23 12:15:04,926 INFO L256 TraceCheckUtils]: 4: Hoare triple {10223#true} call #t~ret2 := main(); {10223#true} is VALID [2018-11-23 12:15:04,926 INFO L273 TraceCheckUtils]: 5: Hoare triple {10223#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {10223#true} is VALID [2018-11-23 12:15:04,927 INFO L273 TraceCheckUtils]: 6: Hoare triple {10223#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {10225#(= main_~i~0 0)} is VALID [2018-11-23 12:15:04,928 INFO L273 TraceCheckUtils]: 7: Hoare triple {10225#(= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {10226#(<= main_~i~0 1)} is VALID [2018-11-23 12:15:04,928 INFO L273 TraceCheckUtils]: 8: Hoare triple {10226#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {10227#(<= main_~i~0 2)} is VALID [2018-11-23 12:15:04,929 INFO L273 TraceCheckUtils]: 9: Hoare triple {10227#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {10228#(<= main_~i~0 3)} is VALID [2018-11-23 12:15:04,929 INFO L273 TraceCheckUtils]: 10: Hoare triple {10228#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {10229#(<= main_~i~0 4)} is VALID [2018-11-23 12:15:04,930 INFO L273 TraceCheckUtils]: 11: Hoare triple {10229#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {10230#(<= main_~i~0 5)} is VALID [2018-11-23 12:15:04,931 INFO L273 TraceCheckUtils]: 12: Hoare triple {10230#(<= main_~i~0 5)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {10231#(<= main_~i~0 6)} is VALID [2018-11-23 12:15:04,931 INFO L273 TraceCheckUtils]: 13: Hoare triple {10231#(<= main_~i~0 6)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {10232#(<= main_~i~0 7)} is VALID [2018-11-23 12:15:04,932 INFO L273 TraceCheckUtils]: 14: Hoare triple {10232#(<= main_~i~0 7)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {10233#(<= main_~i~0 8)} is VALID [2018-11-23 12:15:04,933 INFO L273 TraceCheckUtils]: 15: Hoare triple {10233#(<= main_~i~0 8)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {10234#(<= main_~i~0 9)} is VALID [2018-11-23 12:15:04,934 INFO L273 TraceCheckUtils]: 16: Hoare triple {10234#(<= main_~i~0 9)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {10235#(<= main_~i~0 10)} is VALID [2018-11-23 12:15:04,935 INFO L273 TraceCheckUtils]: 17: Hoare triple {10235#(<= main_~i~0 10)} assume !(~i~0 < ~N~0); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:04,935 INFO L273 TraceCheckUtils]: 18: Hoare triple {10236#(<= ~N~0 10)} ~i~0 := 0; {10237#(and (<= ~N~0 10) (= main_~i~0 0))} is VALID [2018-11-23 12:15:04,936 INFO L273 TraceCheckUtils]: 19: Hoare triple {10237#(and (<= ~N~0 10) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10237#(and (<= ~N~0 10) (= main_~i~0 0))} is VALID [2018-11-23 12:15:04,936 INFO L256 TraceCheckUtils]: 20: Hoare triple {10237#(and (<= ~N~0 10) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10223#true} is VALID [2018-11-23 12:15:04,937 INFO L273 TraceCheckUtils]: 21: Hoare triple {10223#true} ~cond := #in~cond; {10223#true} is VALID [2018-11-23 12:15:04,937 INFO L273 TraceCheckUtils]: 22: Hoare triple {10223#true} assume !(0 == ~cond); {10223#true} is VALID [2018-11-23 12:15:04,937 INFO L273 TraceCheckUtils]: 23: Hoare triple {10223#true} assume true; {10223#true} is VALID [2018-11-23 12:15:04,938 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {10223#true} {10237#(and (<= ~N~0 10) (= main_~i~0 0))} #58#return; {10237#(and (<= ~N~0 10) (= main_~i~0 0))} is VALID [2018-11-23 12:15:04,938 INFO L273 TraceCheckUtils]: 25: Hoare triple {10237#(and (<= ~N~0 10) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {10238#(<= ~N~0 (+ main_~i~0 9))} is VALID [2018-11-23 12:15:04,939 INFO L273 TraceCheckUtils]: 26: Hoare triple {10238#(<= ~N~0 (+ main_~i~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10238#(<= ~N~0 (+ main_~i~0 9))} is VALID [2018-11-23 12:15:04,939 INFO L256 TraceCheckUtils]: 27: Hoare triple {10238#(<= ~N~0 (+ main_~i~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10223#true} is VALID [2018-11-23 12:15:04,939 INFO L273 TraceCheckUtils]: 28: Hoare triple {10223#true} ~cond := #in~cond; {10223#true} is VALID [2018-11-23 12:15:04,940 INFO L273 TraceCheckUtils]: 29: Hoare triple {10223#true} assume !(0 == ~cond); {10223#true} is VALID [2018-11-23 12:15:04,940 INFO L273 TraceCheckUtils]: 30: Hoare triple {10223#true} assume true; {10223#true} is VALID [2018-11-23 12:15:04,940 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {10223#true} {10238#(<= ~N~0 (+ main_~i~0 9))} #58#return; {10238#(<= ~N~0 (+ main_~i~0 9))} is VALID [2018-11-23 12:15:04,941 INFO L273 TraceCheckUtils]: 32: Hoare triple {10238#(<= ~N~0 (+ main_~i~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {10239#(<= ~N~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:15:04,942 INFO L273 TraceCheckUtils]: 33: Hoare triple {10239#(<= ~N~0 (+ main_~i~0 8))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10239#(<= ~N~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:15:04,942 INFO L256 TraceCheckUtils]: 34: Hoare triple {10239#(<= ~N~0 (+ main_~i~0 8))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10223#true} is VALID [2018-11-23 12:15:04,942 INFO L273 TraceCheckUtils]: 35: Hoare triple {10223#true} ~cond := #in~cond; {10223#true} is VALID [2018-11-23 12:15:04,942 INFO L273 TraceCheckUtils]: 36: Hoare triple {10223#true} assume !(0 == ~cond); {10223#true} is VALID [2018-11-23 12:15:04,942 INFO L273 TraceCheckUtils]: 37: Hoare triple {10223#true} assume true; {10223#true} is VALID [2018-11-23 12:15:04,943 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {10223#true} {10239#(<= ~N~0 (+ main_~i~0 8))} #58#return; {10239#(<= ~N~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:15:04,944 INFO L273 TraceCheckUtils]: 39: Hoare triple {10239#(<= ~N~0 (+ main_~i~0 8))} havoc #t~mem1;~i~0 := 1 + ~i~0; {10240#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:15:04,944 INFO L273 TraceCheckUtils]: 40: Hoare triple {10240#(<= ~N~0 (+ main_~i~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10240#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:15:04,945 INFO L256 TraceCheckUtils]: 41: Hoare triple {10240#(<= ~N~0 (+ main_~i~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10223#true} is VALID [2018-11-23 12:15:04,945 INFO L273 TraceCheckUtils]: 42: Hoare triple {10223#true} ~cond := #in~cond; {10223#true} is VALID [2018-11-23 12:15:04,945 INFO L273 TraceCheckUtils]: 43: Hoare triple {10223#true} assume !(0 == ~cond); {10223#true} is VALID [2018-11-23 12:15:04,945 INFO L273 TraceCheckUtils]: 44: Hoare triple {10223#true} assume true; {10223#true} is VALID [2018-11-23 12:15:04,946 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {10223#true} {10240#(<= ~N~0 (+ main_~i~0 7))} #58#return; {10240#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:15:04,947 INFO L273 TraceCheckUtils]: 46: Hoare triple {10240#(<= ~N~0 (+ main_~i~0 7))} havoc #t~mem1;~i~0 := 1 + ~i~0; {10241#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:15:04,947 INFO L273 TraceCheckUtils]: 47: Hoare triple {10241#(<= ~N~0 (+ main_~i~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10241#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:15:04,947 INFO L256 TraceCheckUtils]: 48: Hoare triple {10241#(<= ~N~0 (+ main_~i~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10223#true} is VALID [2018-11-23 12:15:04,947 INFO L273 TraceCheckUtils]: 49: Hoare triple {10223#true} ~cond := #in~cond; {10223#true} is VALID [2018-11-23 12:15:04,948 INFO L273 TraceCheckUtils]: 50: Hoare triple {10223#true} assume !(0 == ~cond); {10223#true} is VALID [2018-11-23 12:15:04,948 INFO L273 TraceCheckUtils]: 51: Hoare triple {10223#true} assume true; {10223#true} is VALID [2018-11-23 12:15:04,948 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {10223#true} {10241#(<= ~N~0 (+ main_~i~0 6))} #58#return; {10241#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:15:04,949 INFO L273 TraceCheckUtils]: 53: Hoare triple {10241#(<= ~N~0 (+ main_~i~0 6))} havoc #t~mem1;~i~0 := 1 + ~i~0; {10242#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:15:04,950 INFO L273 TraceCheckUtils]: 54: Hoare triple {10242#(<= ~N~0 (+ main_~i~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10242#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:15:04,950 INFO L256 TraceCheckUtils]: 55: Hoare triple {10242#(<= ~N~0 (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10223#true} is VALID [2018-11-23 12:15:04,950 INFO L273 TraceCheckUtils]: 56: Hoare triple {10223#true} ~cond := #in~cond; {10223#true} is VALID [2018-11-23 12:15:04,950 INFO L273 TraceCheckUtils]: 57: Hoare triple {10223#true} assume !(0 == ~cond); {10223#true} is VALID [2018-11-23 12:15:04,951 INFO L273 TraceCheckUtils]: 58: Hoare triple {10223#true} assume true; {10223#true} is VALID [2018-11-23 12:15:04,951 INFO L268 TraceCheckUtils]: 59: Hoare quadruple {10223#true} {10242#(<= ~N~0 (+ main_~i~0 5))} #58#return; {10242#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:15:04,952 INFO L273 TraceCheckUtils]: 60: Hoare triple {10242#(<= ~N~0 (+ main_~i~0 5))} havoc #t~mem1;~i~0 := 1 + ~i~0; {10243#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:15:04,952 INFO L273 TraceCheckUtils]: 61: Hoare triple {10243#(<= ~N~0 (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10243#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:15:04,953 INFO L256 TraceCheckUtils]: 62: Hoare triple {10243#(<= ~N~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10223#true} is VALID [2018-11-23 12:15:04,953 INFO L273 TraceCheckUtils]: 63: Hoare triple {10223#true} ~cond := #in~cond; {10223#true} is VALID [2018-11-23 12:15:04,953 INFO L273 TraceCheckUtils]: 64: Hoare triple {10223#true} assume !(0 == ~cond); {10223#true} is VALID [2018-11-23 12:15:04,953 INFO L273 TraceCheckUtils]: 65: Hoare triple {10223#true} assume true; {10223#true} is VALID [2018-11-23 12:15:04,954 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {10223#true} {10243#(<= ~N~0 (+ main_~i~0 4))} #58#return; {10243#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:15:04,955 INFO L273 TraceCheckUtils]: 67: Hoare triple {10243#(<= ~N~0 (+ main_~i~0 4))} havoc #t~mem1;~i~0 := 1 + ~i~0; {10244#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:15:04,955 INFO L273 TraceCheckUtils]: 68: Hoare triple {10244#(<= ~N~0 (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10244#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:15:04,955 INFO L256 TraceCheckUtils]: 69: Hoare triple {10244#(<= ~N~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10223#true} is VALID [2018-11-23 12:15:04,956 INFO L273 TraceCheckUtils]: 70: Hoare triple {10223#true} ~cond := #in~cond; {10223#true} is VALID [2018-11-23 12:15:04,956 INFO L273 TraceCheckUtils]: 71: Hoare triple {10223#true} assume !(0 == ~cond); {10223#true} is VALID [2018-11-23 12:15:04,956 INFO L273 TraceCheckUtils]: 72: Hoare triple {10223#true} assume true; {10223#true} is VALID [2018-11-23 12:15:04,957 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {10223#true} {10244#(<= ~N~0 (+ main_~i~0 3))} #58#return; {10244#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:15:04,957 INFO L273 TraceCheckUtils]: 74: Hoare triple {10244#(<= ~N~0 (+ main_~i~0 3))} havoc #t~mem1;~i~0 := 1 + ~i~0; {10245#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:15:04,958 INFO L273 TraceCheckUtils]: 75: Hoare triple {10245#(<= ~N~0 (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10245#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:15:04,958 INFO L256 TraceCheckUtils]: 76: Hoare triple {10245#(<= ~N~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10223#true} is VALID [2018-11-23 12:15:04,958 INFO L273 TraceCheckUtils]: 77: Hoare triple {10223#true} ~cond := #in~cond; {10223#true} is VALID [2018-11-23 12:15:04,958 INFO L273 TraceCheckUtils]: 78: Hoare triple {10223#true} assume !(0 == ~cond); {10223#true} is VALID [2018-11-23 12:15:04,959 INFO L273 TraceCheckUtils]: 79: Hoare triple {10223#true} assume true; {10223#true} is VALID [2018-11-23 12:15:04,959 INFO L268 TraceCheckUtils]: 80: Hoare quadruple {10223#true} {10245#(<= ~N~0 (+ main_~i~0 2))} #58#return; {10245#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:15:04,960 INFO L273 TraceCheckUtils]: 81: Hoare triple {10245#(<= ~N~0 (+ main_~i~0 2))} havoc #t~mem1;~i~0 := 1 + ~i~0; {10246#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:15:04,961 INFO L273 TraceCheckUtils]: 82: Hoare triple {10246#(<= ~N~0 (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10246#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:15:04,961 INFO L256 TraceCheckUtils]: 83: Hoare triple {10246#(<= ~N~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10223#true} is VALID [2018-11-23 12:15:04,961 INFO L273 TraceCheckUtils]: 84: Hoare triple {10223#true} ~cond := #in~cond; {10223#true} is VALID [2018-11-23 12:15:04,961 INFO L273 TraceCheckUtils]: 85: Hoare triple {10223#true} assume !(0 == ~cond); {10223#true} is VALID [2018-11-23 12:15:04,961 INFO L273 TraceCheckUtils]: 86: Hoare triple {10223#true} assume true; {10223#true} is VALID [2018-11-23 12:15:04,962 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {10223#true} {10246#(<= ~N~0 (+ main_~i~0 1))} #58#return; {10246#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:15:04,963 INFO L273 TraceCheckUtils]: 88: Hoare triple {10246#(<= ~N~0 (+ main_~i~0 1))} havoc #t~mem1;~i~0 := 1 + ~i~0; {10247#(<= ~N~0 main_~i~0)} is VALID [2018-11-23 12:15:04,963 INFO L273 TraceCheckUtils]: 89: Hoare triple {10247#(<= ~N~0 main_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10224#false} is VALID [2018-11-23 12:15:04,964 INFO L256 TraceCheckUtils]: 90: Hoare triple {10224#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10224#false} is VALID [2018-11-23 12:15:04,964 INFO L273 TraceCheckUtils]: 91: Hoare triple {10224#false} ~cond := #in~cond; {10224#false} is VALID [2018-11-23 12:15:04,964 INFO L273 TraceCheckUtils]: 92: Hoare triple {10224#false} assume 0 == ~cond; {10224#false} is VALID [2018-11-23 12:15:04,964 INFO L273 TraceCheckUtils]: 93: Hoare triple {10224#false} assume !false; {10224#false} is VALID [2018-11-23 12:15:04,971 INFO L134 CoverageAnalysis]: Checked inductivity of 410 backedges. 147 proven. 83 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2018-11-23 12:15:04,972 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:04,972 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:04,982 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:15:05,132 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2018-11-23 12:15:05,132 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:05,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:05,166 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:05,994 INFO L256 TraceCheckUtils]: 0: Hoare triple {10223#true} call ULTIMATE.init(); {10223#true} is VALID [2018-11-23 12:15:05,994 INFO L273 TraceCheckUtils]: 1: Hoare triple {10223#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {10223#true} is VALID [2018-11-23 12:15:05,995 INFO L273 TraceCheckUtils]: 2: Hoare triple {10223#true} assume true; {10223#true} is VALID [2018-11-23 12:15:05,995 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10223#true} {10223#true} #54#return; {10223#true} is VALID [2018-11-23 12:15:05,995 INFO L256 TraceCheckUtils]: 4: Hoare triple {10223#true} call #t~ret2 := main(); {10223#true} is VALID [2018-11-23 12:15:05,995 INFO L273 TraceCheckUtils]: 5: Hoare triple {10223#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {10223#true} is VALID [2018-11-23 12:15:05,996 INFO L273 TraceCheckUtils]: 6: Hoare triple {10223#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {10269#(<= main_~i~0 0)} is VALID [2018-11-23 12:15:05,997 INFO L273 TraceCheckUtils]: 7: Hoare triple {10269#(<= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {10226#(<= main_~i~0 1)} is VALID [2018-11-23 12:15:05,998 INFO L273 TraceCheckUtils]: 8: Hoare triple {10226#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {10227#(<= main_~i~0 2)} is VALID [2018-11-23 12:15:05,998 INFO L273 TraceCheckUtils]: 9: Hoare triple {10227#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {10228#(<= main_~i~0 3)} is VALID [2018-11-23 12:15:05,999 INFO L273 TraceCheckUtils]: 10: Hoare triple {10228#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {10229#(<= main_~i~0 4)} is VALID [2018-11-23 12:15:06,000 INFO L273 TraceCheckUtils]: 11: Hoare triple {10229#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {10230#(<= main_~i~0 5)} is VALID [2018-11-23 12:15:06,001 INFO L273 TraceCheckUtils]: 12: Hoare triple {10230#(<= main_~i~0 5)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {10231#(<= main_~i~0 6)} is VALID [2018-11-23 12:15:06,002 INFO L273 TraceCheckUtils]: 13: Hoare triple {10231#(<= main_~i~0 6)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {10232#(<= main_~i~0 7)} is VALID [2018-11-23 12:15:06,003 INFO L273 TraceCheckUtils]: 14: Hoare triple {10232#(<= main_~i~0 7)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {10233#(<= main_~i~0 8)} is VALID [2018-11-23 12:15:06,004 INFO L273 TraceCheckUtils]: 15: Hoare triple {10233#(<= main_~i~0 8)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {10234#(<= main_~i~0 9)} is VALID [2018-11-23 12:15:06,005 INFO L273 TraceCheckUtils]: 16: Hoare triple {10234#(<= main_~i~0 9)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {10235#(<= main_~i~0 10)} is VALID [2018-11-23 12:15:06,005 INFO L273 TraceCheckUtils]: 17: Hoare triple {10235#(<= main_~i~0 10)} assume !(~i~0 < ~N~0); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,006 INFO L273 TraceCheckUtils]: 18: Hoare triple {10236#(<= ~N~0 10)} ~i~0 := 0; {10306#(and (<= 0 main_~i~0) (<= ~N~0 10))} is VALID [2018-11-23 12:15:06,007 INFO L273 TraceCheckUtils]: 19: Hoare triple {10306#(and (<= 0 main_~i~0) (<= ~N~0 10))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10306#(and (<= 0 main_~i~0) (<= ~N~0 10))} is VALID [2018-11-23 12:15:06,008 INFO L256 TraceCheckUtils]: 20: Hoare triple {10306#(and (<= 0 main_~i~0) (<= ~N~0 10))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,008 INFO L273 TraceCheckUtils]: 21: Hoare triple {10236#(<= ~N~0 10)} ~cond := #in~cond; {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,009 INFO L273 TraceCheckUtils]: 22: Hoare triple {10236#(<= ~N~0 10)} assume !(0 == ~cond); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,009 INFO L273 TraceCheckUtils]: 23: Hoare triple {10236#(<= ~N~0 10)} assume true; {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,010 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {10236#(<= ~N~0 10)} {10306#(and (<= 0 main_~i~0) (<= ~N~0 10))} #58#return; {10306#(and (<= 0 main_~i~0) (<= ~N~0 10))} is VALID [2018-11-23 12:15:06,011 INFO L273 TraceCheckUtils]: 25: Hoare triple {10306#(and (<= 0 main_~i~0) (<= ~N~0 10))} havoc #t~mem1;~i~0 := 1 + ~i~0; {10328#(and (<= 1 main_~i~0) (<= ~N~0 10))} is VALID [2018-11-23 12:15:06,012 INFO L273 TraceCheckUtils]: 26: Hoare triple {10328#(and (<= 1 main_~i~0) (<= ~N~0 10))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10328#(and (<= 1 main_~i~0) (<= ~N~0 10))} is VALID [2018-11-23 12:15:06,013 INFO L256 TraceCheckUtils]: 27: Hoare triple {10328#(and (<= 1 main_~i~0) (<= ~N~0 10))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,013 INFO L273 TraceCheckUtils]: 28: Hoare triple {10236#(<= ~N~0 10)} ~cond := #in~cond; {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,014 INFO L273 TraceCheckUtils]: 29: Hoare triple {10236#(<= ~N~0 10)} assume !(0 == ~cond); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,014 INFO L273 TraceCheckUtils]: 30: Hoare triple {10236#(<= ~N~0 10)} assume true; {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,015 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {10236#(<= ~N~0 10)} {10328#(and (<= 1 main_~i~0) (<= ~N~0 10))} #58#return; {10328#(and (<= 1 main_~i~0) (<= ~N~0 10))} is VALID [2018-11-23 12:15:06,016 INFO L273 TraceCheckUtils]: 32: Hoare triple {10328#(and (<= 1 main_~i~0) (<= ~N~0 10))} havoc #t~mem1;~i~0 := 1 + ~i~0; {10350#(and (<= 2 main_~i~0) (<= ~N~0 10))} is VALID [2018-11-23 12:15:06,017 INFO L273 TraceCheckUtils]: 33: Hoare triple {10350#(and (<= 2 main_~i~0) (<= ~N~0 10))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10350#(and (<= 2 main_~i~0) (<= ~N~0 10))} is VALID [2018-11-23 12:15:06,017 INFO L256 TraceCheckUtils]: 34: Hoare triple {10350#(and (<= 2 main_~i~0) (<= ~N~0 10))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,018 INFO L273 TraceCheckUtils]: 35: Hoare triple {10236#(<= ~N~0 10)} ~cond := #in~cond; {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,018 INFO L273 TraceCheckUtils]: 36: Hoare triple {10236#(<= ~N~0 10)} assume !(0 == ~cond); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,019 INFO L273 TraceCheckUtils]: 37: Hoare triple {10236#(<= ~N~0 10)} assume true; {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,020 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {10236#(<= ~N~0 10)} {10350#(and (<= 2 main_~i~0) (<= ~N~0 10))} #58#return; {10350#(and (<= 2 main_~i~0) (<= ~N~0 10))} is VALID [2018-11-23 12:15:06,021 INFO L273 TraceCheckUtils]: 39: Hoare triple {10350#(and (<= 2 main_~i~0) (<= ~N~0 10))} havoc #t~mem1;~i~0 := 1 + ~i~0; {10372#(and (<= ~N~0 10) (<= 3 main_~i~0))} is VALID [2018-11-23 12:15:06,021 INFO L273 TraceCheckUtils]: 40: Hoare triple {10372#(and (<= ~N~0 10) (<= 3 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10372#(and (<= ~N~0 10) (<= 3 main_~i~0))} is VALID [2018-11-23 12:15:06,022 INFO L256 TraceCheckUtils]: 41: Hoare triple {10372#(and (<= ~N~0 10) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,023 INFO L273 TraceCheckUtils]: 42: Hoare triple {10236#(<= ~N~0 10)} ~cond := #in~cond; {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,023 INFO L273 TraceCheckUtils]: 43: Hoare triple {10236#(<= ~N~0 10)} assume !(0 == ~cond); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,024 INFO L273 TraceCheckUtils]: 44: Hoare triple {10236#(<= ~N~0 10)} assume true; {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,024 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {10236#(<= ~N~0 10)} {10372#(and (<= ~N~0 10) (<= 3 main_~i~0))} #58#return; {10372#(and (<= ~N~0 10) (<= 3 main_~i~0))} is VALID [2018-11-23 12:15:06,025 INFO L273 TraceCheckUtils]: 46: Hoare triple {10372#(and (<= ~N~0 10) (<= 3 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {10394#(and (<= ~N~0 10) (<= 4 main_~i~0))} is VALID [2018-11-23 12:15:06,026 INFO L273 TraceCheckUtils]: 47: Hoare triple {10394#(and (<= ~N~0 10) (<= 4 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10394#(and (<= ~N~0 10) (<= 4 main_~i~0))} is VALID [2018-11-23 12:15:06,027 INFO L256 TraceCheckUtils]: 48: Hoare triple {10394#(and (<= ~N~0 10) (<= 4 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,028 INFO L273 TraceCheckUtils]: 49: Hoare triple {10236#(<= ~N~0 10)} ~cond := #in~cond; {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,028 INFO L273 TraceCheckUtils]: 50: Hoare triple {10236#(<= ~N~0 10)} assume !(0 == ~cond); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,029 INFO L273 TraceCheckUtils]: 51: Hoare triple {10236#(<= ~N~0 10)} assume true; {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,029 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {10236#(<= ~N~0 10)} {10394#(and (<= ~N~0 10) (<= 4 main_~i~0))} #58#return; {10394#(and (<= ~N~0 10) (<= 4 main_~i~0))} is VALID [2018-11-23 12:15:06,030 INFO L273 TraceCheckUtils]: 53: Hoare triple {10394#(and (<= ~N~0 10) (<= 4 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {10416#(and (<= 5 main_~i~0) (<= ~N~0 10))} is VALID [2018-11-23 12:15:06,031 INFO L273 TraceCheckUtils]: 54: Hoare triple {10416#(and (<= 5 main_~i~0) (<= ~N~0 10))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10416#(and (<= 5 main_~i~0) (<= ~N~0 10))} is VALID [2018-11-23 12:15:06,032 INFO L256 TraceCheckUtils]: 55: Hoare triple {10416#(and (<= 5 main_~i~0) (<= ~N~0 10))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,032 INFO L273 TraceCheckUtils]: 56: Hoare triple {10236#(<= ~N~0 10)} ~cond := #in~cond; {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,033 INFO L273 TraceCheckUtils]: 57: Hoare triple {10236#(<= ~N~0 10)} assume !(0 == ~cond); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,033 INFO L273 TraceCheckUtils]: 58: Hoare triple {10236#(<= ~N~0 10)} assume true; {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,034 INFO L268 TraceCheckUtils]: 59: Hoare quadruple {10236#(<= ~N~0 10)} {10416#(and (<= 5 main_~i~0) (<= ~N~0 10))} #58#return; {10416#(and (<= 5 main_~i~0) (<= ~N~0 10))} is VALID [2018-11-23 12:15:06,035 INFO L273 TraceCheckUtils]: 60: Hoare triple {10416#(and (<= 5 main_~i~0) (<= ~N~0 10))} havoc #t~mem1;~i~0 := 1 + ~i~0; {10438#(and (<= ~N~0 10) (<= 6 main_~i~0))} is VALID [2018-11-23 12:15:06,036 INFO L273 TraceCheckUtils]: 61: Hoare triple {10438#(and (<= ~N~0 10) (<= 6 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10438#(and (<= ~N~0 10) (<= 6 main_~i~0))} is VALID [2018-11-23 12:15:06,037 INFO L256 TraceCheckUtils]: 62: Hoare triple {10438#(and (<= ~N~0 10) (<= 6 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,037 INFO L273 TraceCheckUtils]: 63: Hoare triple {10236#(<= ~N~0 10)} ~cond := #in~cond; {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,038 INFO L273 TraceCheckUtils]: 64: Hoare triple {10236#(<= ~N~0 10)} assume !(0 == ~cond); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,038 INFO L273 TraceCheckUtils]: 65: Hoare triple {10236#(<= ~N~0 10)} assume true; {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,039 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {10236#(<= ~N~0 10)} {10438#(and (<= ~N~0 10) (<= 6 main_~i~0))} #58#return; {10438#(and (<= ~N~0 10) (<= 6 main_~i~0))} is VALID [2018-11-23 12:15:06,040 INFO L273 TraceCheckUtils]: 67: Hoare triple {10438#(and (<= ~N~0 10) (<= 6 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {10460#(and (<= 7 main_~i~0) (<= ~N~0 10))} is VALID [2018-11-23 12:15:06,040 INFO L273 TraceCheckUtils]: 68: Hoare triple {10460#(and (<= 7 main_~i~0) (<= ~N~0 10))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10460#(and (<= 7 main_~i~0) (<= ~N~0 10))} is VALID [2018-11-23 12:15:06,041 INFO L256 TraceCheckUtils]: 69: Hoare triple {10460#(and (<= 7 main_~i~0) (<= ~N~0 10))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,042 INFO L273 TraceCheckUtils]: 70: Hoare triple {10236#(<= ~N~0 10)} ~cond := #in~cond; {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,042 INFO L273 TraceCheckUtils]: 71: Hoare triple {10236#(<= ~N~0 10)} assume !(0 == ~cond); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,043 INFO L273 TraceCheckUtils]: 72: Hoare triple {10236#(<= ~N~0 10)} assume true; {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,044 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {10236#(<= ~N~0 10)} {10460#(and (<= 7 main_~i~0) (<= ~N~0 10))} #58#return; {10460#(and (<= 7 main_~i~0) (<= ~N~0 10))} is VALID [2018-11-23 12:15:06,044 INFO L273 TraceCheckUtils]: 74: Hoare triple {10460#(and (<= 7 main_~i~0) (<= ~N~0 10))} havoc #t~mem1;~i~0 := 1 + ~i~0; {10482#(and (<= ~N~0 10) (<= 8 main_~i~0))} is VALID [2018-11-23 12:15:06,045 INFO L273 TraceCheckUtils]: 75: Hoare triple {10482#(and (<= ~N~0 10) (<= 8 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10482#(and (<= ~N~0 10) (<= 8 main_~i~0))} is VALID [2018-11-23 12:15:06,046 INFO L256 TraceCheckUtils]: 76: Hoare triple {10482#(and (<= ~N~0 10) (<= 8 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,047 INFO L273 TraceCheckUtils]: 77: Hoare triple {10236#(<= ~N~0 10)} ~cond := #in~cond; {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,047 INFO L273 TraceCheckUtils]: 78: Hoare triple {10236#(<= ~N~0 10)} assume !(0 == ~cond); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,048 INFO L273 TraceCheckUtils]: 79: Hoare triple {10236#(<= ~N~0 10)} assume true; {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,048 INFO L268 TraceCheckUtils]: 80: Hoare quadruple {10236#(<= ~N~0 10)} {10482#(and (<= ~N~0 10) (<= 8 main_~i~0))} #58#return; {10482#(and (<= ~N~0 10) (<= 8 main_~i~0))} is VALID [2018-11-23 12:15:06,049 INFO L273 TraceCheckUtils]: 81: Hoare triple {10482#(and (<= ~N~0 10) (<= 8 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {10504#(and (<= ~N~0 10) (<= 9 main_~i~0))} is VALID [2018-11-23 12:15:06,050 INFO L273 TraceCheckUtils]: 82: Hoare triple {10504#(and (<= ~N~0 10) (<= 9 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10504#(and (<= ~N~0 10) (<= 9 main_~i~0))} is VALID [2018-11-23 12:15:06,051 INFO L256 TraceCheckUtils]: 83: Hoare triple {10504#(and (<= ~N~0 10) (<= 9 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,051 INFO L273 TraceCheckUtils]: 84: Hoare triple {10236#(<= ~N~0 10)} ~cond := #in~cond; {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,052 INFO L273 TraceCheckUtils]: 85: Hoare triple {10236#(<= ~N~0 10)} assume !(0 == ~cond); {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,052 INFO L273 TraceCheckUtils]: 86: Hoare triple {10236#(<= ~N~0 10)} assume true; {10236#(<= ~N~0 10)} is VALID [2018-11-23 12:15:06,053 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {10236#(<= ~N~0 10)} {10504#(and (<= ~N~0 10) (<= 9 main_~i~0))} #58#return; {10504#(and (<= ~N~0 10) (<= 9 main_~i~0))} is VALID [2018-11-23 12:15:06,054 INFO L273 TraceCheckUtils]: 88: Hoare triple {10504#(and (<= ~N~0 10) (<= 9 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {10526#(and (<= ~N~0 10) (<= 10 main_~i~0))} is VALID [2018-11-23 12:15:06,055 INFO L273 TraceCheckUtils]: 89: Hoare triple {10526#(and (<= ~N~0 10) (<= 10 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10224#false} is VALID [2018-11-23 12:15:06,055 INFO L256 TraceCheckUtils]: 90: Hoare triple {10224#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {10224#false} is VALID [2018-11-23 12:15:06,055 INFO L273 TraceCheckUtils]: 91: Hoare triple {10224#false} ~cond := #in~cond; {10224#false} is VALID [2018-11-23 12:15:06,056 INFO L273 TraceCheckUtils]: 92: Hoare triple {10224#false} assume 0 == ~cond; {10224#false} is VALID [2018-11-23 12:15:06,056 INFO L273 TraceCheckUtils]: 93: Hoare triple {10224#false} assume !false; {10224#false} is VALID [2018-11-23 12:15:06,065 INFO L134 CoverageAnalysis]: Checked inductivity of 410 backedges. 175 proven. 55 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2018-11-23 12:15:06,084 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:06,084 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 25] total 37 [2018-11-23 12:15:06,084 INFO L78 Accepts]: Start accepts. Automaton has 37 states. Word has length 94 [2018-11-23 12:15:06,085 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:06,085 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 37 states. [2018-11-23 12:15:06,186 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:06,186 INFO L459 AbstractCegarLoop]: Interpolant automaton has 37 states [2018-11-23 12:15:06,187 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2018-11-23 12:15:06,187 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=317, Invalid=1015, Unknown=0, NotChecked=0, Total=1332 [2018-11-23 12:15:06,188 INFO L87 Difference]: Start difference. First operand 97 states and 98 transitions. Second operand 37 states. [2018-11-23 12:15:08,583 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:08,583 INFO L93 Difference]: Finished difference Result 183 states and 186 transitions. [2018-11-23 12:15:08,583 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2018-11-23 12:15:08,583 INFO L78 Accepts]: Start accepts. Automaton has 37 states. Word has length 94 [2018-11-23 12:15:08,584 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:08,584 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-23 12:15:08,586 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 129 transitions. [2018-11-23 12:15:08,586 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-23 12:15:08,588 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 129 transitions. [2018-11-23 12:15:08,589 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 129 transitions. [2018-11-23 12:15:08,709 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:08,712 INFO L225 Difference]: With dead ends: 183 [2018-11-23 12:15:08,712 INFO L226 Difference]: Without dead ends: 102 [2018-11-23 12:15:08,713 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 129 GetRequests, 83 SyntacticMatches, 0 SemanticMatches, 46 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 533 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=537, Invalid=1719, Unknown=0, NotChecked=0, Total=2256 [2018-11-23 12:15:08,713 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2018-11-23 12:15:09,358 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 98. [2018-11-23 12:15:09,358 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:09,359 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand 98 states. [2018-11-23 12:15:09,359 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 98 states. [2018-11-23 12:15:09,359 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 98 states. [2018-11-23 12:15:09,361 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:09,361 INFO L93 Difference]: Finished difference Result 102 states and 104 transitions. [2018-11-23 12:15:09,361 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 104 transitions. [2018-11-23 12:15:09,361 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:09,361 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:09,362 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 102 states. [2018-11-23 12:15:09,362 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 102 states. [2018-11-23 12:15:09,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:09,364 INFO L93 Difference]: Finished difference Result 102 states and 104 transitions. [2018-11-23 12:15:09,364 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 104 transitions. [2018-11-23 12:15:09,364 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:09,365 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:09,365 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:09,365 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:09,365 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2018-11-23 12:15:09,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 99 transitions. [2018-11-23 12:15:09,367 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 99 transitions. Word has length 94 [2018-11-23 12:15:09,367 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:09,367 INFO L480 AbstractCegarLoop]: Abstraction has 98 states and 99 transitions. [2018-11-23 12:15:09,367 INFO L481 AbstractCegarLoop]: Interpolant automaton has 37 states. [2018-11-23 12:15:09,367 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 99 transitions. [2018-11-23 12:15:09,368 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 96 [2018-11-23 12:15:09,368 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:09,368 INFO L402 BasicCegarLoop]: trace histogram [11, 11, 11, 11, 10, 10, 10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:15:09,369 INFO L423 AbstractCegarLoop]: === Iteration 22 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:09,369 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:09,369 INFO L82 PathProgramCache]: Analyzing trace with hash 439454323, now seen corresponding path program 19 times [2018-11-23 12:15:09,369 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:09,369 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:09,370 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:09,370 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:09,370 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:09,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:10,862 INFO L256 TraceCheckUtils]: 0: Hoare triple {11182#true} call ULTIMATE.init(); {11182#true} is VALID [2018-11-23 12:15:10,863 INFO L273 TraceCheckUtils]: 1: Hoare triple {11182#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {11182#true} is VALID [2018-11-23 12:15:10,863 INFO L273 TraceCheckUtils]: 2: Hoare triple {11182#true} assume true; {11182#true} is VALID [2018-11-23 12:15:10,863 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11182#true} {11182#true} #54#return; {11182#true} is VALID [2018-11-23 12:15:10,863 INFO L256 TraceCheckUtils]: 4: Hoare triple {11182#true} call #t~ret2 := main(); {11182#true} is VALID [2018-11-23 12:15:10,863 INFO L273 TraceCheckUtils]: 5: Hoare triple {11182#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {11182#true} is VALID [2018-11-23 12:15:10,863 INFO L273 TraceCheckUtils]: 6: Hoare triple {11182#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {11184#(= main_~k~0 0)} is VALID [2018-11-23 12:15:10,864 INFO L273 TraceCheckUtils]: 7: Hoare triple {11184#(= main_~k~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11185#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-23 12:15:10,865 INFO L273 TraceCheckUtils]: 8: Hoare triple {11185#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11186#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-23 12:15:10,866 INFO L273 TraceCheckUtils]: 9: Hoare triple {11186#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11187#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-23 12:15:10,867 INFO L273 TraceCheckUtils]: 10: Hoare triple {11187#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11188#(and (<= main_~k~0 4) (<= 4 main_~k~0))} is VALID [2018-11-23 12:15:10,867 INFO L273 TraceCheckUtils]: 11: Hoare triple {11188#(and (<= main_~k~0 4) (<= 4 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11189#(and (<= main_~k~0 5) (<= 5 main_~k~0))} is VALID [2018-11-23 12:15:10,868 INFO L273 TraceCheckUtils]: 12: Hoare triple {11189#(and (<= main_~k~0 5) (<= 5 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11190#(and (<= 6 main_~k~0) (<= main_~k~0 6))} is VALID [2018-11-23 12:15:10,869 INFO L273 TraceCheckUtils]: 13: Hoare triple {11190#(and (<= 6 main_~k~0) (<= main_~k~0 6))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11191#(and (<= main_~k~0 7) (<= 7 main_~k~0))} is VALID [2018-11-23 12:15:10,869 INFO L273 TraceCheckUtils]: 14: Hoare triple {11191#(and (<= main_~k~0 7) (<= 7 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11192#(and (<= main_~k~0 8) (<= 8 main_~k~0))} is VALID [2018-11-23 12:15:10,870 INFO L273 TraceCheckUtils]: 15: Hoare triple {11192#(and (<= main_~k~0 8) (<= 8 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11193#(and (<= 9 main_~k~0) (<= main_~k~0 9))} is VALID [2018-11-23 12:15:10,871 INFO L273 TraceCheckUtils]: 16: Hoare triple {11193#(and (<= 9 main_~k~0) (<= main_~k~0 9))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11194#(and (<= 10 main_~k~0) (<= main_~k~0 10))} is VALID [2018-11-23 12:15:10,872 INFO L273 TraceCheckUtils]: 17: Hoare triple {11194#(and (<= 10 main_~k~0) (<= main_~k~0 10))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11195#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 10))) 10)} is VALID [2018-11-23 12:15:10,873 INFO L273 TraceCheckUtils]: 18: Hoare triple {11195#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 10))) 10)} assume !(~i~0 < ~N~0); {11195#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 10))) 10)} is VALID [2018-11-23 12:15:10,874 INFO L273 TraceCheckUtils]: 19: Hoare triple {11195#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 10))) 10)} ~i~0 := 0; {11196#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 10))) 10) (= main_~i~0 0))} is VALID [2018-11-23 12:15:10,874 INFO L273 TraceCheckUtils]: 20: Hoare triple {11196#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 10))) 10) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11196#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 10))) 10) (= main_~i~0 0))} is VALID [2018-11-23 12:15:10,875 INFO L256 TraceCheckUtils]: 21: Hoare triple {11196#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 10))) 10) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11182#true} is VALID [2018-11-23 12:15:10,875 INFO L273 TraceCheckUtils]: 22: Hoare triple {11182#true} ~cond := #in~cond; {11197#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:15:10,876 INFO L273 TraceCheckUtils]: 23: Hoare triple {11197#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {11198#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:15:10,876 INFO L273 TraceCheckUtils]: 24: Hoare triple {11198#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11198#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:15:10,878 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {11198#(not (= |__VERIFIER_assert_#in~cond| 0))} {11196#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 10))) 10) (= main_~i~0 0))} #58#return; {11196#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 10))) 10) (= main_~i~0 0))} is VALID [2018-11-23 12:15:10,879 INFO L273 TraceCheckUtils]: 26: Hoare triple {11196#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 10))) 10) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {11199#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} is VALID [2018-11-23 12:15:10,879 INFO L273 TraceCheckUtils]: 27: Hoare triple {11199#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11199#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} is VALID [2018-11-23 12:15:10,880 INFO L256 TraceCheckUtils]: 28: Hoare triple {11199#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11182#true} is VALID [2018-11-23 12:15:10,880 INFO L273 TraceCheckUtils]: 29: Hoare triple {11182#true} ~cond := #in~cond; {11182#true} is VALID [2018-11-23 12:15:10,880 INFO L273 TraceCheckUtils]: 30: Hoare triple {11182#true} assume !(0 == ~cond); {11182#true} is VALID [2018-11-23 12:15:10,880 INFO L273 TraceCheckUtils]: 31: Hoare triple {11182#true} assume true; {11182#true} is VALID [2018-11-23 12:15:10,881 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {11182#true} {11199#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} #58#return; {11199#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} is VALID [2018-11-23 12:15:10,883 INFO L273 TraceCheckUtils]: 33: Hoare triple {11199#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {11200#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} is VALID [2018-11-23 12:15:10,883 INFO L273 TraceCheckUtils]: 34: Hoare triple {11200#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11200#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} is VALID [2018-11-23 12:15:10,883 INFO L256 TraceCheckUtils]: 35: Hoare triple {11200#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11182#true} is VALID [2018-11-23 12:15:10,884 INFO L273 TraceCheckUtils]: 36: Hoare triple {11182#true} ~cond := #in~cond; {11182#true} is VALID [2018-11-23 12:15:10,884 INFO L273 TraceCheckUtils]: 37: Hoare triple {11182#true} assume !(0 == ~cond); {11182#true} is VALID [2018-11-23 12:15:10,884 INFO L273 TraceCheckUtils]: 38: Hoare triple {11182#true} assume true; {11182#true} is VALID [2018-11-23 12:15:10,885 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {11182#true} {11200#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} #58#return; {11200#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} is VALID [2018-11-23 12:15:10,886 INFO L273 TraceCheckUtils]: 40: Hoare triple {11200#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} havoc #t~mem1;~i~0 := 1 + ~i~0; {11201#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} is VALID [2018-11-23 12:15:10,887 INFO L273 TraceCheckUtils]: 41: Hoare triple {11201#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11201#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} is VALID [2018-11-23 12:15:10,887 INFO L256 TraceCheckUtils]: 42: Hoare triple {11201#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11182#true} is VALID [2018-11-23 12:15:10,887 INFO L273 TraceCheckUtils]: 43: Hoare triple {11182#true} ~cond := #in~cond; {11182#true} is VALID [2018-11-23 12:15:10,888 INFO L273 TraceCheckUtils]: 44: Hoare triple {11182#true} assume !(0 == ~cond); {11182#true} is VALID [2018-11-23 12:15:10,888 INFO L273 TraceCheckUtils]: 45: Hoare triple {11182#true} assume true; {11182#true} is VALID [2018-11-23 12:15:10,889 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {11182#true} {11201#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} #58#return; {11201#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} is VALID [2018-11-23 12:15:10,890 INFO L273 TraceCheckUtils]: 47: Hoare triple {11201#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} havoc #t~mem1;~i~0 := 1 + ~i~0; {11202#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} is VALID [2018-11-23 12:15:10,891 INFO L273 TraceCheckUtils]: 48: Hoare triple {11202#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11202#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} is VALID [2018-11-23 12:15:10,891 INFO L256 TraceCheckUtils]: 49: Hoare triple {11202#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11182#true} is VALID [2018-11-23 12:15:10,891 INFO L273 TraceCheckUtils]: 50: Hoare triple {11182#true} ~cond := #in~cond; {11182#true} is VALID [2018-11-23 12:15:10,891 INFO L273 TraceCheckUtils]: 51: Hoare triple {11182#true} assume !(0 == ~cond); {11182#true} is VALID [2018-11-23 12:15:10,892 INFO L273 TraceCheckUtils]: 52: Hoare triple {11182#true} assume true; {11182#true} is VALID [2018-11-23 12:15:10,893 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {11182#true} {11202#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} #58#return; {11202#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} is VALID [2018-11-23 12:15:10,894 INFO L273 TraceCheckUtils]: 54: Hoare triple {11202#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} havoc #t~mem1;~i~0 := 1 + ~i~0; {11203#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-23 12:15:10,894 INFO L273 TraceCheckUtils]: 55: Hoare triple {11203#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11203#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-23 12:15:10,895 INFO L256 TraceCheckUtils]: 56: Hoare triple {11203#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11182#true} is VALID [2018-11-23 12:15:10,895 INFO L273 TraceCheckUtils]: 57: Hoare triple {11182#true} ~cond := #in~cond; {11182#true} is VALID [2018-11-23 12:15:10,895 INFO L273 TraceCheckUtils]: 58: Hoare triple {11182#true} assume !(0 == ~cond); {11182#true} is VALID [2018-11-23 12:15:10,895 INFO L273 TraceCheckUtils]: 59: Hoare triple {11182#true} assume true; {11182#true} is VALID [2018-11-23 12:15:10,896 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {11182#true} {11203#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} #58#return; {11203#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-23 12:15:10,898 INFO L273 TraceCheckUtils]: 61: Hoare triple {11203#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} havoc #t~mem1;~i~0 := 1 + ~i~0; {11204#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:15:10,898 INFO L273 TraceCheckUtils]: 62: Hoare triple {11204#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11204#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:15:10,899 INFO L256 TraceCheckUtils]: 63: Hoare triple {11204#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11182#true} is VALID [2018-11-23 12:15:10,899 INFO L273 TraceCheckUtils]: 64: Hoare triple {11182#true} ~cond := #in~cond; {11182#true} is VALID [2018-11-23 12:15:10,899 INFO L273 TraceCheckUtils]: 65: Hoare triple {11182#true} assume !(0 == ~cond); {11182#true} is VALID [2018-11-23 12:15:10,899 INFO L273 TraceCheckUtils]: 66: Hoare triple {11182#true} assume true; {11182#true} is VALID [2018-11-23 12:15:10,901 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {11182#true} {11204#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} #58#return; {11204#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:15:10,902 INFO L273 TraceCheckUtils]: 68: Hoare triple {11204#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} havoc #t~mem1;~i~0 := 1 + ~i~0; {11205#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:15:10,902 INFO L273 TraceCheckUtils]: 69: Hoare triple {11205#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11205#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:15:10,903 INFO L256 TraceCheckUtils]: 70: Hoare triple {11205#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11182#true} is VALID [2018-11-23 12:15:10,903 INFO L273 TraceCheckUtils]: 71: Hoare triple {11182#true} ~cond := #in~cond; {11182#true} is VALID [2018-11-23 12:15:10,903 INFO L273 TraceCheckUtils]: 72: Hoare triple {11182#true} assume !(0 == ~cond); {11182#true} is VALID [2018-11-23 12:15:10,903 INFO L273 TraceCheckUtils]: 73: Hoare triple {11182#true} assume true; {11182#true} is VALID [2018-11-23 12:15:10,904 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {11182#true} {11205#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} #58#return; {11205#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:15:10,905 INFO L273 TraceCheckUtils]: 75: Hoare triple {11205#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} havoc #t~mem1;~i~0 := 1 + ~i~0; {11206#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:15:10,906 INFO L273 TraceCheckUtils]: 76: Hoare triple {11206#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11206#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:15:10,906 INFO L256 TraceCheckUtils]: 77: Hoare triple {11206#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11182#true} is VALID [2018-11-23 12:15:10,906 INFO L273 TraceCheckUtils]: 78: Hoare triple {11182#true} ~cond := #in~cond; {11182#true} is VALID [2018-11-23 12:15:10,906 INFO L273 TraceCheckUtils]: 79: Hoare triple {11182#true} assume !(0 == ~cond); {11182#true} is VALID [2018-11-23 12:15:10,906 INFO L273 TraceCheckUtils]: 80: Hoare triple {11182#true} assume true; {11182#true} is VALID [2018-11-23 12:15:10,907 INFO L268 TraceCheckUtils]: 81: Hoare quadruple {11182#true} {11206#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} #58#return; {11206#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:15:10,909 INFO L273 TraceCheckUtils]: 82: Hoare triple {11206#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} havoc #t~mem1;~i~0 := 1 + ~i~0; {11207#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:15:10,909 INFO L273 TraceCheckUtils]: 83: Hoare triple {11207#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11207#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:15:10,909 INFO L256 TraceCheckUtils]: 84: Hoare triple {11207#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11182#true} is VALID [2018-11-23 12:15:10,910 INFO L273 TraceCheckUtils]: 85: Hoare triple {11182#true} ~cond := #in~cond; {11182#true} is VALID [2018-11-23 12:15:10,910 INFO L273 TraceCheckUtils]: 86: Hoare triple {11182#true} assume !(0 == ~cond); {11182#true} is VALID [2018-11-23 12:15:10,910 INFO L273 TraceCheckUtils]: 87: Hoare triple {11182#true} assume true; {11182#true} is VALID [2018-11-23 12:15:10,911 INFO L268 TraceCheckUtils]: 88: Hoare quadruple {11182#true} {11207#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} #58#return; {11207#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:15:10,912 INFO L273 TraceCheckUtils]: 89: Hoare triple {11207#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} havoc #t~mem1;~i~0 := 1 + ~i~0; {11208#(= 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:15:10,912 INFO L273 TraceCheckUtils]: 90: Hoare triple {11208#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11209#(= main_~i~0 |main_#t~mem1|)} is VALID [2018-11-23 12:15:10,913 INFO L256 TraceCheckUtils]: 91: Hoare triple {11209#(= main_~i~0 |main_#t~mem1|)} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11198#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:15:10,914 INFO L273 TraceCheckUtils]: 92: Hoare triple {11198#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {11210#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:15:10,914 INFO L273 TraceCheckUtils]: 93: Hoare triple {11210#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {11183#false} is VALID [2018-11-23 12:15:10,914 INFO L273 TraceCheckUtils]: 94: Hoare triple {11183#false} assume !false; {11183#false} is VALID [2018-11-23 12:15:10,926 INFO L134 CoverageAnalysis]: Checked inductivity of 421 backedges. 19 proven. 249 refuted. 0 times theorem prover too weak. 153 trivial. 0 not checked. [2018-11-23 12:15:10,927 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:10,927 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 21 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 21 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:10,936 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:15:10,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:10,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:11,001 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:11,435 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 12:15:11,440 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 12:15:11,449 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:15:11,452 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:15:11,457 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:15:11,457 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 12:15:13,517 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 12:15:13,527 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:15:13,528 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-23 12:15:13,530 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:15:13,533 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:15:13,538 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:15:13,538 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-23 12:15:13,540 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:15:13,541 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= |main_#t~mem1| (select .cse0 (* 4 main_~i~0))) (= (select .cse0 40) 10) (= main_~i~0 10))) [2018-11-23 12:15:13,541 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 10 |main_#t~mem1|) (= main_~i~0 10)) [2018-11-23 12:15:13,662 INFO L256 TraceCheckUtils]: 0: Hoare triple {11182#true} call ULTIMATE.init(); {11182#true} is VALID [2018-11-23 12:15:13,663 INFO L273 TraceCheckUtils]: 1: Hoare triple {11182#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {11182#true} is VALID [2018-11-23 12:15:13,663 INFO L273 TraceCheckUtils]: 2: Hoare triple {11182#true} assume true; {11182#true} is VALID [2018-11-23 12:15:13,663 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11182#true} {11182#true} #54#return; {11182#true} is VALID [2018-11-23 12:15:13,663 INFO L256 TraceCheckUtils]: 4: Hoare triple {11182#true} call #t~ret2 := main(); {11182#true} is VALID [2018-11-23 12:15:13,663 INFO L273 TraceCheckUtils]: 5: Hoare triple {11182#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {11182#true} is VALID [2018-11-23 12:15:13,664 INFO L273 TraceCheckUtils]: 6: Hoare triple {11182#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {11232#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,665 INFO L273 TraceCheckUtils]: 7: Hoare triple {11232#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11236#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,665 INFO L273 TraceCheckUtils]: 8: Hoare triple {11236#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11240#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,666 INFO L273 TraceCheckUtils]: 9: Hoare triple {11240#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11244#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,666 INFO L273 TraceCheckUtils]: 10: Hoare triple {11244#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11248#(and (= main_~k~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,667 INFO L273 TraceCheckUtils]: 11: Hoare triple {11248#(and (= main_~k~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11252#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,667 INFO L273 TraceCheckUtils]: 12: Hoare triple {11252#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11256#(and (= main_~k~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,668 INFO L273 TraceCheckUtils]: 13: Hoare triple {11256#(and (= main_~k~0 6) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11260#(and (= main_~k~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,669 INFO L273 TraceCheckUtils]: 14: Hoare triple {11260#(and (= main_~k~0 7) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11264#(and (= main_~k~0 8) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,670 INFO L273 TraceCheckUtils]: 15: Hoare triple {11264#(and (= main_~k~0 8) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11268#(and (= main_~k~0 9) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,671 INFO L273 TraceCheckUtils]: 16: Hoare triple {11268#(and (= main_~k~0 9) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11272#(and (= main_~k~0 10) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,672 INFO L273 TraceCheckUtils]: 17: Hoare triple {11272#(and (= main_~k~0 10) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {11276#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,672 INFO L273 TraceCheckUtils]: 18: Hoare triple {11276#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~N~0); {11276#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,673 INFO L273 TraceCheckUtils]: 19: Hoare triple {11276#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {11283#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,674 INFO L273 TraceCheckUtils]: 20: Hoare triple {11283#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11283#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,675 INFO L256 TraceCheckUtils]: 21: Hoare triple {11283#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,676 INFO L273 TraceCheckUtils]: 22: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} ~cond := #in~cond; {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,676 INFO L273 TraceCheckUtils]: 23: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} assume !(0 == ~cond); {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,677 INFO L273 TraceCheckUtils]: 24: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} assume true; {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,678 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} {11283#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #58#return; {11283#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,678 INFO L273 TraceCheckUtils]: 26: Hoare triple {11283#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {11306#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,679 INFO L273 TraceCheckUtils]: 27: Hoare triple {11306#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11306#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,680 INFO L256 TraceCheckUtils]: 28: Hoare triple {11306#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,681 INFO L273 TraceCheckUtils]: 29: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} ~cond := #in~cond; {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,681 INFO L273 TraceCheckUtils]: 30: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} assume !(0 == ~cond); {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,682 INFO L273 TraceCheckUtils]: 31: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} assume true; {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,683 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} {11306#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #58#return; {11306#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,684 INFO L273 TraceCheckUtils]: 33: Hoare triple {11306#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {11328#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,684 INFO L273 TraceCheckUtils]: 34: Hoare triple {11328#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11328#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,686 INFO L256 TraceCheckUtils]: 35: Hoare triple {11328#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,686 INFO L273 TraceCheckUtils]: 36: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} ~cond := #in~cond; {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,687 INFO L273 TraceCheckUtils]: 37: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} assume !(0 == ~cond); {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,687 INFO L273 TraceCheckUtils]: 38: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} assume true; {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,688 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} {11328#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} #58#return; {11328#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,689 INFO L273 TraceCheckUtils]: 40: Hoare triple {11328#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {11350#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,690 INFO L273 TraceCheckUtils]: 41: Hoare triple {11350#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11350#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,691 INFO L256 TraceCheckUtils]: 42: Hoare triple {11350#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,692 INFO L273 TraceCheckUtils]: 43: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} ~cond := #in~cond; {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,692 INFO L273 TraceCheckUtils]: 44: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} assume !(0 == ~cond); {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,692 INFO L273 TraceCheckUtils]: 45: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} assume true; {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,693 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} {11350#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= |main_~#a~0.offset| 0))} #58#return; {11350#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,694 INFO L273 TraceCheckUtils]: 47: Hoare triple {11350#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {11372#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,695 INFO L273 TraceCheckUtils]: 48: Hoare triple {11372#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11372#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,696 INFO L256 TraceCheckUtils]: 49: Hoare triple {11372#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,697 INFO L273 TraceCheckUtils]: 50: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} ~cond := #in~cond; {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,697 INFO L273 TraceCheckUtils]: 51: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} assume !(0 == ~cond); {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,698 INFO L273 TraceCheckUtils]: 52: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} assume true; {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,698 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} {11372#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} #58#return; {11372#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,699 INFO L273 TraceCheckUtils]: 54: Hoare triple {11372#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {11394#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,700 INFO L273 TraceCheckUtils]: 55: Hoare triple {11394#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11394#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,701 INFO L256 TraceCheckUtils]: 56: Hoare triple {11394#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,702 INFO L273 TraceCheckUtils]: 57: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} ~cond := #in~cond; {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,702 INFO L273 TraceCheckUtils]: 58: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} assume !(0 == ~cond); {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,703 INFO L273 TraceCheckUtils]: 59: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} assume true; {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,704 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} {11394#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} #58#return; {11394#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,705 INFO L273 TraceCheckUtils]: 61: Hoare triple {11394#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {11416#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,705 INFO L273 TraceCheckUtils]: 62: Hoare triple {11416#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11416#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,707 INFO L256 TraceCheckUtils]: 63: Hoare triple {11416#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,707 INFO L273 TraceCheckUtils]: 64: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} ~cond := #in~cond; {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,708 INFO L273 TraceCheckUtils]: 65: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} assume !(0 == ~cond); {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,708 INFO L273 TraceCheckUtils]: 66: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} assume true; {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,709 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} {11416#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} #58#return; {11416#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,710 INFO L273 TraceCheckUtils]: 68: Hoare triple {11416#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {11438#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,711 INFO L273 TraceCheckUtils]: 69: Hoare triple {11438#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11438#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,712 INFO L256 TraceCheckUtils]: 70: Hoare triple {11438#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,713 INFO L273 TraceCheckUtils]: 71: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} ~cond := #in~cond; {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,713 INFO L273 TraceCheckUtils]: 72: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} assume !(0 == ~cond); {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,714 INFO L273 TraceCheckUtils]: 73: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} assume true; {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,715 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} {11438#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} #58#return; {11438#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,716 INFO L273 TraceCheckUtils]: 75: Hoare triple {11438#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {11460#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 8) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,717 INFO L273 TraceCheckUtils]: 76: Hoare triple {11460#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 8) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11460#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 8) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,718 INFO L256 TraceCheckUtils]: 77: Hoare triple {11460#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 8) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,719 INFO L273 TraceCheckUtils]: 78: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} ~cond := #in~cond; {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,719 INFO L273 TraceCheckUtils]: 79: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} assume !(0 == ~cond); {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,720 INFO L273 TraceCheckUtils]: 80: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} assume true; {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,721 INFO L268 TraceCheckUtils]: 81: Hoare quadruple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} {11460#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 8) (= |main_~#a~0.offset| 0))} #58#return; {11460#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 8) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,722 INFO L273 TraceCheckUtils]: 82: Hoare triple {11460#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 8) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {11482#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 9) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,722 INFO L273 TraceCheckUtils]: 83: Hoare triple {11482#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 9) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11482#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 9) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,724 INFO L256 TraceCheckUtils]: 84: Hoare triple {11482#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 9) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,724 INFO L273 TraceCheckUtils]: 85: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} ~cond := #in~cond; {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,725 INFO L273 TraceCheckUtils]: 86: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} assume !(0 == ~cond); {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,725 INFO L273 TraceCheckUtils]: 87: Hoare triple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} assume true; {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} is VALID [2018-11-23 12:15:13,726 INFO L268 TraceCheckUtils]: 88: Hoare quadruple {11290#(exists ((|v_main_~#a~0.base_BEFORE_CALL_46| Int)) (= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_46|) 40)))} {11482#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 9) (= |main_~#a~0.offset| 0))} #58#return; {11482#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 9) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,727 INFO L273 TraceCheckUtils]: 89: Hoare triple {11482#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 9) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {11504#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 10) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:13,728 INFO L273 TraceCheckUtils]: 90: Hoare triple {11504#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 40)) 10) (= main_~i~0 10) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11508#(and (= 10 |main_#t~mem1|) (= main_~i~0 10))} is VALID [2018-11-23 12:15:13,729 INFO L256 TraceCheckUtils]: 91: Hoare triple {11508#(and (= 10 |main_#t~mem1|) (= main_~i~0 10))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {11512#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:15:13,730 INFO L273 TraceCheckUtils]: 92: Hoare triple {11512#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {11516#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:15:13,730 INFO L273 TraceCheckUtils]: 93: Hoare triple {11516#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11183#false} is VALID [2018-11-23 12:15:13,731 INFO L273 TraceCheckUtils]: 94: Hoare triple {11183#false} assume !false; {11183#false} is VALID [2018-11-23 12:15:13,751 INFO L134 CoverageAnalysis]: Checked inductivity of 421 backedges. 0 proven. 241 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2018-11-23 12:15:13,771 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:13,771 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 29] total 56 [2018-11-23 12:15:13,772 INFO L78 Accepts]: Start accepts. Automaton has 56 states. Word has length 95 [2018-11-23 12:15:13,772 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:13,773 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 56 states. [2018-11-23 12:15:13,919 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 132 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:13,919 INFO L459 AbstractCegarLoop]: Interpolant automaton has 56 states [2018-11-23 12:15:13,920 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 56 interpolants. [2018-11-23 12:15:13,921 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=170, Invalid=2910, Unknown=0, NotChecked=0, Total=3080 [2018-11-23 12:15:13,921 INFO L87 Difference]: Start difference. First operand 98 states and 99 transitions. Second operand 56 states. [2018-11-23 12:15:22,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:22,053 INFO L93 Difference]: Finished difference Result 108 states and 109 transitions. [2018-11-23 12:15:22,053 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 42 states. [2018-11-23 12:15:22,054 INFO L78 Accepts]: Start accepts. Automaton has 56 states. Word has length 95 [2018-11-23 12:15:22,054 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:22,054 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 56 states. [2018-11-23 12:15:22,055 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 79 transitions. [2018-11-23 12:15:22,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 56 states. [2018-11-23 12:15:22,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 79 transitions. [2018-11-23 12:15:22,057 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 42 states and 79 transitions. [2018-11-23 12:15:22,165 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:15:22,167 INFO L225 Difference]: With dead ends: 108 [2018-11-23 12:15:22,167 INFO L226 Difference]: Without dead ends: 106 [2018-11-23 12:15:22,168 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 142 GetRequests, 52 SyntacticMatches, 20 SemanticMatches, 70 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1276 ImplicationChecksByTransitivity, 3.8s TimeCoverageRelationStatistics Valid=303, Invalid=4809, Unknown=0, NotChecked=0, Total=5112 [2018-11-23 12:15:22,169 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2018-11-23 12:15:22,634 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 105. [2018-11-23 12:15:22,635 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:22,635 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand 105 states. [2018-11-23 12:15:22,635 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand 105 states. [2018-11-23 12:15:22,635 INFO L87 Difference]: Start difference. First operand 106 states. Second operand 105 states. [2018-11-23 12:15:22,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:22,638 INFO L93 Difference]: Finished difference Result 106 states and 107 transitions. [2018-11-23 12:15:22,638 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 107 transitions. [2018-11-23 12:15:22,638 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:22,639 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:22,639 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 106 states. [2018-11-23 12:15:22,639 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 106 states. [2018-11-23 12:15:22,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:22,640 INFO L93 Difference]: Finished difference Result 106 states and 107 transitions. [2018-11-23 12:15:22,641 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 107 transitions. [2018-11-23 12:15:22,641 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:22,641 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:22,641 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:22,641 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:22,641 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 105 states. [2018-11-23 12:15:22,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 106 transitions. [2018-11-23 12:15:22,643 INFO L78 Accepts]: Start accepts. Automaton has 105 states and 106 transitions. Word has length 95 [2018-11-23 12:15:22,643 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:22,643 INFO L480 AbstractCegarLoop]: Abstraction has 105 states and 106 transitions. [2018-11-23 12:15:22,643 INFO L481 AbstractCegarLoop]: Interpolant automaton has 56 states. [2018-11-23 12:15:22,643 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 106 transitions. [2018-11-23 12:15:22,644 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2018-11-23 12:15:22,644 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:22,644 INFO L402 BasicCegarLoop]: trace histogram [12, 12, 12, 11, 11, 11, 11, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:15:22,644 INFO L423 AbstractCegarLoop]: === Iteration 23 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:22,645 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:22,645 INFO L82 PathProgramCache]: Analyzing trace with hash 1783117752, now seen corresponding path program 20 times [2018-11-23 12:15:22,645 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:22,645 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:22,645 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:22,645 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:15:22,646 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:22,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:23,461 INFO L256 TraceCheckUtils]: 0: Hoare triple {12084#true} call ULTIMATE.init(); {12084#true} is VALID [2018-11-23 12:15:23,461 INFO L273 TraceCheckUtils]: 1: Hoare triple {12084#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {12084#true} is VALID [2018-11-23 12:15:23,461 INFO L273 TraceCheckUtils]: 2: Hoare triple {12084#true} assume true; {12084#true} is VALID [2018-11-23 12:15:23,461 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12084#true} {12084#true} #54#return; {12084#true} is VALID [2018-11-23 12:15:23,462 INFO L256 TraceCheckUtils]: 4: Hoare triple {12084#true} call #t~ret2 := main(); {12084#true} is VALID [2018-11-23 12:15:23,462 INFO L273 TraceCheckUtils]: 5: Hoare triple {12084#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {12084#true} is VALID [2018-11-23 12:15:23,462 INFO L273 TraceCheckUtils]: 6: Hoare triple {12084#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {12086#(= main_~i~0 0)} is VALID [2018-11-23 12:15:23,463 INFO L273 TraceCheckUtils]: 7: Hoare triple {12086#(= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12087#(<= main_~i~0 1)} is VALID [2018-11-23 12:15:23,464 INFO L273 TraceCheckUtils]: 8: Hoare triple {12087#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12088#(<= main_~i~0 2)} is VALID [2018-11-23 12:15:23,464 INFO L273 TraceCheckUtils]: 9: Hoare triple {12088#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12089#(<= main_~i~0 3)} is VALID [2018-11-23 12:15:23,465 INFO L273 TraceCheckUtils]: 10: Hoare triple {12089#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12090#(<= main_~i~0 4)} is VALID [2018-11-23 12:15:23,465 INFO L273 TraceCheckUtils]: 11: Hoare triple {12090#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12091#(<= main_~i~0 5)} is VALID [2018-11-23 12:15:23,466 INFO L273 TraceCheckUtils]: 12: Hoare triple {12091#(<= main_~i~0 5)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12092#(<= main_~i~0 6)} is VALID [2018-11-23 12:15:23,467 INFO L273 TraceCheckUtils]: 13: Hoare triple {12092#(<= main_~i~0 6)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12093#(<= main_~i~0 7)} is VALID [2018-11-23 12:15:23,468 INFO L273 TraceCheckUtils]: 14: Hoare triple {12093#(<= main_~i~0 7)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12094#(<= main_~i~0 8)} is VALID [2018-11-23 12:15:23,469 INFO L273 TraceCheckUtils]: 15: Hoare triple {12094#(<= main_~i~0 8)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12095#(<= main_~i~0 9)} is VALID [2018-11-23 12:15:23,470 INFO L273 TraceCheckUtils]: 16: Hoare triple {12095#(<= main_~i~0 9)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12096#(<= main_~i~0 10)} is VALID [2018-11-23 12:15:23,471 INFO L273 TraceCheckUtils]: 17: Hoare triple {12096#(<= main_~i~0 10)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12097#(<= main_~i~0 11)} is VALID [2018-11-23 12:15:23,472 INFO L273 TraceCheckUtils]: 18: Hoare triple {12097#(<= main_~i~0 11)} assume !(~i~0 < ~N~0); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:23,473 INFO L273 TraceCheckUtils]: 19: Hoare triple {12098#(<= ~N~0 11)} ~i~0 := 0; {12099#(and (<= ~N~0 11) (= main_~i~0 0))} is VALID [2018-11-23 12:15:23,473 INFO L273 TraceCheckUtils]: 20: Hoare triple {12099#(and (<= ~N~0 11) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12099#(and (<= ~N~0 11) (= main_~i~0 0))} is VALID [2018-11-23 12:15:23,474 INFO L256 TraceCheckUtils]: 21: Hoare triple {12099#(and (<= ~N~0 11) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12084#true} is VALID [2018-11-23 12:15:23,474 INFO L273 TraceCheckUtils]: 22: Hoare triple {12084#true} ~cond := #in~cond; {12084#true} is VALID [2018-11-23 12:15:23,474 INFO L273 TraceCheckUtils]: 23: Hoare triple {12084#true} assume !(0 == ~cond); {12084#true} is VALID [2018-11-23 12:15:23,474 INFO L273 TraceCheckUtils]: 24: Hoare triple {12084#true} assume true; {12084#true} is VALID [2018-11-23 12:15:23,475 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {12084#true} {12099#(and (<= ~N~0 11) (= main_~i~0 0))} #58#return; {12099#(and (<= ~N~0 11) (= main_~i~0 0))} is VALID [2018-11-23 12:15:23,476 INFO L273 TraceCheckUtils]: 26: Hoare triple {12099#(and (<= ~N~0 11) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12100#(<= ~N~0 (+ main_~i~0 10))} is VALID [2018-11-23 12:15:23,476 INFO L273 TraceCheckUtils]: 27: Hoare triple {12100#(<= ~N~0 (+ main_~i~0 10))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12100#(<= ~N~0 (+ main_~i~0 10))} is VALID [2018-11-23 12:15:23,476 INFO L256 TraceCheckUtils]: 28: Hoare triple {12100#(<= ~N~0 (+ main_~i~0 10))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12084#true} is VALID [2018-11-23 12:15:23,477 INFO L273 TraceCheckUtils]: 29: Hoare triple {12084#true} ~cond := #in~cond; {12084#true} is VALID [2018-11-23 12:15:23,477 INFO L273 TraceCheckUtils]: 30: Hoare triple {12084#true} assume !(0 == ~cond); {12084#true} is VALID [2018-11-23 12:15:23,477 INFO L273 TraceCheckUtils]: 31: Hoare triple {12084#true} assume true; {12084#true} is VALID [2018-11-23 12:15:23,478 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {12084#true} {12100#(<= ~N~0 (+ main_~i~0 10))} #58#return; {12100#(<= ~N~0 (+ main_~i~0 10))} is VALID [2018-11-23 12:15:23,479 INFO L273 TraceCheckUtils]: 33: Hoare triple {12100#(<= ~N~0 (+ main_~i~0 10))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12101#(<= ~N~0 (+ main_~i~0 9))} is VALID [2018-11-23 12:15:23,479 INFO L273 TraceCheckUtils]: 34: Hoare triple {12101#(<= ~N~0 (+ main_~i~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12101#(<= ~N~0 (+ main_~i~0 9))} is VALID [2018-11-23 12:15:23,479 INFO L256 TraceCheckUtils]: 35: Hoare triple {12101#(<= ~N~0 (+ main_~i~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12084#true} is VALID [2018-11-23 12:15:23,479 INFO L273 TraceCheckUtils]: 36: Hoare triple {12084#true} ~cond := #in~cond; {12084#true} is VALID [2018-11-23 12:15:23,480 INFO L273 TraceCheckUtils]: 37: Hoare triple {12084#true} assume !(0 == ~cond); {12084#true} is VALID [2018-11-23 12:15:23,480 INFO L273 TraceCheckUtils]: 38: Hoare triple {12084#true} assume true; {12084#true} is VALID [2018-11-23 12:15:23,481 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {12084#true} {12101#(<= ~N~0 (+ main_~i~0 9))} #58#return; {12101#(<= ~N~0 (+ main_~i~0 9))} is VALID [2018-11-23 12:15:23,481 INFO L273 TraceCheckUtils]: 40: Hoare triple {12101#(<= ~N~0 (+ main_~i~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12102#(<= ~N~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:15:23,482 INFO L273 TraceCheckUtils]: 41: Hoare triple {12102#(<= ~N~0 (+ main_~i~0 8))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12102#(<= ~N~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:15:23,482 INFO L256 TraceCheckUtils]: 42: Hoare triple {12102#(<= ~N~0 (+ main_~i~0 8))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12084#true} is VALID [2018-11-23 12:15:23,482 INFO L273 TraceCheckUtils]: 43: Hoare triple {12084#true} ~cond := #in~cond; {12084#true} is VALID [2018-11-23 12:15:23,483 INFO L273 TraceCheckUtils]: 44: Hoare triple {12084#true} assume !(0 == ~cond); {12084#true} is VALID [2018-11-23 12:15:23,483 INFO L273 TraceCheckUtils]: 45: Hoare triple {12084#true} assume true; {12084#true} is VALID [2018-11-23 12:15:23,483 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {12084#true} {12102#(<= ~N~0 (+ main_~i~0 8))} #58#return; {12102#(<= ~N~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:15:23,484 INFO L273 TraceCheckUtils]: 47: Hoare triple {12102#(<= ~N~0 (+ main_~i~0 8))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12103#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:15:23,485 INFO L273 TraceCheckUtils]: 48: Hoare triple {12103#(<= ~N~0 (+ main_~i~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12103#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:15:23,485 INFO L256 TraceCheckUtils]: 49: Hoare triple {12103#(<= ~N~0 (+ main_~i~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12084#true} is VALID [2018-11-23 12:15:23,485 INFO L273 TraceCheckUtils]: 50: Hoare triple {12084#true} ~cond := #in~cond; {12084#true} is VALID [2018-11-23 12:15:23,485 INFO L273 TraceCheckUtils]: 51: Hoare triple {12084#true} assume !(0 == ~cond); {12084#true} is VALID [2018-11-23 12:15:23,486 INFO L273 TraceCheckUtils]: 52: Hoare triple {12084#true} assume true; {12084#true} is VALID [2018-11-23 12:15:23,486 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {12084#true} {12103#(<= ~N~0 (+ main_~i~0 7))} #58#return; {12103#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:15:23,487 INFO L273 TraceCheckUtils]: 54: Hoare triple {12103#(<= ~N~0 (+ main_~i~0 7))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12104#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:15:23,488 INFO L273 TraceCheckUtils]: 55: Hoare triple {12104#(<= ~N~0 (+ main_~i~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12104#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:15:23,488 INFO L256 TraceCheckUtils]: 56: Hoare triple {12104#(<= ~N~0 (+ main_~i~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12084#true} is VALID [2018-11-23 12:15:23,488 INFO L273 TraceCheckUtils]: 57: Hoare triple {12084#true} ~cond := #in~cond; {12084#true} is VALID [2018-11-23 12:15:23,488 INFO L273 TraceCheckUtils]: 58: Hoare triple {12084#true} assume !(0 == ~cond); {12084#true} is VALID [2018-11-23 12:15:23,488 INFO L273 TraceCheckUtils]: 59: Hoare triple {12084#true} assume true; {12084#true} is VALID [2018-11-23 12:15:23,489 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {12084#true} {12104#(<= ~N~0 (+ main_~i~0 6))} #58#return; {12104#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:15:23,490 INFO L273 TraceCheckUtils]: 61: Hoare triple {12104#(<= ~N~0 (+ main_~i~0 6))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12105#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:15:23,490 INFO L273 TraceCheckUtils]: 62: Hoare triple {12105#(<= ~N~0 (+ main_~i~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12105#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:15:23,491 INFO L256 TraceCheckUtils]: 63: Hoare triple {12105#(<= ~N~0 (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12084#true} is VALID [2018-11-23 12:15:23,491 INFO L273 TraceCheckUtils]: 64: Hoare triple {12084#true} ~cond := #in~cond; {12084#true} is VALID [2018-11-23 12:15:23,491 INFO L273 TraceCheckUtils]: 65: Hoare triple {12084#true} assume !(0 == ~cond); {12084#true} is VALID [2018-11-23 12:15:23,491 INFO L273 TraceCheckUtils]: 66: Hoare triple {12084#true} assume true; {12084#true} is VALID [2018-11-23 12:15:23,492 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {12084#true} {12105#(<= ~N~0 (+ main_~i~0 5))} #58#return; {12105#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:15:23,494 INFO L273 TraceCheckUtils]: 68: Hoare triple {12105#(<= ~N~0 (+ main_~i~0 5))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12106#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:15:23,494 INFO L273 TraceCheckUtils]: 69: Hoare triple {12106#(<= ~N~0 (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12106#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:15:23,495 INFO L256 TraceCheckUtils]: 70: Hoare triple {12106#(<= ~N~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12084#true} is VALID [2018-11-23 12:15:23,495 INFO L273 TraceCheckUtils]: 71: Hoare triple {12084#true} ~cond := #in~cond; {12084#true} is VALID [2018-11-23 12:15:23,495 INFO L273 TraceCheckUtils]: 72: Hoare triple {12084#true} assume !(0 == ~cond); {12084#true} is VALID [2018-11-23 12:15:23,495 INFO L273 TraceCheckUtils]: 73: Hoare triple {12084#true} assume true; {12084#true} is VALID [2018-11-23 12:15:23,496 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {12084#true} {12106#(<= ~N~0 (+ main_~i~0 4))} #58#return; {12106#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:15:23,497 INFO L273 TraceCheckUtils]: 75: Hoare triple {12106#(<= ~N~0 (+ main_~i~0 4))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12107#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:15:23,497 INFO L273 TraceCheckUtils]: 76: Hoare triple {12107#(<= ~N~0 (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12107#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:15:23,497 INFO L256 TraceCheckUtils]: 77: Hoare triple {12107#(<= ~N~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12084#true} is VALID [2018-11-23 12:15:23,498 INFO L273 TraceCheckUtils]: 78: Hoare triple {12084#true} ~cond := #in~cond; {12084#true} is VALID [2018-11-23 12:15:23,498 INFO L273 TraceCheckUtils]: 79: Hoare triple {12084#true} assume !(0 == ~cond); {12084#true} is VALID [2018-11-23 12:15:23,498 INFO L273 TraceCheckUtils]: 80: Hoare triple {12084#true} assume true; {12084#true} is VALID [2018-11-23 12:15:23,499 INFO L268 TraceCheckUtils]: 81: Hoare quadruple {12084#true} {12107#(<= ~N~0 (+ main_~i~0 3))} #58#return; {12107#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:15:23,500 INFO L273 TraceCheckUtils]: 82: Hoare triple {12107#(<= ~N~0 (+ main_~i~0 3))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12108#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:15:23,500 INFO L273 TraceCheckUtils]: 83: Hoare triple {12108#(<= ~N~0 (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12108#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:15:23,500 INFO L256 TraceCheckUtils]: 84: Hoare triple {12108#(<= ~N~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12084#true} is VALID [2018-11-23 12:15:23,501 INFO L273 TraceCheckUtils]: 85: Hoare triple {12084#true} ~cond := #in~cond; {12084#true} is VALID [2018-11-23 12:15:23,501 INFO L273 TraceCheckUtils]: 86: Hoare triple {12084#true} assume !(0 == ~cond); {12084#true} is VALID [2018-11-23 12:15:23,501 INFO L273 TraceCheckUtils]: 87: Hoare triple {12084#true} assume true; {12084#true} is VALID [2018-11-23 12:15:23,502 INFO L268 TraceCheckUtils]: 88: Hoare quadruple {12084#true} {12108#(<= ~N~0 (+ main_~i~0 2))} #58#return; {12108#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:15:23,502 INFO L273 TraceCheckUtils]: 89: Hoare triple {12108#(<= ~N~0 (+ main_~i~0 2))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12109#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:15:23,503 INFO L273 TraceCheckUtils]: 90: Hoare triple {12109#(<= ~N~0 (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12109#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:15:23,503 INFO L256 TraceCheckUtils]: 91: Hoare triple {12109#(<= ~N~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12084#true} is VALID [2018-11-23 12:15:23,503 INFO L273 TraceCheckUtils]: 92: Hoare triple {12084#true} ~cond := #in~cond; {12084#true} is VALID [2018-11-23 12:15:23,504 INFO L273 TraceCheckUtils]: 93: Hoare triple {12084#true} assume !(0 == ~cond); {12084#true} is VALID [2018-11-23 12:15:23,504 INFO L273 TraceCheckUtils]: 94: Hoare triple {12084#true} assume true; {12084#true} is VALID [2018-11-23 12:15:23,504 INFO L268 TraceCheckUtils]: 95: Hoare quadruple {12084#true} {12109#(<= ~N~0 (+ main_~i~0 1))} #58#return; {12109#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:15:23,505 INFO L273 TraceCheckUtils]: 96: Hoare triple {12109#(<= ~N~0 (+ main_~i~0 1))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12110#(<= ~N~0 main_~i~0)} is VALID [2018-11-23 12:15:23,506 INFO L273 TraceCheckUtils]: 97: Hoare triple {12110#(<= ~N~0 main_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12085#false} is VALID [2018-11-23 12:15:23,506 INFO L256 TraceCheckUtils]: 98: Hoare triple {12085#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12085#false} is VALID [2018-11-23 12:15:23,506 INFO L273 TraceCheckUtils]: 99: Hoare triple {12085#false} ~cond := #in~cond; {12085#false} is VALID [2018-11-23 12:15:23,506 INFO L273 TraceCheckUtils]: 100: Hoare triple {12085#false} assume 0 == ~cond; {12085#false} is VALID [2018-11-23 12:15:23,507 INFO L273 TraceCheckUtils]: 101: Hoare triple {12085#false} assume !false; {12085#false} is VALID [2018-11-23 12:15:23,514 INFO L134 CoverageAnalysis]: Checked inductivity of 495 backedges. 178 proven. 97 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2018-11-23 12:15:23,514 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:23,514 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 22 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 22 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:23,523 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:15:23,585 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:15:23,585 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:23,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:23,620 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:24,258 INFO L256 TraceCheckUtils]: 0: Hoare triple {12084#true} call ULTIMATE.init(); {12084#true} is VALID [2018-11-23 12:15:24,258 INFO L273 TraceCheckUtils]: 1: Hoare triple {12084#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {12084#true} is VALID [2018-11-23 12:15:24,258 INFO L273 TraceCheckUtils]: 2: Hoare triple {12084#true} assume true; {12084#true} is VALID [2018-11-23 12:15:24,258 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12084#true} {12084#true} #54#return; {12084#true} is VALID [2018-11-23 12:15:24,259 INFO L256 TraceCheckUtils]: 4: Hoare triple {12084#true} call #t~ret2 := main(); {12084#true} is VALID [2018-11-23 12:15:24,259 INFO L273 TraceCheckUtils]: 5: Hoare triple {12084#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {12084#true} is VALID [2018-11-23 12:15:24,260 INFO L273 TraceCheckUtils]: 6: Hoare triple {12084#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {12132#(<= main_~i~0 0)} is VALID [2018-11-23 12:15:24,260 INFO L273 TraceCheckUtils]: 7: Hoare triple {12132#(<= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12087#(<= main_~i~0 1)} is VALID [2018-11-23 12:15:24,261 INFO L273 TraceCheckUtils]: 8: Hoare triple {12087#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12088#(<= main_~i~0 2)} is VALID [2018-11-23 12:15:24,261 INFO L273 TraceCheckUtils]: 9: Hoare triple {12088#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12089#(<= main_~i~0 3)} is VALID [2018-11-23 12:15:24,262 INFO L273 TraceCheckUtils]: 10: Hoare triple {12089#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12090#(<= main_~i~0 4)} is VALID [2018-11-23 12:15:24,263 INFO L273 TraceCheckUtils]: 11: Hoare triple {12090#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12091#(<= main_~i~0 5)} is VALID [2018-11-23 12:15:24,264 INFO L273 TraceCheckUtils]: 12: Hoare triple {12091#(<= main_~i~0 5)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12092#(<= main_~i~0 6)} is VALID [2018-11-23 12:15:24,265 INFO L273 TraceCheckUtils]: 13: Hoare triple {12092#(<= main_~i~0 6)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12093#(<= main_~i~0 7)} is VALID [2018-11-23 12:15:24,266 INFO L273 TraceCheckUtils]: 14: Hoare triple {12093#(<= main_~i~0 7)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12094#(<= main_~i~0 8)} is VALID [2018-11-23 12:15:24,267 INFO L273 TraceCheckUtils]: 15: Hoare triple {12094#(<= main_~i~0 8)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12095#(<= main_~i~0 9)} is VALID [2018-11-23 12:15:24,268 INFO L273 TraceCheckUtils]: 16: Hoare triple {12095#(<= main_~i~0 9)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12096#(<= main_~i~0 10)} is VALID [2018-11-23 12:15:24,269 INFO L273 TraceCheckUtils]: 17: Hoare triple {12096#(<= main_~i~0 10)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {12097#(<= main_~i~0 11)} is VALID [2018-11-23 12:15:24,270 INFO L273 TraceCheckUtils]: 18: Hoare triple {12097#(<= main_~i~0 11)} assume !(~i~0 < ~N~0); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,271 INFO L273 TraceCheckUtils]: 19: Hoare triple {12098#(<= ~N~0 11)} ~i~0 := 0; {12172#(and (<= 0 main_~i~0) (<= ~N~0 11))} is VALID [2018-11-23 12:15:24,271 INFO L273 TraceCheckUtils]: 20: Hoare triple {12172#(and (<= 0 main_~i~0) (<= ~N~0 11))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12172#(and (<= 0 main_~i~0) (<= ~N~0 11))} is VALID [2018-11-23 12:15:24,272 INFO L256 TraceCheckUtils]: 21: Hoare triple {12172#(and (<= 0 main_~i~0) (<= ~N~0 11))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,273 INFO L273 TraceCheckUtils]: 22: Hoare triple {12098#(<= ~N~0 11)} ~cond := #in~cond; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,273 INFO L273 TraceCheckUtils]: 23: Hoare triple {12098#(<= ~N~0 11)} assume !(0 == ~cond); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,274 INFO L273 TraceCheckUtils]: 24: Hoare triple {12098#(<= ~N~0 11)} assume true; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,274 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {12098#(<= ~N~0 11)} {12172#(and (<= 0 main_~i~0) (<= ~N~0 11))} #58#return; {12172#(and (<= 0 main_~i~0) (<= ~N~0 11))} is VALID [2018-11-23 12:15:24,275 INFO L273 TraceCheckUtils]: 26: Hoare triple {12172#(and (<= 0 main_~i~0) (<= ~N~0 11))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12194#(and (<= 1 main_~i~0) (<= ~N~0 11))} is VALID [2018-11-23 12:15:24,276 INFO L273 TraceCheckUtils]: 27: Hoare triple {12194#(and (<= 1 main_~i~0) (<= ~N~0 11))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12194#(and (<= 1 main_~i~0) (<= ~N~0 11))} is VALID [2018-11-23 12:15:24,277 INFO L256 TraceCheckUtils]: 28: Hoare triple {12194#(and (<= 1 main_~i~0) (<= ~N~0 11))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,277 INFO L273 TraceCheckUtils]: 29: Hoare triple {12098#(<= ~N~0 11)} ~cond := #in~cond; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,278 INFO L273 TraceCheckUtils]: 30: Hoare triple {12098#(<= ~N~0 11)} assume !(0 == ~cond); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,278 INFO L273 TraceCheckUtils]: 31: Hoare triple {12098#(<= ~N~0 11)} assume true; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,279 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {12098#(<= ~N~0 11)} {12194#(and (<= 1 main_~i~0) (<= ~N~0 11))} #58#return; {12194#(and (<= 1 main_~i~0) (<= ~N~0 11))} is VALID [2018-11-23 12:15:24,280 INFO L273 TraceCheckUtils]: 33: Hoare triple {12194#(and (<= 1 main_~i~0) (<= ~N~0 11))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12216#(and (<= 2 main_~i~0) (<= ~N~0 11))} is VALID [2018-11-23 12:15:24,281 INFO L273 TraceCheckUtils]: 34: Hoare triple {12216#(and (<= 2 main_~i~0) (<= ~N~0 11))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12216#(and (<= 2 main_~i~0) (<= ~N~0 11))} is VALID [2018-11-23 12:15:24,282 INFO L256 TraceCheckUtils]: 35: Hoare triple {12216#(and (<= 2 main_~i~0) (<= ~N~0 11))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,282 INFO L273 TraceCheckUtils]: 36: Hoare triple {12098#(<= ~N~0 11)} ~cond := #in~cond; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,283 INFO L273 TraceCheckUtils]: 37: Hoare triple {12098#(<= ~N~0 11)} assume !(0 == ~cond); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,283 INFO L273 TraceCheckUtils]: 38: Hoare triple {12098#(<= ~N~0 11)} assume true; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,284 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {12098#(<= ~N~0 11)} {12216#(and (<= 2 main_~i~0) (<= ~N~0 11))} #58#return; {12216#(and (<= 2 main_~i~0) (<= ~N~0 11))} is VALID [2018-11-23 12:15:24,285 INFO L273 TraceCheckUtils]: 40: Hoare triple {12216#(and (<= 2 main_~i~0) (<= ~N~0 11))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12238#(and (<= ~N~0 11) (<= 3 main_~i~0))} is VALID [2018-11-23 12:15:24,285 INFO L273 TraceCheckUtils]: 41: Hoare triple {12238#(and (<= ~N~0 11) (<= 3 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12238#(and (<= ~N~0 11) (<= 3 main_~i~0))} is VALID [2018-11-23 12:15:24,286 INFO L256 TraceCheckUtils]: 42: Hoare triple {12238#(and (<= ~N~0 11) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,287 INFO L273 TraceCheckUtils]: 43: Hoare triple {12098#(<= ~N~0 11)} ~cond := #in~cond; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,287 INFO L273 TraceCheckUtils]: 44: Hoare triple {12098#(<= ~N~0 11)} assume !(0 == ~cond); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,288 INFO L273 TraceCheckUtils]: 45: Hoare triple {12098#(<= ~N~0 11)} assume true; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,289 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {12098#(<= ~N~0 11)} {12238#(and (<= ~N~0 11) (<= 3 main_~i~0))} #58#return; {12238#(and (<= ~N~0 11) (<= 3 main_~i~0))} is VALID [2018-11-23 12:15:24,289 INFO L273 TraceCheckUtils]: 47: Hoare triple {12238#(and (<= ~N~0 11) (<= 3 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12260#(and (<= ~N~0 11) (<= 4 main_~i~0))} is VALID [2018-11-23 12:15:24,290 INFO L273 TraceCheckUtils]: 48: Hoare triple {12260#(and (<= ~N~0 11) (<= 4 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12260#(and (<= ~N~0 11) (<= 4 main_~i~0))} is VALID [2018-11-23 12:15:24,291 INFO L256 TraceCheckUtils]: 49: Hoare triple {12260#(and (<= ~N~0 11) (<= 4 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,291 INFO L273 TraceCheckUtils]: 50: Hoare triple {12098#(<= ~N~0 11)} ~cond := #in~cond; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,292 INFO L273 TraceCheckUtils]: 51: Hoare triple {12098#(<= ~N~0 11)} assume !(0 == ~cond); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,292 INFO L273 TraceCheckUtils]: 52: Hoare triple {12098#(<= ~N~0 11)} assume true; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,293 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {12098#(<= ~N~0 11)} {12260#(and (<= ~N~0 11) (<= 4 main_~i~0))} #58#return; {12260#(and (<= ~N~0 11) (<= 4 main_~i~0))} is VALID [2018-11-23 12:15:24,294 INFO L273 TraceCheckUtils]: 54: Hoare triple {12260#(and (<= ~N~0 11) (<= 4 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12282#(and (<= ~N~0 11) (<= 5 main_~i~0))} is VALID [2018-11-23 12:15:24,295 INFO L273 TraceCheckUtils]: 55: Hoare triple {12282#(and (<= ~N~0 11) (<= 5 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12282#(and (<= ~N~0 11) (<= 5 main_~i~0))} is VALID [2018-11-23 12:15:24,296 INFO L256 TraceCheckUtils]: 56: Hoare triple {12282#(and (<= ~N~0 11) (<= 5 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,296 INFO L273 TraceCheckUtils]: 57: Hoare triple {12098#(<= ~N~0 11)} ~cond := #in~cond; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,297 INFO L273 TraceCheckUtils]: 58: Hoare triple {12098#(<= ~N~0 11)} assume !(0 == ~cond); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,297 INFO L273 TraceCheckUtils]: 59: Hoare triple {12098#(<= ~N~0 11)} assume true; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,298 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {12098#(<= ~N~0 11)} {12282#(and (<= ~N~0 11) (<= 5 main_~i~0))} #58#return; {12282#(and (<= ~N~0 11) (<= 5 main_~i~0))} is VALID [2018-11-23 12:15:24,299 INFO L273 TraceCheckUtils]: 61: Hoare triple {12282#(and (<= ~N~0 11) (<= 5 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12304#(and (<= ~N~0 11) (<= 6 main_~i~0))} is VALID [2018-11-23 12:15:24,299 INFO L273 TraceCheckUtils]: 62: Hoare triple {12304#(and (<= ~N~0 11) (<= 6 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12304#(and (<= ~N~0 11) (<= 6 main_~i~0))} is VALID [2018-11-23 12:15:24,300 INFO L256 TraceCheckUtils]: 63: Hoare triple {12304#(and (<= ~N~0 11) (<= 6 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,301 INFO L273 TraceCheckUtils]: 64: Hoare triple {12098#(<= ~N~0 11)} ~cond := #in~cond; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,301 INFO L273 TraceCheckUtils]: 65: Hoare triple {12098#(<= ~N~0 11)} assume !(0 == ~cond); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,302 INFO L273 TraceCheckUtils]: 66: Hoare triple {12098#(<= ~N~0 11)} assume true; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,303 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {12098#(<= ~N~0 11)} {12304#(and (<= ~N~0 11) (<= 6 main_~i~0))} #58#return; {12304#(and (<= ~N~0 11) (<= 6 main_~i~0))} is VALID [2018-11-23 12:15:24,303 INFO L273 TraceCheckUtils]: 68: Hoare triple {12304#(and (<= ~N~0 11) (<= 6 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12326#(and (<= ~N~0 11) (<= 7 main_~i~0))} is VALID [2018-11-23 12:15:24,304 INFO L273 TraceCheckUtils]: 69: Hoare triple {12326#(and (<= ~N~0 11) (<= 7 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12326#(and (<= ~N~0 11) (<= 7 main_~i~0))} is VALID [2018-11-23 12:15:24,305 INFO L256 TraceCheckUtils]: 70: Hoare triple {12326#(and (<= ~N~0 11) (<= 7 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,305 INFO L273 TraceCheckUtils]: 71: Hoare triple {12098#(<= ~N~0 11)} ~cond := #in~cond; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,306 INFO L273 TraceCheckUtils]: 72: Hoare triple {12098#(<= ~N~0 11)} assume !(0 == ~cond); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,306 INFO L273 TraceCheckUtils]: 73: Hoare triple {12098#(<= ~N~0 11)} assume true; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,307 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {12098#(<= ~N~0 11)} {12326#(and (<= ~N~0 11) (<= 7 main_~i~0))} #58#return; {12326#(and (<= ~N~0 11) (<= 7 main_~i~0))} is VALID [2018-11-23 12:15:24,308 INFO L273 TraceCheckUtils]: 75: Hoare triple {12326#(and (<= ~N~0 11) (<= 7 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12348#(and (<= ~N~0 11) (<= 8 main_~i~0))} is VALID [2018-11-23 12:15:24,309 INFO L273 TraceCheckUtils]: 76: Hoare triple {12348#(and (<= ~N~0 11) (<= 8 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12348#(and (<= ~N~0 11) (<= 8 main_~i~0))} is VALID [2018-11-23 12:15:24,310 INFO L256 TraceCheckUtils]: 77: Hoare triple {12348#(and (<= ~N~0 11) (<= 8 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,310 INFO L273 TraceCheckUtils]: 78: Hoare triple {12098#(<= ~N~0 11)} ~cond := #in~cond; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,311 INFO L273 TraceCheckUtils]: 79: Hoare triple {12098#(<= ~N~0 11)} assume !(0 == ~cond); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,311 INFO L273 TraceCheckUtils]: 80: Hoare triple {12098#(<= ~N~0 11)} assume true; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,312 INFO L268 TraceCheckUtils]: 81: Hoare quadruple {12098#(<= ~N~0 11)} {12348#(and (<= ~N~0 11) (<= 8 main_~i~0))} #58#return; {12348#(and (<= ~N~0 11) (<= 8 main_~i~0))} is VALID [2018-11-23 12:15:24,313 INFO L273 TraceCheckUtils]: 82: Hoare triple {12348#(and (<= ~N~0 11) (<= 8 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12370#(and (<= ~N~0 11) (<= 9 main_~i~0))} is VALID [2018-11-23 12:15:24,313 INFO L273 TraceCheckUtils]: 83: Hoare triple {12370#(and (<= ~N~0 11) (<= 9 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12370#(and (<= ~N~0 11) (<= 9 main_~i~0))} is VALID [2018-11-23 12:15:24,314 INFO L256 TraceCheckUtils]: 84: Hoare triple {12370#(and (<= ~N~0 11) (<= 9 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,315 INFO L273 TraceCheckUtils]: 85: Hoare triple {12098#(<= ~N~0 11)} ~cond := #in~cond; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,315 INFO L273 TraceCheckUtils]: 86: Hoare triple {12098#(<= ~N~0 11)} assume !(0 == ~cond); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,316 INFO L273 TraceCheckUtils]: 87: Hoare triple {12098#(<= ~N~0 11)} assume true; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,317 INFO L268 TraceCheckUtils]: 88: Hoare quadruple {12098#(<= ~N~0 11)} {12370#(and (<= ~N~0 11) (<= 9 main_~i~0))} #58#return; {12370#(and (<= ~N~0 11) (<= 9 main_~i~0))} is VALID [2018-11-23 12:15:24,317 INFO L273 TraceCheckUtils]: 89: Hoare triple {12370#(and (<= ~N~0 11) (<= 9 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12392#(and (<= ~N~0 11) (<= 10 main_~i~0))} is VALID [2018-11-23 12:15:24,318 INFO L273 TraceCheckUtils]: 90: Hoare triple {12392#(and (<= ~N~0 11) (<= 10 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12392#(and (<= ~N~0 11) (<= 10 main_~i~0))} is VALID [2018-11-23 12:15:24,319 INFO L256 TraceCheckUtils]: 91: Hoare triple {12392#(and (<= ~N~0 11) (<= 10 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,320 INFO L273 TraceCheckUtils]: 92: Hoare triple {12098#(<= ~N~0 11)} ~cond := #in~cond; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,320 INFO L273 TraceCheckUtils]: 93: Hoare triple {12098#(<= ~N~0 11)} assume !(0 == ~cond); {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,321 INFO L273 TraceCheckUtils]: 94: Hoare triple {12098#(<= ~N~0 11)} assume true; {12098#(<= ~N~0 11)} is VALID [2018-11-23 12:15:24,321 INFO L268 TraceCheckUtils]: 95: Hoare quadruple {12098#(<= ~N~0 11)} {12392#(and (<= ~N~0 11) (<= 10 main_~i~0))} #58#return; {12392#(and (<= ~N~0 11) (<= 10 main_~i~0))} is VALID [2018-11-23 12:15:24,322 INFO L273 TraceCheckUtils]: 96: Hoare triple {12392#(and (<= ~N~0 11) (<= 10 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {12414#(and (<= ~N~0 11) (<= 11 main_~i~0))} is VALID [2018-11-23 12:15:24,323 INFO L273 TraceCheckUtils]: 97: Hoare triple {12414#(and (<= ~N~0 11) (<= 11 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {12085#false} is VALID [2018-11-23 12:15:24,323 INFO L256 TraceCheckUtils]: 98: Hoare triple {12085#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {12085#false} is VALID [2018-11-23 12:15:24,323 INFO L273 TraceCheckUtils]: 99: Hoare triple {12085#false} ~cond := #in~cond; {12085#false} is VALID [2018-11-23 12:15:24,324 INFO L273 TraceCheckUtils]: 100: Hoare triple {12085#false} assume 0 == ~cond; {12085#false} is VALID [2018-11-23 12:15:24,324 INFO L273 TraceCheckUtils]: 101: Hoare triple {12085#false} assume !false; {12085#false} is VALID [2018-11-23 12:15:24,334 INFO L134 CoverageAnalysis]: Checked inductivity of 495 backedges. 209 proven. 66 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2018-11-23 12:15:24,353 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:24,353 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 27] total 40 [2018-11-23 12:15:24,354 INFO L78 Accepts]: Start accepts. Automaton has 40 states. Word has length 102 [2018-11-23 12:15:24,354 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:24,354 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 40 states. [2018-11-23 12:15:24,486 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:24,486 INFO L459 AbstractCegarLoop]: Interpolant automaton has 40 states [2018-11-23 12:15:24,487 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 40 interpolants. [2018-11-23 12:15:24,487 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=369, Invalid=1191, Unknown=0, NotChecked=0, Total=1560 [2018-11-23 12:15:24,487 INFO L87 Difference]: Start difference. First operand 105 states and 106 transitions. Second operand 40 states. [2018-11-23 12:15:27,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:27,478 INFO L93 Difference]: Finished difference Result 198 states and 201 transitions. [2018-11-23 12:15:27,479 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2018-11-23 12:15:27,479 INFO L78 Accepts]: Start accepts. Automaton has 40 states. Word has length 102 [2018-11-23 12:15:27,479 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:27,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2018-11-23 12:15:27,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 138 transitions. [2018-11-23 12:15:27,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2018-11-23 12:15:27,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 138 transitions. [2018-11-23 12:15:27,484 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states and 138 transitions. [2018-11-23 12:15:27,610 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:27,612 INFO L225 Difference]: With dead ends: 198 [2018-11-23 12:15:27,612 INFO L226 Difference]: Without dead ends: 110 [2018-11-23 12:15:27,613 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 140 GetRequests, 90 SyntacticMatches, 0 SemanticMatches, 50 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 630 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=627, Invalid=2025, Unknown=0, NotChecked=0, Total=2652 [2018-11-23 12:15:27,614 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2018-11-23 12:15:28,364 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 106. [2018-11-23 12:15:28,364 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:28,364 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand 106 states. [2018-11-23 12:15:28,364 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand 106 states. [2018-11-23 12:15:28,364 INFO L87 Difference]: Start difference. First operand 110 states. Second operand 106 states. [2018-11-23 12:15:28,366 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:28,366 INFO L93 Difference]: Finished difference Result 110 states and 112 transitions. [2018-11-23 12:15:28,366 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 112 transitions. [2018-11-23 12:15:28,367 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:28,367 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:28,367 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand 110 states. [2018-11-23 12:15:28,367 INFO L87 Difference]: Start difference. First operand 106 states. Second operand 110 states. [2018-11-23 12:15:28,369 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:28,369 INFO L93 Difference]: Finished difference Result 110 states and 112 transitions. [2018-11-23 12:15:28,369 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 112 transitions. [2018-11-23 12:15:28,370 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:28,370 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:28,370 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:28,370 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:28,370 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 106 states. [2018-11-23 12:15:28,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 107 transitions. [2018-11-23 12:15:28,372 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 107 transitions. Word has length 102 [2018-11-23 12:15:28,372 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:28,372 INFO L480 AbstractCegarLoop]: Abstraction has 106 states and 107 transitions. [2018-11-23 12:15:28,372 INFO L481 AbstractCegarLoop]: Interpolant automaton has 40 states. [2018-11-23 12:15:28,372 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 107 transitions. [2018-11-23 12:15:28,373 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 104 [2018-11-23 12:15:28,373 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:28,374 INFO L402 BasicCegarLoop]: trace histogram [12, 12, 12, 12, 11, 11, 11, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:15:28,374 INFO L423 AbstractCegarLoop]: === Iteration 24 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:28,374 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:28,374 INFO L82 PathProgramCache]: Analyzing trace with hash 40030361, now seen corresponding path program 21 times [2018-11-23 12:15:28,374 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:28,374 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:28,375 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:28,375 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:28,375 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:28,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:29,348 INFO L256 TraceCheckUtils]: 0: Hoare triple {13122#true} call ULTIMATE.init(); {13122#true} is VALID [2018-11-23 12:15:29,348 INFO L273 TraceCheckUtils]: 1: Hoare triple {13122#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {13122#true} is VALID [2018-11-23 12:15:29,348 INFO L273 TraceCheckUtils]: 2: Hoare triple {13122#true} assume true; {13122#true} is VALID [2018-11-23 12:15:29,348 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {13122#true} {13122#true} #54#return; {13122#true} is VALID [2018-11-23 12:15:29,349 INFO L256 TraceCheckUtils]: 4: Hoare triple {13122#true} call #t~ret2 := main(); {13122#true} is VALID [2018-11-23 12:15:29,349 INFO L273 TraceCheckUtils]: 5: Hoare triple {13122#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {13122#true} is VALID [2018-11-23 12:15:29,349 INFO L273 TraceCheckUtils]: 6: Hoare triple {13122#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {13124#(= main_~k~0 0)} is VALID [2018-11-23 12:15:29,350 INFO L273 TraceCheckUtils]: 7: Hoare triple {13124#(= main_~k~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13125#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-23 12:15:29,351 INFO L273 TraceCheckUtils]: 8: Hoare triple {13125#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13126#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-23 12:15:29,351 INFO L273 TraceCheckUtils]: 9: Hoare triple {13126#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13127#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-23 12:15:29,352 INFO L273 TraceCheckUtils]: 10: Hoare triple {13127#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13128#(and (<= main_~k~0 4) (<= 4 main_~k~0))} is VALID [2018-11-23 12:15:29,353 INFO L273 TraceCheckUtils]: 11: Hoare triple {13128#(and (<= main_~k~0 4) (<= 4 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13129#(and (<= main_~k~0 5) (<= 5 main_~k~0))} is VALID [2018-11-23 12:15:29,354 INFO L273 TraceCheckUtils]: 12: Hoare triple {13129#(and (<= main_~k~0 5) (<= 5 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13130#(and (<= 6 main_~k~0) (<= main_~k~0 6))} is VALID [2018-11-23 12:15:29,355 INFO L273 TraceCheckUtils]: 13: Hoare triple {13130#(and (<= 6 main_~k~0) (<= main_~k~0 6))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13131#(and (<= main_~k~0 7) (<= 7 main_~k~0))} is VALID [2018-11-23 12:15:29,356 INFO L273 TraceCheckUtils]: 14: Hoare triple {13131#(and (<= main_~k~0 7) (<= 7 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13132#(and (<= main_~k~0 8) (<= 8 main_~k~0))} is VALID [2018-11-23 12:15:29,357 INFO L273 TraceCheckUtils]: 15: Hoare triple {13132#(and (<= main_~k~0 8) (<= 8 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13133#(and (<= 9 main_~k~0) (<= main_~k~0 9))} is VALID [2018-11-23 12:15:29,358 INFO L273 TraceCheckUtils]: 16: Hoare triple {13133#(and (<= 9 main_~k~0) (<= main_~k~0 9))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13134#(and (<= 10 main_~k~0) (<= main_~k~0 10))} is VALID [2018-11-23 12:15:29,359 INFO L273 TraceCheckUtils]: 17: Hoare triple {13134#(and (<= 10 main_~k~0) (<= main_~k~0 10))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13135#(and (<= 11 main_~k~0) (<= main_~k~0 11))} is VALID [2018-11-23 12:15:29,360 INFO L273 TraceCheckUtils]: 18: Hoare triple {13135#(and (<= 11 main_~k~0) (<= main_~k~0 11))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13136#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11)} is VALID [2018-11-23 12:15:29,361 INFO L273 TraceCheckUtils]: 19: Hoare triple {13136#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11)} assume !(~i~0 < ~N~0); {13136#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11)} is VALID [2018-11-23 12:15:29,361 INFO L273 TraceCheckUtils]: 20: Hoare triple {13136#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11)} ~i~0 := 0; {13137#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11) (= main_~i~0 0))} is VALID [2018-11-23 12:15:29,362 INFO L273 TraceCheckUtils]: 21: Hoare triple {13137#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13137#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11) (= main_~i~0 0))} is VALID [2018-11-23 12:15:29,362 INFO L256 TraceCheckUtils]: 22: Hoare triple {13137#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13122#true} is VALID [2018-11-23 12:15:29,363 INFO L273 TraceCheckUtils]: 23: Hoare triple {13122#true} ~cond := #in~cond; {13138#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:15:29,364 INFO L273 TraceCheckUtils]: 24: Hoare triple {13138#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {13139#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:15:29,364 INFO L273 TraceCheckUtils]: 25: Hoare triple {13139#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13139#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:15:29,365 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {13139#(not (= |__VERIFIER_assert_#in~cond| 0))} {13137#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11) (= main_~i~0 0))} #58#return; {13137#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11) (= main_~i~0 0))} is VALID [2018-11-23 12:15:29,366 INFO L273 TraceCheckUtils]: 27: Hoare triple {13137#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13140#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 10))} is VALID [2018-11-23 12:15:29,367 INFO L273 TraceCheckUtils]: 28: Hoare triple {13140#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 10))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13140#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 10))} is VALID [2018-11-23 12:15:29,367 INFO L256 TraceCheckUtils]: 29: Hoare triple {13140#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 10))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13122#true} is VALID [2018-11-23 12:15:29,367 INFO L273 TraceCheckUtils]: 30: Hoare triple {13122#true} ~cond := #in~cond; {13122#true} is VALID [2018-11-23 12:15:29,368 INFO L273 TraceCheckUtils]: 31: Hoare triple {13122#true} assume !(0 == ~cond); {13122#true} is VALID [2018-11-23 12:15:29,368 INFO L273 TraceCheckUtils]: 32: Hoare triple {13122#true} assume true; {13122#true} is VALID [2018-11-23 12:15:29,369 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {13122#true} {13140#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 10))} #58#return; {13140#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 10))} is VALID [2018-11-23 12:15:29,370 INFO L273 TraceCheckUtils]: 34: Hoare triple {13140#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 10))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13141#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} is VALID [2018-11-23 12:15:29,371 INFO L273 TraceCheckUtils]: 35: Hoare triple {13141#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13141#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} is VALID [2018-11-23 12:15:29,371 INFO L256 TraceCheckUtils]: 36: Hoare triple {13141#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13122#true} is VALID [2018-11-23 12:15:29,371 INFO L273 TraceCheckUtils]: 37: Hoare triple {13122#true} ~cond := #in~cond; {13122#true} is VALID [2018-11-23 12:15:29,371 INFO L273 TraceCheckUtils]: 38: Hoare triple {13122#true} assume !(0 == ~cond); {13122#true} is VALID [2018-11-23 12:15:29,371 INFO L273 TraceCheckUtils]: 39: Hoare triple {13122#true} assume true; {13122#true} is VALID [2018-11-23 12:15:29,372 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {13122#true} {13141#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} #58#return; {13141#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} is VALID [2018-11-23 12:15:29,374 INFO L273 TraceCheckUtils]: 41: Hoare triple {13141#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13142#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} is VALID [2018-11-23 12:15:29,374 INFO L273 TraceCheckUtils]: 42: Hoare triple {13142#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13142#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} is VALID [2018-11-23 12:15:29,375 INFO L256 TraceCheckUtils]: 43: Hoare triple {13142#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13122#true} is VALID [2018-11-23 12:15:29,375 INFO L273 TraceCheckUtils]: 44: Hoare triple {13122#true} ~cond := #in~cond; {13122#true} is VALID [2018-11-23 12:15:29,375 INFO L273 TraceCheckUtils]: 45: Hoare triple {13122#true} assume !(0 == ~cond); {13122#true} is VALID [2018-11-23 12:15:29,375 INFO L273 TraceCheckUtils]: 46: Hoare triple {13122#true} assume true; {13122#true} is VALID [2018-11-23 12:15:29,376 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {13122#true} {13142#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} #58#return; {13142#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} is VALID [2018-11-23 12:15:29,377 INFO L273 TraceCheckUtils]: 48: Hoare triple {13142#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13143#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} is VALID [2018-11-23 12:15:29,378 INFO L273 TraceCheckUtils]: 49: Hoare triple {13143#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13143#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} is VALID [2018-11-23 12:15:29,378 INFO L256 TraceCheckUtils]: 50: Hoare triple {13143#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13122#true} is VALID [2018-11-23 12:15:29,378 INFO L273 TraceCheckUtils]: 51: Hoare triple {13122#true} ~cond := #in~cond; {13122#true} is VALID [2018-11-23 12:15:29,379 INFO L273 TraceCheckUtils]: 52: Hoare triple {13122#true} assume !(0 == ~cond); {13122#true} is VALID [2018-11-23 12:15:29,379 INFO L273 TraceCheckUtils]: 53: Hoare triple {13122#true} assume true; {13122#true} is VALID [2018-11-23 12:15:29,380 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {13122#true} {13143#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} #58#return; {13143#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} is VALID [2018-11-23 12:15:29,381 INFO L273 TraceCheckUtils]: 55: Hoare triple {13143#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13144#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} is VALID [2018-11-23 12:15:29,382 INFO L273 TraceCheckUtils]: 56: Hoare triple {13144#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13144#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} is VALID [2018-11-23 12:15:29,382 INFO L256 TraceCheckUtils]: 57: Hoare triple {13144#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13122#true} is VALID [2018-11-23 12:15:29,382 INFO L273 TraceCheckUtils]: 58: Hoare triple {13122#true} ~cond := #in~cond; {13122#true} is VALID [2018-11-23 12:15:29,382 INFO L273 TraceCheckUtils]: 59: Hoare triple {13122#true} assume !(0 == ~cond); {13122#true} is VALID [2018-11-23 12:15:29,382 INFO L273 TraceCheckUtils]: 60: Hoare triple {13122#true} assume true; {13122#true} is VALID [2018-11-23 12:15:29,383 INFO L268 TraceCheckUtils]: 61: Hoare quadruple {13122#true} {13144#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} #58#return; {13144#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} is VALID [2018-11-23 12:15:29,385 INFO L273 TraceCheckUtils]: 62: Hoare triple {13144#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13145#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-23 12:15:29,385 INFO L273 TraceCheckUtils]: 63: Hoare triple {13145#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13145#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-23 12:15:29,385 INFO L256 TraceCheckUtils]: 64: Hoare triple {13145#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13122#true} is VALID [2018-11-23 12:15:29,386 INFO L273 TraceCheckUtils]: 65: Hoare triple {13122#true} ~cond := #in~cond; {13122#true} is VALID [2018-11-23 12:15:29,386 INFO L273 TraceCheckUtils]: 66: Hoare triple {13122#true} assume !(0 == ~cond); {13122#true} is VALID [2018-11-23 12:15:29,386 INFO L273 TraceCheckUtils]: 67: Hoare triple {13122#true} assume true; {13122#true} is VALID [2018-11-23 12:15:29,387 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {13122#true} {13145#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} #58#return; {13145#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-23 12:15:29,394 INFO L273 TraceCheckUtils]: 69: Hoare triple {13145#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13146#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:15:29,395 INFO L273 TraceCheckUtils]: 70: Hoare triple {13146#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13146#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:15:29,395 INFO L256 TraceCheckUtils]: 71: Hoare triple {13146#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13122#true} is VALID [2018-11-23 12:15:29,395 INFO L273 TraceCheckUtils]: 72: Hoare triple {13122#true} ~cond := #in~cond; {13122#true} is VALID [2018-11-23 12:15:29,395 INFO L273 TraceCheckUtils]: 73: Hoare triple {13122#true} assume !(0 == ~cond); {13122#true} is VALID [2018-11-23 12:15:29,395 INFO L273 TraceCheckUtils]: 74: Hoare triple {13122#true} assume true; {13122#true} is VALID [2018-11-23 12:15:29,396 INFO L268 TraceCheckUtils]: 75: Hoare quadruple {13122#true} {13146#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} #58#return; {13146#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:15:29,397 INFO L273 TraceCheckUtils]: 76: Hoare triple {13146#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13147#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:15:29,397 INFO L273 TraceCheckUtils]: 77: Hoare triple {13147#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13147#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:15:29,397 INFO L256 TraceCheckUtils]: 78: Hoare triple {13147#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13122#true} is VALID [2018-11-23 12:15:29,397 INFO L273 TraceCheckUtils]: 79: Hoare triple {13122#true} ~cond := #in~cond; {13122#true} is VALID [2018-11-23 12:15:29,397 INFO L273 TraceCheckUtils]: 80: Hoare triple {13122#true} assume !(0 == ~cond); {13122#true} is VALID [2018-11-23 12:15:29,398 INFO L273 TraceCheckUtils]: 81: Hoare triple {13122#true} assume true; {13122#true} is VALID [2018-11-23 12:15:29,398 INFO L268 TraceCheckUtils]: 82: Hoare quadruple {13122#true} {13147#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} #58#return; {13147#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:15:29,399 INFO L273 TraceCheckUtils]: 83: Hoare triple {13147#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13148#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:15:29,400 INFO L273 TraceCheckUtils]: 84: Hoare triple {13148#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13148#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:15:29,400 INFO L256 TraceCheckUtils]: 85: Hoare triple {13148#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13122#true} is VALID [2018-11-23 12:15:29,401 INFO L273 TraceCheckUtils]: 86: Hoare triple {13122#true} ~cond := #in~cond; {13122#true} is VALID [2018-11-23 12:15:29,401 INFO L273 TraceCheckUtils]: 87: Hoare triple {13122#true} assume !(0 == ~cond); {13122#true} is VALID [2018-11-23 12:15:29,401 INFO L273 TraceCheckUtils]: 88: Hoare triple {13122#true} assume true; {13122#true} is VALID [2018-11-23 12:15:29,424 INFO L268 TraceCheckUtils]: 89: Hoare quadruple {13122#true} {13148#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} #58#return; {13148#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:15:29,425 INFO L273 TraceCheckUtils]: 90: Hoare triple {13148#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13149#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:15:29,426 INFO L273 TraceCheckUtils]: 91: Hoare triple {13149#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13149#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:15:29,426 INFO L256 TraceCheckUtils]: 92: Hoare triple {13149#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13122#true} is VALID [2018-11-23 12:15:29,426 INFO L273 TraceCheckUtils]: 93: Hoare triple {13122#true} ~cond := #in~cond; {13122#true} is VALID [2018-11-23 12:15:29,426 INFO L273 TraceCheckUtils]: 94: Hoare triple {13122#true} assume !(0 == ~cond); {13122#true} is VALID [2018-11-23 12:15:29,426 INFO L273 TraceCheckUtils]: 95: Hoare triple {13122#true} assume true; {13122#true} is VALID [2018-11-23 12:15:29,428 INFO L268 TraceCheckUtils]: 96: Hoare quadruple {13122#true} {13149#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} #58#return; {13149#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:15:29,428 INFO L273 TraceCheckUtils]: 97: Hoare triple {13149#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13150#(= 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:15:29,429 INFO L273 TraceCheckUtils]: 98: Hoare triple {13150#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13151#(= main_~i~0 |main_#t~mem1|)} is VALID [2018-11-23 12:15:29,430 INFO L256 TraceCheckUtils]: 99: Hoare triple {13151#(= main_~i~0 |main_#t~mem1|)} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13139#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:15:29,431 INFO L273 TraceCheckUtils]: 100: Hoare triple {13139#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {13152#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:15:29,431 INFO L273 TraceCheckUtils]: 101: Hoare triple {13152#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {13123#false} is VALID [2018-11-23 12:15:29,432 INFO L273 TraceCheckUtils]: 102: Hoare triple {13123#false} assume !false; {13123#false} is VALID [2018-11-23 12:15:29,446 INFO L134 CoverageAnalysis]: Checked inductivity of 507 backedges. 21 proven. 296 refuted. 0 times theorem prover too weak. 190 trivial. 0 not checked. [2018-11-23 12:15:29,447 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:29,447 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 23 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 23 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:29,456 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:15:29,741 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 12 check-sat command(s) [2018-11-23 12:15:29,742 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:29,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:29,765 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:29,844 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 12 [2018-11-23 12:15:29,851 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-23 12:15:29,855 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:15:29,859 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:15:29,872 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:15:29,872 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:22, output treesize:18 [2018-11-23 12:15:29,875 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:15:29,876 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_17|, v_main_~k~0_82]. (and (<= v_main_~k~0_82 11) (= |#memory_int| (store |v_#memory_int_17| |main_~#a~0.base| (store (select |v_#memory_int_17| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_82) |main_~#a~0.offset|) v_main_~k~0_82))) (<= 11 v_main_~k~0_82)) [2018-11-23 12:15:29,876 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_main_~k~0_82]. (and (<= v_main_~k~0_82 11) (= v_main_~k~0_82 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_82) |main_~#a~0.offset|))) (<= 11 v_main_~k~0_82)) [2018-11-23 12:15:32,395 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 23 treesize of output 19 [2018-11-23 12:15:32,401 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:15:32,402 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 15 [2018-11-23 12:15:32,403 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:15:32,407 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:15:32,412 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:15:32,412 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:26, output treesize:7 [2018-11-23 12:15:32,415 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:15:32,416 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, |main_~#a~0.offset|]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= |main_#t~mem1| (select .cse0 (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= main_~i~0 11) (= (select .cse0 (+ |main_~#a~0.offset| (* 4 11))) 11))) [2018-11-23 12:15:32,416 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 11) (= 11 |main_#t~mem1|)) [2018-11-23 12:15:32,534 INFO L256 TraceCheckUtils]: 0: Hoare triple {13122#true} call ULTIMATE.init(); {13122#true} is VALID [2018-11-23 12:15:32,535 INFO L273 TraceCheckUtils]: 1: Hoare triple {13122#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {13122#true} is VALID [2018-11-23 12:15:32,535 INFO L273 TraceCheckUtils]: 2: Hoare triple {13122#true} assume true; {13122#true} is VALID [2018-11-23 12:15:32,535 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {13122#true} {13122#true} #54#return; {13122#true} is VALID [2018-11-23 12:15:32,535 INFO L256 TraceCheckUtils]: 4: Hoare triple {13122#true} call #t~ret2 := main(); {13122#true} is VALID [2018-11-23 12:15:32,536 INFO L273 TraceCheckUtils]: 5: Hoare triple {13122#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {13122#true} is VALID [2018-11-23 12:15:32,536 INFO L273 TraceCheckUtils]: 6: Hoare triple {13122#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {13124#(= main_~k~0 0)} is VALID [2018-11-23 12:15:32,537 INFO L273 TraceCheckUtils]: 7: Hoare triple {13124#(= main_~k~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13125#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-23 12:15:32,538 INFO L273 TraceCheckUtils]: 8: Hoare triple {13125#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13126#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-23 12:15:32,538 INFO L273 TraceCheckUtils]: 9: Hoare triple {13126#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13127#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-23 12:15:32,539 INFO L273 TraceCheckUtils]: 10: Hoare triple {13127#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13128#(and (<= main_~k~0 4) (<= 4 main_~k~0))} is VALID [2018-11-23 12:15:32,540 INFO L273 TraceCheckUtils]: 11: Hoare triple {13128#(and (<= main_~k~0 4) (<= 4 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13129#(and (<= main_~k~0 5) (<= 5 main_~k~0))} is VALID [2018-11-23 12:15:32,541 INFO L273 TraceCheckUtils]: 12: Hoare triple {13129#(and (<= main_~k~0 5) (<= 5 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13130#(and (<= 6 main_~k~0) (<= main_~k~0 6))} is VALID [2018-11-23 12:15:32,542 INFO L273 TraceCheckUtils]: 13: Hoare triple {13130#(and (<= 6 main_~k~0) (<= main_~k~0 6))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13131#(and (<= main_~k~0 7) (<= 7 main_~k~0))} is VALID [2018-11-23 12:15:32,543 INFO L273 TraceCheckUtils]: 14: Hoare triple {13131#(and (<= main_~k~0 7) (<= 7 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13132#(and (<= main_~k~0 8) (<= 8 main_~k~0))} is VALID [2018-11-23 12:15:32,544 INFO L273 TraceCheckUtils]: 15: Hoare triple {13132#(and (<= main_~k~0 8) (<= 8 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13133#(and (<= 9 main_~k~0) (<= main_~k~0 9))} is VALID [2018-11-23 12:15:32,545 INFO L273 TraceCheckUtils]: 16: Hoare triple {13133#(and (<= 9 main_~k~0) (<= main_~k~0 9))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13134#(and (<= 10 main_~k~0) (<= main_~k~0 10))} is VALID [2018-11-23 12:15:32,547 INFO L273 TraceCheckUtils]: 17: Hoare triple {13134#(and (<= 10 main_~k~0) (<= main_~k~0 10))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13135#(and (<= 11 main_~k~0) (<= main_~k~0 11))} is VALID [2018-11-23 12:15:32,548 INFO L273 TraceCheckUtils]: 18: Hoare triple {13135#(and (<= 11 main_~k~0) (<= main_~k~0 11))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {13136#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11)} is VALID [2018-11-23 12:15:32,548 INFO L273 TraceCheckUtils]: 19: Hoare triple {13136#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11)} assume !(~i~0 < ~N~0); {13136#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11)} is VALID [2018-11-23 12:15:32,549 INFO L273 TraceCheckUtils]: 20: Hoare triple {13136#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11)} ~i~0 := 0; {13137#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11) (= main_~i~0 0))} is VALID [2018-11-23 12:15:32,550 INFO L273 TraceCheckUtils]: 21: Hoare triple {13137#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13137#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11) (= main_~i~0 0))} is VALID [2018-11-23 12:15:32,551 INFO L256 TraceCheckUtils]: 22: Hoare triple {13137#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,552 INFO L273 TraceCheckUtils]: 23: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} ~cond := #in~cond; {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,552 INFO L273 TraceCheckUtils]: 24: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} assume !(0 == ~cond); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,553 INFO L273 TraceCheckUtils]: 25: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} assume true; {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,554 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} {13137#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11) (= main_~i~0 0))} #58#return; {13137#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11) (= main_~i~0 0))} is VALID [2018-11-23 12:15:32,555 INFO L273 TraceCheckUtils]: 27: Hoare triple {13137#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13238#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,556 INFO L273 TraceCheckUtils]: 28: Hoare triple {13238#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13238#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,557 INFO L256 TraceCheckUtils]: 29: Hoare triple {13238#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,558 INFO L273 TraceCheckUtils]: 30: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} ~cond := #in~cond; {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,558 INFO L273 TraceCheckUtils]: 31: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} assume !(0 == ~cond); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,559 INFO L273 TraceCheckUtils]: 32: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} assume true; {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,560 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} {13238#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} #58#return; {13238#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,561 INFO L273 TraceCheckUtils]: 34: Hoare triple {13238#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13260#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,562 INFO L273 TraceCheckUtils]: 35: Hoare triple {13260#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13260#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,563 INFO L256 TraceCheckUtils]: 36: Hoare triple {13260#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,564 INFO L273 TraceCheckUtils]: 37: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} ~cond := #in~cond; {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,564 INFO L273 TraceCheckUtils]: 38: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} assume !(0 == ~cond); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,565 INFO L273 TraceCheckUtils]: 39: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} assume true; {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,566 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} {13260#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} #58#return; {13260#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,567 INFO L273 TraceCheckUtils]: 41: Hoare triple {13260#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13282#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,568 INFO L273 TraceCheckUtils]: 42: Hoare triple {13282#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13282#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,569 INFO L256 TraceCheckUtils]: 43: Hoare triple {13282#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,570 INFO L273 TraceCheckUtils]: 44: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} ~cond := #in~cond; {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,570 INFO L273 TraceCheckUtils]: 45: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} assume !(0 == ~cond); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,571 INFO L273 TraceCheckUtils]: 46: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} assume true; {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,572 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} {13282#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} #58#return; {13282#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,573 INFO L273 TraceCheckUtils]: 48: Hoare triple {13282#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13304#(and (= main_~i~0 4) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,573 INFO L273 TraceCheckUtils]: 49: Hoare triple {13304#(and (= main_~i~0 4) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13304#(and (= main_~i~0 4) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,575 INFO L256 TraceCheckUtils]: 50: Hoare triple {13304#(and (= main_~i~0 4) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,575 INFO L273 TraceCheckUtils]: 51: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} ~cond := #in~cond; {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,576 INFO L273 TraceCheckUtils]: 52: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} assume !(0 == ~cond); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,577 INFO L273 TraceCheckUtils]: 53: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} assume true; {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,577 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} {13304#(and (= main_~i~0 4) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} #58#return; {13304#(and (= main_~i~0 4) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,578 INFO L273 TraceCheckUtils]: 55: Hoare triple {13304#(and (= main_~i~0 4) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13326#(and (= main_~i~0 5) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,579 INFO L273 TraceCheckUtils]: 56: Hoare triple {13326#(and (= main_~i~0 5) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13326#(and (= main_~i~0 5) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,581 INFO L256 TraceCheckUtils]: 57: Hoare triple {13326#(and (= main_~i~0 5) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,581 INFO L273 TraceCheckUtils]: 58: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} ~cond := #in~cond; {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,582 INFO L273 TraceCheckUtils]: 59: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} assume !(0 == ~cond); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,582 INFO L273 TraceCheckUtils]: 60: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} assume true; {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,583 INFO L268 TraceCheckUtils]: 61: Hoare quadruple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} {13326#(and (= main_~i~0 5) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} #58#return; {13326#(and (= main_~i~0 5) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,584 INFO L273 TraceCheckUtils]: 62: Hoare triple {13326#(and (= main_~i~0 5) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13348#(and (= main_~i~0 6) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,585 INFO L273 TraceCheckUtils]: 63: Hoare triple {13348#(and (= main_~i~0 6) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13348#(and (= main_~i~0 6) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,586 INFO L256 TraceCheckUtils]: 64: Hoare triple {13348#(and (= main_~i~0 6) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,587 INFO L273 TraceCheckUtils]: 65: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} ~cond := #in~cond; {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,587 INFO L273 TraceCheckUtils]: 66: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} assume !(0 == ~cond); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,588 INFO L273 TraceCheckUtils]: 67: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} assume true; {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,589 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} {13348#(and (= main_~i~0 6) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} #58#return; {13348#(and (= main_~i~0 6) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,589 INFO L273 TraceCheckUtils]: 69: Hoare triple {13348#(and (= main_~i~0 6) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13370#(and (= main_~i~0 7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,590 INFO L273 TraceCheckUtils]: 70: Hoare triple {13370#(and (= main_~i~0 7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13370#(and (= main_~i~0 7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,592 INFO L256 TraceCheckUtils]: 71: Hoare triple {13370#(and (= main_~i~0 7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,592 INFO L273 TraceCheckUtils]: 72: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} ~cond := #in~cond; {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,593 INFO L273 TraceCheckUtils]: 73: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} assume !(0 == ~cond); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,593 INFO L273 TraceCheckUtils]: 74: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} assume true; {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,594 INFO L268 TraceCheckUtils]: 75: Hoare quadruple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} {13370#(and (= main_~i~0 7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} #58#return; {13370#(and (= main_~i~0 7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,595 INFO L273 TraceCheckUtils]: 76: Hoare triple {13370#(and (= main_~i~0 7) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13392#(and (= main_~i~0 8) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,596 INFO L273 TraceCheckUtils]: 77: Hoare triple {13392#(and (= main_~i~0 8) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13392#(and (= main_~i~0 8) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,597 INFO L256 TraceCheckUtils]: 78: Hoare triple {13392#(and (= main_~i~0 8) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,598 INFO L273 TraceCheckUtils]: 79: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} ~cond := #in~cond; {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,598 INFO L273 TraceCheckUtils]: 80: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} assume !(0 == ~cond); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,599 INFO L273 TraceCheckUtils]: 81: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} assume true; {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,600 INFO L268 TraceCheckUtils]: 82: Hoare quadruple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} {13392#(and (= main_~i~0 8) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} #58#return; {13392#(and (= main_~i~0 8) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,601 INFO L273 TraceCheckUtils]: 83: Hoare triple {13392#(and (= main_~i~0 8) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13414#(and (= main_~i~0 9) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,601 INFO L273 TraceCheckUtils]: 84: Hoare triple {13414#(and (= main_~i~0 9) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13414#(and (= main_~i~0 9) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,603 INFO L256 TraceCheckUtils]: 85: Hoare triple {13414#(and (= main_~i~0 9) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,603 INFO L273 TraceCheckUtils]: 86: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} ~cond := #in~cond; {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,604 INFO L273 TraceCheckUtils]: 87: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} assume !(0 == ~cond); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,604 INFO L273 TraceCheckUtils]: 88: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} assume true; {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,605 INFO L268 TraceCheckUtils]: 89: Hoare quadruple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} {13414#(and (= main_~i~0 9) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} #58#return; {13414#(and (= main_~i~0 9) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,606 INFO L273 TraceCheckUtils]: 90: Hoare triple {13414#(and (= main_~i~0 9) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13436#(and (= main_~i~0 10) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,607 INFO L273 TraceCheckUtils]: 91: Hoare triple {13436#(and (= main_~i~0 10) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13436#(and (= main_~i~0 10) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,608 INFO L256 TraceCheckUtils]: 92: Hoare triple {13436#(and (= main_~i~0 10) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} is VALID [2018-11-23 12:15:32,609 INFO L273 TraceCheckUtils]: 93: Hoare triple {13222#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44))))} ~cond := #in~cond; {13446#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:15:32,610 INFO L273 TraceCheckUtils]: 94: Hoare triple {13446#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {13450#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44)))))} is VALID [2018-11-23 12:15:32,611 INFO L273 TraceCheckUtils]: 95: Hoare triple {13450#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44)))))} assume true; {13450#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44)))))} is VALID [2018-11-23 12:15:32,612 INFO L268 TraceCheckUtils]: 96: Hoare quadruple {13450#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.offset_BEFORE_CALL_56| Int) (|v_main_~#a~0.base_BEFORE_CALL_56| Int)) (= 11 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_56|) (+ |v_main_~#a~0.offset_BEFORE_CALL_56| 44)))))} {13436#(and (= main_~i~0 10) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} #58#return; {13436#(and (= main_~i~0 10) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,612 INFO L273 TraceCheckUtils]: 97: Hoare triple {13436#(and (= main_~i~0 10) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} havoc #t~mem1;~i~0 := 1 + ~i~0; {13460#(and (= main_~i~0 11) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} is VALID [2018-11-23 12:15:32,613 INFO L273 TraceCheckUtils]: 98: Hoare triple {13460#(and (= main_~i~0 11) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 11))) 11))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {13464#(and (= main_~i~0 11) (= 11 |main_#t~mem1|))} is VALID [2018-11-23 12:15:32,614 INFO L256 TraceCheckUtils]: 99: Hoare triple {13464#(and (= main_~i~0 11) (= 11 |main_#t~mem1|))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {13468#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:15:32,615 INFO L273 TraceCheckUtils]: 100: Hoare triple {13468#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {13472#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:15:32,615 INFO L273 TraceCheckUtils]: 101: Hoare triple {13472#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13123#false} is VALID [2018-11-23 12:15:32,616 INFO L273 TraceCheckUtils]: 102: Hoare triple {13123#false} assume !false; {13123#false} is VALID [2018-11-23 12:15:32,641 INFO L134 CoverageAnalysis]: Checked inductivity of 507 backedges. 30 proven. 287 refuted. 0 times theorem prover too weak. 190 trivial. 0 not checked. [2018-11-23 12:15:32,660 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:32,661 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [31, 33] total 48 [2018-11-23 12:15:32,661 INFO L78 Accepts]: Start accepts. Automaton has 48 states. Word has length 103 [2018-11-23 12:15:32,662 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:32,662 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 48 states. [2018-11-23 12:15:32,810 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:32,811 INFO L459 AbstractCegarLoop]: Interpolant automaton has 48 states [2018-11-23 12:15:32,811 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 48 interpolants. [2018-11-23 12:15:32,811 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=136, Invalid=2120, Unknown=0, NotChecked=0, Total=2256 [2018-11-23 12:15:32,812 INFO L87 Difference]: Start difference. First operand 106 states and 107 transitions. Second operand 48 states. [2018-11-23 12:15:41,599 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:41,599 INFO L93 Difference]: Finished difference Result 116 states and 117 transitions. [2018-11-23 12:15:41,600 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 45 states. [2018-11-23 12:15:41,600 INFO L78 Accepts]: Start accepts. Automaton has 48 states. Word has length 103 [2018-11-23 12:15:41,600 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:41,601 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-11-23 12:15:41,602 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 84 transitions. [2018-11-23 12:15:41,602 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-11-23 12:15:41,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 84 transitions. [2018-11-23 12:15:41,604 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 45 states and 84 transitions. [2018-11-23 12:15:41,718 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:41,721 INFO L225 Difference]: With dead ends: 116 [2018-11-23 12:15:41,721 INFO L226 Difference]: Without dead ends: 114 [2018-11-23 12:15:41,721 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 65 SyntacticMatches, 24 SemanticMatches, 62 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 712 ImplicationChecksByTransitivity, 3.2s TimeCoverageRelationStatistics Valid=263, Invalid=3769, Unknown=0, NotChecked=0, Total=4032 [2018-11-23 12:15:41,721 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2018-11-23 12:15:42,326 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 113. [2018-11-23 12:15:42,326 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:42,327 INFO L82 GeneralOperation]: Start isEquivalent. First operand 114 states. Second operand 113 states. [2018-11-23 12:15:42,327 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand 113 states. [2018-11-23 12:15:42,327 INFO L87 Difference]: Start difference. First operand 114 states. Second operand 113 states. [2018-11-23 12:15:42,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:42,330 INFO L93 Difference]: Finished difference Result 114 states and 115 transitions. [2018-11-23 12:15:42,330 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 115 transitions. [2018-11-23 12:15:42,330 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:42,330 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:42,330 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand 114 states. [2018-11-23 12:15:42,331 INFO L87 Difference]: Start difference. First operand 113 states. Second operand 114 states. [2018-11-23 12:15:42,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:42,333 INFO L93 Difference]: Finished difference Result 114 states and 115 transitions. [2018-11-23 12:15:42,333 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 115 transitions. [2018-11-23 12:15:42,333 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:42,333 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:42,333 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:42,333 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:42,334 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 113 states. [2018-11-23 12:15:42,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 114 transitions. [2018-11-23 12:15:42,335 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 114 transitions. Word has length 103 [2018-11-23 12:15:42,336 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:42,336 INFO L480 AbstractCegarLoop]: Abstraction has 113 states and 114 transitions. [2018-11-23 12:15:42,336 INFO L481 AbstractCegarLoop]: Interpolant automaton has 48 states. [2018-11-23 12:15:42,336 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 114 transitions. [2018-11-23 12:15:42,337 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2018-11-23 12:15:42,337 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:42,337 INFO L402 BasicCegarLoop]: trace histogram [13, 13, 13, 12, 12, 12, 12, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:15:42,337 INFO L423 AbstractCegarLoop]: === Iteration 25 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:42,337 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:42,338 INFO L82 PathProgramCache]: Analyzing trace with hash 380164818, now seen corresponding path program 22 times [2018-11-23 12:15:42,338 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:42,338 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:42,338 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:42,339 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:42,339 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:42,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:42,804 INFO L256 TraceCheckUtils]: 0: Hoare triple {14079#true} call ULTIMATE.init(); {14079#true} is VALID [2018-11-23 12:15:42,805 INFO L273 TraceCheckUtils]: 1: Hoare triple {14079#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {14079#true} is VALID [2018-11-23 12:15:42,805 INFO L273 TraceCheckUtils]: 2: Hoare triple {14079#true} assume true; {14079#true} is VALID [2018-11-23 12:15:42,805 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14079#true} {14079#true} #54#return; {14079#true} is VALID [2018-11-23 12:15:42,806 INFO L256 TraceCheckUtils]: 4: Hoare triple {14079#true} call #t~ret2 := main(); {14079#true} is VALID [2018-11-23 12:15:42,806 INFO L273 TraceCheckUtils]: 5: Hoare triple {14079#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {14079#true} is VALID [2018-11-23 12:15:42,806 INFO L273 TraceCheckUtils]: 6: Hoare triple {14079#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {14081#(= main_~i~0 0)} is VALID [2018-11-23 12:15:42,807 INFO L273 TraceCheckUtils]: 7: Hoare triple {14081#(= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14082#(<= main_~i~0 1)} is VALID [2018-11-23 12:15:42,808 INFO L273 TraceCheckUtils]: 8: Hoare triple {14082#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14083#(<= main_~i~0 2)} is VALID [2018-11-23 12:15:42,809 INFO L273 TraceCheckUtils]: 9: Hoare triple {14083#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14084#(<= main_~i~0 3)} is VALID [2018-11-23 12:15:42,809 INFO L273 TraceCheckUtils]: 10: Hoare triple {14084#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14085#(<= main_~i~0 4)} is VALID [2018-11-23 12:15:42,810 INFO L273 TraceCheckUtils]: 11: Hoare triple {14085#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14086#(<= main_~i~0 5)} is VALID [2018-11-23 12:15:42,811 INFO L273 TraceCheckUtils]: 12: Hoare triple {14086#(<= main_~i~0 5)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14087#(<= main_~i~0 6)} is VALID [2018-11-23 12:15:42,812 INFO L273 TraceCheckUtils]: 13: Hoare triple {14087#(<= main_~i~0 6)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14088#(<= main_~i~0 7)} is VALID [2018-11-23 12:15:42,813 INFO L273 TraceCheckUtils]: 14: Hoare triple {14088#(<= main_~i~0 7)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14089#(<= main_~i~0 8)} is VALID [2018-11-23 12:15:42,814 INFO L273 TraceCheckUtils]: 15: Hoare triple {14089#(<= main_~i~0 8)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14090#(<= main_~i~0 9)} is VALID [2018-11-23 12:15:42,815 INFO L273 TraceCheckUtils]: 16: Hoare triple {14090#(<= main_~i~0 9)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14091#(<= main_~i~0 10)} is VALID [2018-11-23 12:15:42,816 INFO L273 TraceCheckUtils]: 17: Hoare triple {14091#(<= main_~i~0 10)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14092#(<= main_~i~0 11)} is VALID [2018-11-23 12:15:42,817 INFO L273 TraceCheckUtils]: 18: Hoare triple {14092#(<= main_~i~0 11)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14093#(<= main_~i~0 12)} is VALID [2018-11-23 12:15:42,818 INFO L273 TraceCheckUtils]: 19: Hoare triple {14093#(<= main_~i~0 12)} assume !(~i~0 < ~N~0); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:42,820 INFO L273 TraceCheckUtils]: 20: Hoare triple {14094#(<= ~N~0 12)} ~i~0 := 0; {14095#(and (<= ~N~0 12) (= main_~i~0 0))} is VALID [2018-11-23 12:15:42,821 INFO L273 TraceCheckUtils]: 21: Hoare triple {14095#(and (<= ~N~0 12) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14095#(and (<= ~N~0 12) (= main_~i~0 0))} is VALID [2018-11-23 12:15:42,821 INFO L256 TraceCheckUtils]: 22: Hoare triple {14095#(and (<= ~N~0 12) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14079#true} is VALID [2018-11-23 12:15:42,821 INFO L273 TraceCheckUtils]: 23: Hoare triple {14079#true} ~cond := #in~cond; {14079#true} is VALID [2018-11-23 12:15:42,822 INFO L273 TraceCheckUtils]: 24: Hoare triple {14079#true} assume !(0 == ~cond); {14079#true} is VALID [2018-11-23 12:15:42,822 INFO L273 TraceCheckUtils]: 25: Hoare triple {14079#true} assume true; {14079#true} is VALID [2018-11-23 12:15:42,824 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {14079#true} {14095#(and (<= ~N~0 12) (= main_~i~0 0))} #58#return; {14095#(and (<= ~N~0 12) (= main_~i~0 0))} is VALID [2018-11-23 12:15:42,825 INFO L273 TraceCheckUtils]: 27: Hoare triple {14095#(and (<= ~N~0 12) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14096#(<= ~N~0 (+ main_~i~0 11))} is VALID [2018-11-23 12:15:42,825 INFO L273 TraceCheckUtils]: 28: Hoare triple {14096#(<= ~N~0 (+ main_~i~0 11))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14096#(<= ~N~0 (+ main_~i~0 11))} is VALID [2018-11-23 12:15:42,825 INFO L256 TraceCheckUtils]: 29: Hoare triple {14096#(<= ~N~0 (+ main_~i~0 11))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14079#true} is VALID [2018-11-23 12:15:42,825 INFO L273 TraceCheckUtils]: 30: Hoare triple {14079#true} ~cond := #in~cond; {14079#true} is VALID [2018-11-23 12:15:42,826 INFO L273 TraceCheckUtils]: 31: Hoare triple {14079#true} assume !(0 == ~cond); {14079#true} is VALID [2018-11-23 12:15:42,826 INFO L273 TraceCheckUtils]: 32: Hoare triple {14079#true} assume true; {14079#true} is VALID [2018-11-23 12:15:42,826 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {14079#true} {14096#(<= ~N~0 (+ main_~i~0 11))} #58#return; {14096#(<= ~N~0 (+ main_~i~0 11))} is VALID [2018-11-23 12:15:42,827 INFO L273 TraceCheckUtils]: 34: Hoare triple {14096#(<= ~N~0 (+ main_~i~0 11))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14097#(<= ~N~0 (+ main_~i~0 10))} is VALID [2018-11-23 12:15:42,827 INFO L273 TraceCheckUtils]: 35: Hoare triple {14097#(<= ~N~0 (+ main_~i~0 10))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14097#(<= ~N~0 (+ main_~i~0 10))} is VALID [2018-11-23 12:15:42,827 INFO L256 TraceCheckUtils]: 36: Hoare triple {14097#(<= ~N~0 (+ main_~i~0 10))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14079#true} is VALID [2018-11-23 12:15:42,827 INFO L273 TraceCheckUtils]: 37: Hoare triple {14079#true} ~cond := #in~cond; {14079#true} is VALID [2018-11-23 12:15:42,827 INFO L273 TraceCheckUtils]: 38: Hoare triple {14079#true} assume !(0 == ~cond); {14079#true} is VALID [2018-11-23 12:15:42,828 INFO L273 TraceCheckUtils]: 39: Hoare triple {14079#true} assume true; {14079#true} is VALID [2018-11-23 12:15:42,828 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {14079#true} {14097#(<= ~N~0 (+ main_~i~0 10))} #58#return; {14097#(<= ~N~0 (+ main_~i~0 10))} is VALID [2018-11-23 12:15:42,829 INFO L273 TraceCheckUtils]: 41: Hoare triple {14097#(<= ~N~0 (+ main_~i~0 10))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14098#(<= ~N~0 (+ main_~i~0 9))} is VALID [2018-11-23 12:15:42,830 INFO L273 TraceCheckUtils]: 42: Hoare triple {14098#(<= ~N~0 (+ main_~i~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14098#(<= ~N~0 (+ main_~i~0 9))} is VALID [2018-11-23 12:15:42,830 INFO L256 TraceCheckUtils]: 43: Hoare triple {14098#(<= ~N~0 (+ main_~i~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14079#true} is VALID [2018-11-23 12:15:42,830 INFO L273 TraceCheckUtils]: 44: Hoare triple {14079#true} ~cond := #in~cond; {14079#true} is VALID [2018-11-23 12:15:42,830 INFO L273 TraceCheckUtils]: 45: Hoare triple {14079#true} assume !(0 == ~cond); {14079#true} is VALID [2018-11-23 12:15:42,831 INFO L273 TraceCheckUtils]: 46: Hoare triple {14079#true} assume true; {14079#true} is VALID [2018-11-23 12:15:42,831 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {14079#true} {14098#(<= ~N~0 (+ main_~i~0 9))} #58#return; {14098#(<= ~N~0 (+ main_~i~0 9))} is VALID [2018-11-23 12:15:42,832 INFO L273 TraceCheckUtils]: 48: Hoare triple {14098#(<= ~N~0 (+ main_~i~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14099#(<= ~N~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:15:42,833 INFO L273 TraceCheckUtils]: 49: Hoare triple {14099#(<= ~N~0 (+ main_~i~0 8))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14099#(<= ~N~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:15:42,833 INFO L256 TraceCheckUtils]: 50: Hoare triple {14099#(<= ~N~0 (+ main_~i~0 8))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14079#true} is VALID [2018-11-23 12:15:42,833 INFO L273 TraceCheckUtils]: 51: Hoare triple {14079#true} ~cond := #in~cond; {14079#true} is VALID [2018-11-23 12:15:42,833 INFO L273 TraceCheckUtils]: 52: Hoare triple {14079#true} assume !(0 == ~cond); {14079#true} is VALID [2018-11-23 12:15:42,834 INFO L273 TraceCheckUtils]: 53: Hoare triple {14079#true} assume true; {14079#true} is VALID [2018-11-23 12:15:42,834 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {14079#true} {14099#(<= ~N~0 (+ main_~i~0 8))} #58#return; {14099#(<= ~N~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:15:42,835 INFO L273 TraceCheckUtils]: 55: Hoare triple {14099#(<= ~N~0 (+ main_~i~0 8))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14100#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:15:42,836 INFO L273 TraceCheckUtils]: 56: Hoare triple {14100#(<= ~N~0 (+ main_~i~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14100#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:15:42,836 INFO L256 TraceCheckUtils]: 57: Hoare triple {14100#(<= ~N~0 (+ main_~i~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14079#true} is VALID [2018-11-23 12:15:42,836 INFO L273 TraceCheckUtils]: 58: Hoare triple {14079#true} ~cond := #in~cond; {14079#true} is VALID [2018-11-23 12:15:42,836 INFO L273 TraceCheckUtils]: 59: Hoare triple {14079#true} assume !(0 == ~cond); {14079#true} is VALID [2018-11-23 12:15:42,837 INFO L273 TraceCheckUtils]: 60: Hoare triple {14079#true} assume true; {14079#true} is VALID [2018-11-23 12:15:42,837 INFO L268 TraceCheckUtils]: 61: Hoare quadruple {14079#true} {14100#(<= ~N~0 (+ main_~i~0 7))} #58#return; {14100#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:15:42,838 INFO L273 TraceCheckUtils]: 62: Hoare triple {14100#(<= ~N~0 (+ main_~i~0 7))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14101#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:15:42,839 INFO L273 TraceCheckUtils]: 63: Hoare triple {14101#(<= ~N~0 (+ main_~i~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14101#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:15:42,839 INFO L256 TraceCheckUtils]: 64: Hoare triple {14101#(<= ~N~0 (+ main_~i~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14079#true} is VALID [2018-11-23 12:15:42,839 INFO L273 TraceCheckUtils]: 65: Hoare triple {14079#true} ~cond := #in~cond; {14079#true} is VALID [2018-11-23 12:15:42,839 INFO L273 TraceCheckUtils]: 66: Hoare triple {14079#true} assume !(0 == ~cond); {14079#true} is VALID [2018-11-23 12:15:42,840 INFO L273 TraceCheckUtils]: 67: Hoare triple {14079#true} assume true; {14079#true} is VALID [2018-11-23 12:15:42,841 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {14079#true} {14101#(<= ~N~0 (+ main_~i~0 6))} #58#return; {14101#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:15:42,841 INFO L273 TraceCheckUtils]: 69: Hoare triple {14101#(<= ~N~0 (+ main_~i~0 6))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14102#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:15:42,842 INFO L273 TraceCheckUtils]: 70: Hoare triple {14102#(<= ~N~0 (+ main_~i~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14102#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:15:42,842 INFO L256 TraceCheckUtils]: 71: Hoare triple {14102#(<= ~N~0 (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14079#true} is VALID [2018-11-23 12:15:42,842 INFO L273 TraceCheckUtils]: 72: Hoare triple {14079#true} ~cond := #in~cond; {14079#true} is VALID [2018-11-23 12:15:42,843 INFO L273 TraceCheckUtils]: 73: Hoare triple {14079#true} assume !(0 == ~cond); {14079#true} is VALID [2018-11-23 12:15:42,843 INFO L273 TraceCheckUtils]: 74: Hoare triple {14079#true} assume true; {14079#true} is VALID [2018-11-23 12:15:42,844 INFO L268 TraceCheckUtils]: 75: Hoare quadruple {14079#true} {14102#(<= ~N~0 (+ main_~i~0 5))} #58#return; {14102#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:15:42,844 INFO L273 TraceCheckUtils]: 76: Hoare triple {14102#(<= ~N~0 (+ main_~i~0 5))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14103#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:15:42,845 INFO L273 TraceCheckUtils]: 77: Hoare triple {14103#(<= ~N~0 (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14103#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:15:42,845 INFO L256 TraceCheckUtils]: 78: Hoare triple {14103#(<= ~N~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14079#true} is VALID [2018-11-23 12:15:42,845 INFO L273 TraceCheckUtils]: 79: Hoare triple {14079#true} ~cond := #in~cond; {14079#true} is VALID [2018-11-23 12:15:42,846 INFO L273 TraceCheckUtils]: 80: Hoare triple {14079#true} assume !(0 == ~cond); {14079#true} is VALID [2018-11-23 12:15:42,846 INFO L273 TraceCheckUtils]: 81: Hoare triple {14079#true} assume true; {14079#true} is VALID [2018-11-23 12:15:42,847 INFO L268 TraceCheckUtils]: 82: Hoare quadruple {14079#true} {14103#(<= ~N~0 (+ main_~i~0 4))} #58#return; {14103#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:15:42,847 INFO L273 TraceCheckUtils]: 83: Hoare triple {14103#(<= ~N~0 (+ main_~i~0 4))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14104#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:15:42,848 INFO L273 TraceCheckUtils]: 84: Hoare triple {14104#(<= ~N~0 (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14104#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:15:42,848 INFO L256 TraceCheckUtils]: 85: Hoare triple {14104#(<= ~N~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14079#true} is VALID [2018-11-23 12:15:42,848 INFO L273 TraceCheckUtils]: 86: Hoare triple {14079#true} ~cond := #in~cond; {14079#true} is VALID [2018-11-23 12:15:42,849 INFO L273 TraceCheckUtils]: 87: Hoare triple {14079#true} assume !(0 == ~cond); {14079#true} is VALID [2018-11-23 12:15:42,849 INFO L273 TraceCheckUtils]: 88: Hoare triple {14079#true} assume true; {14079#true} is VALID [2018-11-23 12:15:42,850 INFO L268 TraceCheckUtils]: 89: Hoare quadruple {14079#true} {14104#(<= ~N~0 (+ main_~i~0 3))} #58#return; {14104#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:15:42,850 INFO L273 TraceCheckUtils]: 90: Hoare triple {14104#(<= ~N~0 (+ main_~i~0 3))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14105#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:15:42,851 INFO L273 TraceCheckUtils]: 91: Hoare triple {14105#(<= ~N~0 (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14105#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:15:42,851 INFO L256 TraceCheckUtils]: 92: Hoare triple {14105#(<= ~N~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14079#true} is VALID [2018-11-23 12:15:42,851 INFO L273 TraceCheckUtils]: 93: Hoare triple {14079#true} ~cond := #in~cond; {14079#true} is VALID [2018-11-23 12:15:42,851 INFO L273 TraceCheckUtils]: 94: Hoare triple {14079#true} assume !(0 == ~cond); {14079#true} is VALID [2018-11-23 12:15:42,851 INFO L273 TraceCheckUtils]: 95: Hoare triple {14079#true} assume true; {14079#true} is VALID [2018-11-23 12:15:42,852 INFO L268 TraceCheckUtils]: 96: Hoare quadruple {14079#true} {14105#(<= ~N~0 (+ main_~i~0 2))} #58#return; {14105#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:15:42,852 INFO L273 TraceCheckUtils]: 97: Hoare triple {14105#(<= ~N~0 (+ main_~i~0 2))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14106#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:15:42,853 INFO L273 TraceCheckUtils]: 98: Hoare triple {14106#(<= ~N~0 (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14106#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:15:42,853 INFO L256 TraceCheckUtils]: 99: Hoare triple {14106#(<= ~N~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14079#true} is VALID [2018-11-23 12:15:42,853 INFO L273 TraceCheckUtils]: 100: Hoare triple {14079#true} ~cond := #in~cond; {14079#true} is VALID [2018-11-23 12:15:42,853 INFO L273 TraceCheckUtils]: 101: Hoare triple {14079#true} assume !(0 == ~cond); {14079#true} is VALID [2018-11-23 12:15:42,853 INFO L273 TraceCheckUtils]: 102: Hoare triple {14079#true} assume true; {14079#true} is VALID [2018-11-23 12:15:42,854 INFO L268 TraceCheckUtils]: 103: Hoare quadruple {14079#true} {14106#(<= ~N~0 (+ main_~i~0 1))} #58#return; {14106#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:15:42,855 INFO L273 TraceCheckUtils]: 104: Hoare triple {14106#(<= ~N~0 (+ main_~i~0 1))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14107#(<= ~N~0 main_~i~0)} is VALID [2018-11-23 12:15:42,856 INFO L273 TraceCheckUtils]: 105: Hoare triple {14107#(<= ~N~0 main_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14080#false} is VALID [2018-11-23 12:15:42,856 INFO L256 TraceCheckUtils]: 106: Hoare triple {14080#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14080#false} is VALID [2018-11-23 12:15:42,856 INFO L273 TraceCheckUtils]: 107: Hoare triple {14080#false} ~cond := #in~cond; {14080#false} is VALID [2018-11-23 12:15:42,856 INFO L273 TraceCheckUtils]: 108: Hoare triple {14080#false} assume 0 == ~cond; {14080#false} is VALID [2018-11-23 12:15:42,856 INFO L273 TraceCheckUtils]: 109: Hoare triple {14080#false} assume !false; {14080#false} is VALID [2018-11-23 12:15:42,866 INFO L134 CoverageAnalysis]: Checked inductivity of 588 backedges. 212 proven. 112 refuted. 0 times theorem prover too weak. 264 trivial. 0 not checked. [2018-11-23 12:15:42,866 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:42,866 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 24 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 24 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:42,876 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:15:42,916 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:15:42,916 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:42,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:42,938 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:43,543 INFO L256 TraceCheckUtils]: 0: Hoare triple {14079#true} call ULTIMATE.init(); {14079#true} is VALID [2018-11-23 12:15:43,543 INFO L273 TraceCheckUtils]: 1: Hoare triple {14079#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {14079#true} is VALID [2018-11-23 12:15:43,543 INFO L273 TraceCheckUtils]: 2: Hoare triple {14079#true} assume true; {14079#true} is VALID [2018-11-23 12:15:43,544 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14079#true} {14079#true} #54#return; {14079#true} is VALID [2018-11-23 12:15:43,544 INFO L256 TraceCheckUtils]: 4: Hoare triple {14079#true} call #t~ret2 := main(); {14079#true} is VALID [2018-11-23 12:15:43,544 INFO L273 TraceCheckUtils]: 5: Hoare triple {14079#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {14079#true} is VALID [2018-11-23 12:15:43,545 INFO L273 TraceCheckUtils]: 6: Hoare triple {14079#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {14129#(<= main_~i~0 0)} is VALID [2018-11-23 12:15:43,545 INFO L273 TraceCheckUtils]: 7: Hoare triple {14129#(<= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14082#(<= main_~i~0 1)} is VALID [2018-11-23 12:15:43,546 INFO L273 TraceCheckUtils]: 8: Hoare triple {14082#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14083#(<= main_~i~0 2)} is VALID [2018-11-23 12:15:43,547 INFO L273 TraceCheckUtils]: 9: Hoare triple {14083#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14084#(<= main_~i~0 3)} is VALID [2018-11-23 12:15:43,547 INFO L273 TraceCheckUtils]: 10: Hoare triple {14084#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14085#(<= main_~i~0 4)} is VALID [2018-11-23 12:15:43,548 INFO L273 TraceCheckUtils]: 11: Hoare triple {14085#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14086#(<= main_~i~0 5)} is VALID [2018-11-23 12:15:43,549 INFO L273 TraceCheckUtils]: 12: Hoare triple {14086#(<= main_~i~0 5)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14087#(<= main_~i~0 6)} is VALID [2018-11-23 12:15:43,550 INFO L273 TraceCheckUtils]: 13: Hoare triple {14087#(<= main_~i~0 6)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14088#(<= main_~i~0 7)} is VALID [2018-11-23 12:15:43,551 INFO L273 TraceCheckUtils]: 14: Hoare triple {14088#(<= main_~i~0 7)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14089#(<= main_~i~0 8)} is VALID [2018-11-23 12:15:43,552 INFO L273 TraceCheckUtils]: 15: Hoare triple {14089#(<= main_~i~0 8)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14090#(<= main_~i~0 9)} is VALID [2018-11-23 12:15:43,553 INFO L273 TraceCheckUtils]: 16: Hoare triple {14090#(<= main_~i~0 9)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14091#(<= main_~i~0 10)} is VALID [2018-11-23 12:15:43,554 INFO L273 TraceCheckUtils]: 17: Hoare triple {14091#(<= main_~i~0 10)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14092#(<= main_~i~0 11)} is VALID [2018-11-23 12:15:43,555 INFO L273 TraceCheckUtils]: 18: Hoare triple {14092#(<= main_~i~0 11)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {14093#(<= main_~i~0 12)} is VALID [2018-11-23 12:15:43,556 INFO L273 TraceCheckUtils]: 19: Hoare triple {14093#(<= main_~i~0 12)} assume !(~i~0 < ~N~0); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,557 INFO L273 TraceCheckUtils]: 20: Hoare triple {14094#(<= ~N~0 12)} ~i~0 := 0; {14172#(and (<= ~N~0 12) (<= 0 main_~i~0))} is VALID [2018-11-23 12:15:43,557 INFO L273 TraceCheckUtils]: 21: Hoare triple {14172#(and (<= ~N~0 12) (<= 0 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14172#(and (<= ~N~0 12) (<= 0 main_~i~0))} is VALID [2018-11-23 12:15:43,559 INFO L256 TraceCheckUtils]: 22: Hoare triple {14172#(and (<= ~N~0 12) (<= 0 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,559 INFO L273 TraceCheckUtils]: 23: Hoare triple {14094#(<= ~N~0 12)} ~cond := #in~cond; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,560 INFO L273 TraceCheckUtils]: 24: Hoare triple {14094#(<= ~N~0 12)} assume !(0 == ~cond); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,560 INFO L273 TraceCheckUtils]: 25: Hoare triple {14094#(<= ~N~0 12)} assume true; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,561 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {14094#(<= ~N~0 12)} {14172#(and (<= ~N~0 12) (<= 0 main_~i~0))} #58#return; {14172#(and (<= ~N~0 12) (<= 0 main_~i~0))} is VALID [2018-11-23 12:15:43,562 INFO L273 TraceCheckUtils]: 27: Hoare triple {14172#(and (<= ~N~0 12) (<= 0 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14194#(and (<= ~N~0 12) (<= 1 main_~i~0))} is VALID [2018-11-23 12:15:43,563 INFO L273 TraceCheckUtils]: 28: Hoare triple {14194#(and (<= ~N~0 12) (<= 1 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14194#(and (<= ~N~0 12) (<= 1 main_~i~0))} is VALID [2018-11-23 12:15:43,564 INFO L256 TraceCheckUtils]: 29: Hoare triple {14194#(and (<= ~N~0 12) (<= 1 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,564 INFO L273 TraceCheckUtils]: 30: Hoare triple {14094#(<= ~N~0 12)} ~cond := #in~cond; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,565 INFO L273 TraceCheckUtils]: 31: Hoare triple {14094#(<= ~N~0 12)} assume !(0 == ~cond); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,565 INFO L273 TraceCheckUtils]: 32: Hoare triple {14094#(<= ~N~0 12)} assume true; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,566 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {14094#(<= ~N~0 12)} {14194#(and (<= ~N~0 12) (<= 1 main_~i~0))} #58#return; {14194#(and (<= ~N~0 12) (<= 1 main_~i~0))} is VALID [2018-11-23 12:15:43,567 INFO L273 TraceCheckUtils]: 34: Hoare triple {14194#(and (<= ~N~0 12) (<= 1 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14216#(and (<= ~N~0 12) (<= 2 main_~i~0))} is VALID [2018-11-23 12:15:43,568 INFO L273 TraceCheckUtils]: 35: Hoare triple {14216#(and (<= ~N~0 12) (<= 2 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14216#(and (<= ~N~0 12) (<= 2 main_~i~0))} is VALID [2018-11-23 12:15:43,569 INFO L256 TraceCheckUtils]: 36: Hoare triple {14216#(and (<= ~N~0 12) (<= 2 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,569 INFO L273 TraceCheckUtils]: 37: Hoare triple {14094#(<= ~N~0 12)} ~cond := #in~cond; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,570 INFO L273 TraceCheckUtils]: 38: Hoare triple {14094#(<= ~N~0 12)} assume !(0 == ~cond); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,570 INFO L273 TraceCheckUtils]: 39: Hoare triple {14094#(<= ~N~0 12)} assume true; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,571 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {14094#(<= ~N~0 12)} {14216#(and (<= ~N~0 12) (<= 2 main_~i~0))} #58#return; {14216#(and (<= ~N~0 12) (<= 2 main_~i~0))} is VALID [2018-11-23 12:15:43,572 INFO L273 TraceCheckUtils]: 41: Hoare triple {14216#(and (<= ~N~0 12) (<= 2 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14238#(and (<= ~N~0 12) (<= 3 main_~i~0))} is VALID [2018-11-23 12:15:43,573 INFO L273 TraceCheckUtils]: 42: Hoare triple {14238#(and (<= ~N~0 12) (<= 3 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14238#(and (<= ~N~0 12) (<= 3 main_~i~0))} is VALID [2018-11-23 12:15:43,574 INFO L256 TraceCheckUtils]: 43: Hoare triple {14238#(and (<= ~N~0 12) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,574 INFO L273 TraceCheckUtils]: 44: Hoare triple {14094#(<= ~N~0 12)} ~cond := #in~cond; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,575 INFO L273 TraceCheckUtils]: 45: Hoare triple {14094#(<= ~N~0 12)} assume !(0 == ~cond); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,575 INFO L273 TraceCheckUtils]: 46: Hoare triple {14094#(<= ~N~0 12)} assume true; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,576 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {14094#(<= ~N~0 12)} {14238#(and (<= ~N~0 12) (<= 3 main_~i~0))} #58#return; {14238#(and (<= ~N~0 12) (<= 3 main_~i~0))} is VALID [2018-11-23 12:15:43,577 INFO L273 TraceCheckUtils]: 48: Hoare triple {14238#(and (<= ~N~0 12) (<= 3 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14260#(and (<= ~N~0 12) (<= 4 main_~i~0))} is VALID [2018-11-23 12:15:43,578 INFO L273 TraceCheckUtils]: 49: Hoare triple {14260#(and (<= ~N~0 12) (<= 4 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14260#(and (<= ~N~0 12) (<= 4 main_~i~0))} is VALID [2018-11-23 12:15:43,579 INFO L256 TraceCheckUtils]: 50: Hoare triple {14260#(and (<= ~N~0 12) (<= 4 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,579 INFO L273 TraceCheckUtils]: 51: Hoare triple {14094#(<= ~N~0 12)} ~cond := #in~cond; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,580 INFO L273 TraceCheckUtils]: 52: Hoare triple {14094#(<= ~N~0 12)} assume !(0 == ~cond); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,580 INFO L273 TraceCheckUtils]: 53: Hoare triple {14094#(<= ~N~0 12)} assume true; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,581 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {14094#(<= ~N~0 12)} {14260#(and (<= ~N~0 12) (<= 4 main_~i~0))} #58#return; {14260#(and (<= ~N~0 12) (<= 4 main_~i~0))} is VALID [2018-11-23 12:15:43,582 INFO L273 TraceCheckUtils]: 55: Hoare triple {14260#(and (<= ~N~0 12) (<= 4 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14282#(and (<= ~N~0 12) (<= 5 main_~i~0))} is VALID [2018-11-23 12:15:43,583 INFO L273 TraceCheckUtils]: 56: Hoare triple {14282#(and (<= ~N~0 12) (<= 5 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14282#(and (<= ~N~0 12) (<= 5 main_~i~0))} is VALID [2018-11-23 12:15:43,584 INFO L256 TraceCheckUtils]: 57: Hoare triple {14282#(and (<= ~N~0 12) (<= 5 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,584 INFO L273 TraceCheckUtils]: 58: Hoare triple {14094#(<= ~N~0 12)} ~cond := #in~cond; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,585 INFO L273 TraceCheckUtils]: 59: Hoare triple {14094#(<= ~N~0 12)} assume !(0 == ~cond); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,585 INFO L273 TraceCheckUtils]: 60: Hoare triple {14094#(<= ~N~0 12)} assume true; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,586 INFO L268 TraceCheckUtils]: 61: Hoare quadruple {14094#(<= ~N~0 12)} {14282#(and (<= ~N~0 12) (<= 5 main_~i~0))} #58#return; {14282#(and (<= ~N~0 12) (<= 5 main_~i~0))} is VALID [2018-11-23 12:15:43,587 INFO L273 TraceCheckUtils]: 62: Hoare triple {14282#(and (<= ~N~0 12) (<= 5 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14304#(and (<= ~N~0 12) (<= 6 main_~i~0))} is VALID [2018-11-23 12:15:43,588 INFO L273 TraceCheckUtils]: 63: Hoare triple {14304#(and (<= ~N~0 12) (<= 6 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14304#(and (<= ~N~0 12) (<= 6 main_~i~0))} is VALID [2018-11-23 12:15:43,589 INFO L256 TraceCheckUtils]: 64: Hoare triple {14304#(and (<= ~N~0 12) (<= 6 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,589 INFO L273 TraceCheckUtils]: 65: Hoare triple {14094#(<= ~N~0 12)} ~cond := #in~cond; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,590 INFO L273 TraceCheckUtils]: 66: Hoare triple {14094#(<= ~N~0 12)} assume !(0 == ~cond); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,590 INFO L273 TraceCheckUtils]: 67: Hoare triple {14094#(<= ~N~0 12)} assume true; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,591 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {14094#(<= ~N~0 12)} {14304#(and (<= ~N~0 12) (<= 6 main_~i~0))} #58#return; {14304#(and (<= ~N~0 12) (<= 6 main_~i~0))} is VALID [2018-11-23 12:15:43,592 INFO L273 TraceCheckUtils]: 69: Hoare triple {14304#(and (<= ~N~0 12) (<= 6 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14326#(and (<= ~N~0 12) (<= 7 main_~i~0))} is VALID [2018-11-23 12:15:43,593 INFO L273 TraceCheckUtils]: 70: Hoare triple {14326#(and (<= ~N~0 12) (<= 7 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14326#(and (<= ~N~0 12) (<= 7 main_~i~0))} is VALID [2018-11-23 12:15:43,594 INFO L256 TraceCheckUtils]: 71: Hoare triple {14326#(and (<= ~N~0 12) (<= 7 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,595 INFO L273 TraceCheckUtils]: 72: Hoare triple {14094#(<= ~N~0 12)} ~cond := #in~cond; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,595 INFO L273 TraceCheckUtils]: 73: Hoare triple {14094#(<= ~N~0 12)} assume !(0 == ~cond); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,596 INFO L273 TraceCheckUtils]: 74: Hoare triple {14094#(<= ~N~0 12)} assume true; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,596 INFO L268 TraceCheckUtils]: 75: Hoare quadruple {14094#(<= ~N~0 12)} {14326#(and (<= ~N~0 12) (<= 7 main_~i~0))} #58#return; {14326#(and (<= ~N~0 12) (<= 7 main_~i~0))} is VALID [2018-11-23 12:15:43,597 INFO L273 TraceCheckUtils]: 76: Hoare triple {14326#(and (<= ~N~0 12) (<= 7 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14348#(and (<= ~N~0 12) (<= 8 main_~i~0))} is VALID [2018-11-23 12:15:43,598 INFO L273 TraceCheckUtils]: 77: Hoare triple {14348#(and (<= ~N~0 12) (<= 8 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14348#(and (<= ~N~0 12) (<= 8 main_~i~0))} is VALID [2018-11-23 12:15:43,599 INFO L256 TraceCheckUtils]: 78: Hoare triple {14348#(and (<= ~N~0 12) (<= 8 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,600 INFO L273 TraceCheckUtils]: 79: Hoare triple {14094#(<= ~N~0 12)} ~cond := #in~cond; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,600 INFO L273 TraceCheckUtils]: 80: Hoare triple {14094#(<= ~N~0 12)} assume !(0 == ~cond); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,601 INFO L273 TraceCheckUtils]: 81: Hoare triple {14094#(<= ~N~0 12)} assume true; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,602 INFO L268 TraceCheckUtils]: 82: Hoare quadruple {14094#(<= ~N~0 12)} {14348#(and (<= ~N~0 12) (<= 8 main_~i~0))} #58#return; {14348#(and (<= ~N~0 12) (<= 8 main_~i~0))} is VALID [2018-11-23 12:15:43,602 INFO L273 TraceCheckUtils]: 83: Hoare triple {14348#(and (<= ~N~0 12) (<= 8 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14370#(and (<= ~N~0 12) (<= 9 main_~i~0))} is VALID [2018-11-23 12:15:43,603 INFO L273 TraceCheckUtils]: 84: Hoare triple {14370#(and (<= ~N~0 12) (<= 9 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14370#(and (<= ~N~0 12) (<= 9 main_~i~0))} is VALID [2018-11-23 12:15:43,604 INFO L256 TraceCheckUtils]: 85: Hoare triple {14370#(and (<= ~N~0 12) (<= 9 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,605 INFO L273 TraceCheckUtils]: 86: Hoare triple {14094#(<= ~N~0 12)} ~cond := #in~cond; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,605 INFO L273 TraceCheckUtils]: 87: Hoare triple {14094#(<= ~N~0 12)} assume !(0 == ~cond); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,606 INFO L273 TraceCheckUtils]: 88: Hoare triple {14094#(<= ~N~0 12)} assume true; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,607 INFO L268 TraceCheckUtils]: 89: Hoare quadruple {14094#(<= ~N~0 12)} {14370#(and (<= ~N~0 12) (<= 9 main_~i~0))} #58#return; {14370#(and (<= ~N~0 12) (<= 9 main_~i~0))} is VALID [2018-11-23 12:15:43,607 INFO L273 TraceCheckUtils]: 90: Hoare triple {14370#(and (<= ~N~0 12) (<= 9 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14392#(and (<= ~N~0 12) (<= 10 main_~i~0))} is VALID [2018-11-23 12:15:43,608 INFO L273 TraceCheckUtils]: 91: Hoare triple {14392#(and (<= ~N~0 12) (<= 10 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14392#(and (<= ~N~0 12) (<= 10 main_~i~0))} is VALID [2018-11-23 12:15:43,609 INFO L256 TraceCheckUtils]: 92: Hoare triple {14392#(and (<= ~N~0 12) (<= 10 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,610 INFO L273 TraceCheckUtils]: 93: Hoare triple {14094#(<= ~N~0 12)} ~cond := #in~cond; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,610 INFO L273 TraceCheckUtils]: 94: Hoare triple {14094#(<= ~N~0 12)} assume !(0 == ~cond); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,611 INFO L273 TraceCheckUtils]: 95: Hoare triple {14094#(<= ~N~0 12)} assume true; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,612 INFO L268 TraceCheckUtils]: 96: Hoare quadruple {14094#(<= ~N~0 12)} {14392#(and (<= ~N~0 12) (<= 10 main_~i~0))} #58#return; {14392#(and (<= ~N~0 12) (<= 10 main_~i~0))} is VALID [2018-11-23 12:15:43,613 INFO L273 TraceCheckUtils]: 97: Hoare triple {14392#(and (<= ~N~0 12) (<= 10 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14414#(and (<= ~N~0 12) (<= 11 main_~i~0))} is VALID [2018-11-23 12:15:43,613 INFO L273 TraceCheckUtils]: 98: Hoare triple {14414#(and (<= ~N~0 12) (<= 11 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14414#(and (<= ~N~0 12) (<= 11 main_~i~0))} is VALID [2018-11-23 12:15:43,614 INFO L256 TraceCheckUtils]: 99: Hoare triple {14414#(and (<= ~N~0 12) (<= 11 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,615 INFO L273 TraceCheckUtils]: 100: Hoare triple {14094#(<= ~N~0 12)} ~cond := #in~cond; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,615 INFO L273 TraceCheckUtils]: 101: Hoare triple {14094#(<= ~N~0 12)} assume !(0 == ~cond); {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,616 INFO L273 TraceCheckUtils]: 102: Hoare triple {14094#(<= ~N~0 12)} assume true; {14094#(<= ~N~0 12)} is VALID [2018-11-23 12:15:43,617 INFO L268 TraceCheckUtils]: 103: Hoare quadruple {14094#(<= ~N~0 12)} {14414#(and (<= ~N~0 12) (<= 11 main_~i~0))} #58#return; {14414#(and (<= ~N~0 12) (<= 11 main_~i~0))} is VALID [2018-11-23 12:15:43,618 INFO L273 TraceCheckUtils]: 104: Hoare triple {14414#(and (<= ~N~0 12) (<= 11 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {14436#(and (<= ~N~0 12) (<= 12 main_~i~0))} is VALID [2018-11-23 12:15:43,619 INFO L273 TraceCheckUtils]: 105: Hoare triple {14436#(and (<= ~N~0 12) (<= 12 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {14080#false} is VALID [2018-11-23 12:15:43,619 INFO L256 TraceCheckUtils]: 106: Hoare triple {14080#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {14080#false} is VALID [2018-11-23 12:15:43,619 INFO L273 TraceCheckUtils]: 107: Hoare triple {14080#false} ~cond := #in~cond; {14080#false} is VALID [2018-11-23 12:15:43,619 INFO L273 TraceCheckUtils]: 108: Hoare triple {14080#false} assume 0 == ~cond; {14080#false} is VALID [2018-11-23 12:15:43,619 INFO L273 TraceCheckUtils]: 109: Hoare triple {14080#false} assume !false; {14080#false} is VALID [2018-11-23 12:15:43,632 INFO L134 CoverageAnalysis]: Checked inductivity of 588 backedges. 246 proven. 78 refuted. 0 times theorem prover too weak. 264 trivial. 0 not checked. [2018-11-23 12:15:43,651 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:43,651 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 29] total 43 [2018-11-23 12:15:43,651 INFO L78 Accepts]: Start accepts. Automaton has 43 states. Word has length 110 [2018-11-23 12:15:43,652 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:43,652 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 43 states. [2018-11-23 12:15:43,775 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 132 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:43,775 INFO L459 AbstractCegarLoop]: Interpolant automaton has 43 states [2018-11-23 12:15:43,776 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 43 interpolants. [2018-11-23 12:15:43,776 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=425, Invalid=1381, Unknown=0, NotChecked=0, Total=1806 [2018-11-23 12:15:43,776 INFO L87 Difference]: Start difference. First operand 113 states and 114 transitions. Second operand 43 states. [2018-11-23 12:15:47,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:47,399 INFO L93 Difference]: Finished difference Result 213 states and 216 transitions. [2018-11-23 12:15:47,399 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2018-11-23 12:15:47,399 INFO L78 Accepts]: Start accepts. Automaton has 43 states. Word has length 110 [2018-11-23 12:15:47,399 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:47,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 43 states. [2018-11-23 12:15:47,402 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 147 transitions. [2018-11-23 12:15:47,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 43 states. [2018-11-23 12:15:47,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 147 transitions. [2018-11-23 12:15:47,405 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states and 147 transitions. [2018-11-23 12:15:47,604 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 147 edges. 147 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:47,606 INFO L225 Difference]: With dead ends: 213 [2018-11-23 12:15:47,607 INFO L226 Difference]: Without dead ends: 118 [2018-11-23 12:15:47,607 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 97 SyntacticMatches, 0 SemanticMatches, 54 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 735 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=724, Invalid=2356, Unknown=0, NotChecked=0, Total=3080 [2018-11-23 12:15:47,607 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2018-11-23 12:15:48,301 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 114. [2018-11-23 12:15:48,301 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:48,302 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand 114 states. [2018-11-23 12:15:48,302 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand 114 states. [2018-11-23 12:15:48,302 INFO L87 Difference]: Start difference. First operand 118 states. Second operand 114 states. [2018-11-23 12:15:48,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:48,304 INFO L93 Difference]: Finished difference Result 118 states and 120 transitions. [2018-11-23 12:15:48,304 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 120 transitions. [2018-11-23 12:15:48,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:48,305 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:48,305 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand 118 states. [2018-11-23 12:15:48,305 INFO L87 Difference]: Start difference. First operand 114 states. Second operand 118 states. [2018-11-23 12:15:48,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:48,307 INFO L93 Difference]: Finished difference Result 118 states and 120 transitions. [2018-11-23 12:15:48,307 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 120 transitions. [2018-11-23 12:15:48,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:48,307 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:48,308 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:48,308 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:48,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 114 states. [2018-11-23 12:15:48,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 114 states to 114 states and 115 transitions. [2018-11-23 12:15:48,309 INFO L78 Accepts]: Start accepts. Automaton has 114 states and 115 transitions. Word has length 110 [2018-11-23 12:15:48,310 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:48,310 INFO L480 AbstractCegarLoop]: Abstraction has 114 states and 115 transitions. [2018-11-23 12:15:48,310 INFO L481 AbstractCegarLoop]: Interpolant automaton has 43 states. [2018-11-23 12:15:48,310 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 115 transitions. [2018-11-23 12:15:48,310 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2018-11-23 12:15:48,310 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:48,310 INFO L402 BasicCegarLoop]: trace histogram [13, 13, 13, 13, 12, 12, 12, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:15:48,311 INFO L423 AbstractCegarLoop]: === Iteration 26 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:48,311 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:48,311 INFO L82 PathProgramCache]: Analyzing trace with hash -422509901, now seen corresponding path program 23 times [2018-11-23 12:15:48,311 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:48,311 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:48,312 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:48,312 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:48,312 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:48,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:49,712 INFO L256 TraceCheckUtils]: 0: Hoare triple {15196#true} call ULTIMATE.init(); {15196#true} is VALID [2018-11-23 12:15:49,713 INFO L273 TraceCheckUtils]: 1: Hoare triple {15196#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {15196#true} is VALID [2018-11-23 12:15:49,713 INFO L273 TraceCheckUtils]: 2: Hoare triple {15196#true} assume true; {15196#true} is VALID [2018-11-23 12:15:49,713 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {15196#true} {15196#true} #54#return; {15196#true} is VALID [2018-11-23 12:15:49,713 INFO L256 TraceCheckUtils]: 4: Hoare triple {15196#true} call #t~ret2 := main(); {15196#true} is VALID [2018-11-23 12:15:49,714 INFO L273 TraceCheckUtils]: 5: Hoare triple {15196#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {15196#true} is VALID [2018-11-23 12:15:49,714 INFO L273 TraceCheckUtils]: 6: Hoare triple {15196#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {15198#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,715 INFO L273 TraceCheckUtils]: 7: Hoare triple {15198#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15199#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} is VALID [2018-11-23 12:15:49,716 INFO L273 TraceCheckUtils]: 8: Hoare triple {15199#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15200#(and (<= 2 main_~k~0) (<= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,716 INFO L273 TraceCheckUtils]: 9: Hoare triple {15200#(and (<= 2 main_~k~0) (<= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15201#(and (<= 3 main_~k~0) (<= main_~k~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,717 INFO L273 TraceCheckUtils]: 10: Hoare triple {15201#(and (<= 3 main_~k~0) (<= main_~k~0 3) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15202#(and (<= main_~k~0 4) (<= 4 main_~k~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,718 INFO L273 TraceCheckUtils]: 11: Hoare triple {15202#(and (<= main_~k~0 4) (<= 4 main_~k~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15203#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,719 INFO L273 TraceCheckUtils]: 12: Hoare triple {15203#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15204#(and (= main_~k~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,720 INFO L273 TraceCheckUtils]: 13: Hoare triple {15204#(and (= main_~k~0 6) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15205#(and (= main_~k~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,721 INFO L273 TraceCheckUtils]: 14: Hoare triple {15205#(and (= main_~k~0 7) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15206#(and (<= main_~k~0 8) (<= 8 main_~k~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,722 INFO L273 TraceCheckUtils]: 15: Hoare triple {15206#(and (<= main_~k~0 8) (<= 8 main_~k~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15207#(and (= main_~k~0 9) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,723 INFO L273 TraceCheckUtils]: 16: Hoare triple {15207#(and (= main_~k~0 9) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15208#(and (<= 10 main_~k~0) (<= main_~k~0 10) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,724 INFO L273 TraceCheckUtils]: 17: Hoare triple {15208#(and (<= 10 main_~k~0) (<= main_~k~0 10) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15209#(and (= main_~k~0 11) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,725 INFO L273 TraceCheckUtils]: 18: Hoare triple {15209#(and (= main_~k~0 11) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15210#(and (<= main_~k~0 12) (<= 12 main_~k~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,726 INFO L273 TraceCheckUtils]: 19: Hoare triple {15210#(and (<= main_~k~0 12) (<= 12 main_~k~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15211#(and (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:49,727 INFO L273 TraceCheckUtils]: 20: Hoare triple {15211#(and (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} assume !(~i~0 < ~N~0); {15211#(and (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:49,727 INFO L273 TraceCheckUtils]: 21: Hoare triple {15211#(and (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} ~i~0 := 0; {15212#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:49,728 INFO L273 TraceCheckUtils]: 22: Hoare triple {15212#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15212#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:49,728 INFO L256 TraceCheckUtils]: 23: Hoare triple {15212#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15196#true} is VALID [2018-11-23 12:15:49,729 INFO L273 TraceCheckUtils]: 24: Hoare triple {15196#true} ~cond := #in~cond; {15213#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:15:49,729 INFO L273 TraceCheckUtils]: 25: Hoare triple {15213#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {15214#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:15:49,730 INFO L273 TraceCheckUtils]: 26: Hoare triple {15214#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15214#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:15:49,731 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {15214#(not (= |__VERIFIER_assert_#in~cond| 0))} {15212#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} #58#return; {15212#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:49,732 INFO L273 TraceCheckUtils]: 28: Hoare triple {15212#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15215#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 11)))) (+ main_~i~0 |main_~#a~0.offset| 11)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,733 INFO L273 TraceCheckUtils]: 29: Hoare triple {15215#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 11)))) (+ main_~i~0 |main_~#a~0.offset| 11)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15215#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 11)))) (+ main_~i~0 |main_~#a~0.offset| 11)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,733 INFO L256 TraceCheckUtils]: 30: Hoare triple {15215#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 11)))) (+ main_~i~0 |main_~#a~0.offset| 11)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15196#true} is VALID [2018-11-23 12:15:49,733 INFO L273 TraceCheckUtils]: 31: Hoare triple {15196#true} ~cond := #in~cond; {15196#true} is VALID [2018-11-23 12:15:49,733 INFO L273 TraceCheckUtils]: 32: Hoare triple {15196#true} assume !(0 == ~cond); {15196#true} is VALID [2018-11-23 12:15:49,733 INFO L273 TraceCheckUtils]: 33: Hoare triple {15196#true} assume true; {15196#true} is VALID [2018-11-23 12:15:49,734 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {15196#true} {15215#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 11)))) (+ main_~i~0 |main_~#a~0.offset| 11)) (= |main_~#a~0.offset| 0))} #58#return; {15215#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 11)))) (+ main_~i~0 |main_~#a~0.offset| 11)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,735 INFO L273 TraceCheckUtils]: 35: Hoare triple {15215#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 11)))) (+ main_~i~0 |main_~#a~0.offset| 11)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15216#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 |main_~#a~0.offset| 10)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,736 INFO L273 TraceCheckUtils]: 36: Hoare triple {15216#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 |main_~#a~0.offset| 10)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15216#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 |main_~#a~0.offset| 10)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,737 INFO L256 TraceCheckUtils]: 37: Hoare triple {15216#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 |main_~#a~0.offset| 10)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15196#true} is VALID [2018-11-23 12:15:49,737 INFO L273 TraceCheckUtils]: 38: Hoare triple {15196#true} ~cond := #in~cond; {15196#true} is VALID [2018-11-23 12:15:49,737 INFO L273 TraceCheckUtils]: 39: Hoare triple {15196#true} assume !(0 == ~cond); {15196#true} is VALID [2018-11-23 12:15:49,737 INFO L273 TraceCheckUtils]: 40: Hoare triple {15196#true} assume true; {15196#true} is VALID [2018-11-23 12:15:49,738 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {15196#true} {15216#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 |main_~#a~0.offset| 10)) (= |main_~#a~0.offset| 0))} #58#return; {15216#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 |main_~#a~0.offset| 10)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,739 INFO L273 TraceCheckUtils]: 42: Hoare triple {15216#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 |main_~#a~0.offset| 10)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15217#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 |main_~#a~0.offset| 9)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,740 INFO L273 TraceCheckUtils]: 43: Hoare triple {15217#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 |main_~#a~0.offset| 9)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15217#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 |main_~#a~0.offset| 9)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,740 INFO L256 TraceCheckUtils]: 44: Hoare triple {15217#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 |main_~#a~0.offset| 9)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15196#true} is VALID [2018-11-23 12:15:49,740 INFO L273 TraceCheckUtils]: 45: Hoare triple {15196#true} ~cond := #in~cond; {15196#true} is VALID [2018-11-23 12:15:49,740 INFO L273 TraceCheckUtils]: 46: Hoare triple {15196#true} assume !(0 == ~cond); {15196#true} is VALID [2018-11-23 12:15:49,740 INFO L273 TraceCheckUtils]: 47: Hoare triple {15196#true} assume true; {15196#true} is VALID [2018-11-23 12:15:49,741 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {15196#true} {15217#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 |main_~#a~0.offset| 9)) (= |main_~#a~0.offset| 0))} #58#return; {15217#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 |main_~#a~0.offset| 9)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,741 INFO L273 TraceCheckUtils]: 49: Hoare triple {15217#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 |main_~#a~0.offset| 9)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15218#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 |main_~#a~0.offset| 8)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,742 INFO L273 TraceCheckUtils]: 50: Hoare triple {15218#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 |main_~#a~0.offset| 8)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15218#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 |main_~#a~0.offset| 8)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,742 INFO L256 TraceCheckUtils]: 51: Hoare triple {15218#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 |main_~#a~0.offset| 8)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15196#true} is VALID [2018-11-23 12:15:49,742 INFO L273 TraceCheckUtils]: 52: Hoare triple {15196#true} ~cond := #in~cond; {15196#true} is VALID [2018-11-23 12:15:49,742 INFO L273 TraceCheckUtils]: 53: Hoare triple {15196#true} assume !(0 == ~cond); {15196#true} is VALID [2018-11-23 12:15:49,742 INFO L273 TraceCheckUtils]: 54: Hoare triple {15196#true} assume true; {15196#true} is VALID [2018-11-23 12:15:49,743 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {15196#true} {15218#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 |main_~#a~0.offset| 8)) (= |main_~#a~0.offset| 0))} #58#return; {15218#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 |main_~#a~0.offset| 8)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,744 INFO L273 TraceCheckUtils]: 56: Hoare triple {15218#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 |main_~#a~0.offset| 8)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15219#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,745 INFO L273 TraceCheckUtils]: 57: Hoare triple {15219#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15219#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,745 INFO L256 TraceCheckUtils]: 58: Hoare triple {15219#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15196#true} is VALID [2018-11-23 12:15:49,746 INFO L273 TraceCheckUtils]: 59: Hoare triple {15196#true} ~cond := #in~cond; {15196#true} is VALID [2018-11-23 12:15:49,746 INFO L273 TraceCheckUtils]: 60: Hoare triple {15196#true} assume !(0 == ~cond); {15196#true} is VALID [2018-11-23 12:15:49,746 INFO L273 TraceCheckUtils]: 61: Hoare triple {15196#true} assume true; {15196#true} is VALID [2018-11-23 12:15:49,747 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {15196#true} {15219#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} #58#return; {15219#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,748 INFO L273 TraceCheckUtils]: 63: Hoare triple {15219#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15220#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,749 INFO L273 TraceCheckUtils]: 64: Hoare triple {15220#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15220#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,749 INFO L256 TraceCheckUtils]: 65: Hoare triple {15220#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15196#true} is VALID [2018-11-23 12:15:49,749 INFO L273 TraceCheckUtils]: 66: Hoare triple {15196#true} ~cond := #in~cond; {15196#true} is VALID [2018-11-23 12:15:49,750 INFO L273 TraceCheckUtils]: 67: Hoare triple {15196#true} assume !(0 == ~cond); {15196#true} is VALID [2018-11-23 12:15:49,750 INFO L273 TraceCheckUtils]: 68: Hoare triple {15196#true} assume true; {15196#true} is VALID [2018-11-23 12:15:49,754 INFO L268 TraceCheckUtils]: 69: Hoare quadruple {15196#true} {15220#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} #58#return; {15220#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,755 INFO L273 TraceCheckUtils]: 70: Hoare triple {15220#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15221#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,756 INFO L273 TraceCheckUtils]: 71: Hoare triple {15221#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15221#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,756 INFO L256 TraceCheckUtils]: 72: Hoare triple {15221#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15196#true} is VALID [2018-11-23 12:15:49,756 INFO L273 TraceCheckUtils]: 73: Hoare triple {15196#true} ~cond := #in~cond; {15196#true} is VALID [2018-11-23 12:15:49,756 INFO L273 TraceCheckUtils]: 74: Hoare triple {15196#true} assume !(0 == ~cond); {15196#true} is VALID [2018-11-23 12:15:49,756 INFO L273 TraceCheckUtils]: 75: Hoare triple {15196#true} assume true; {15196#true} is VALID [2018-11-23 12:15:49,757 INFO L268 TraceCheckUtils]: 76: Hoare quadruple {15196#true} {15221#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} #58#return; {15221#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,757 INFO L273 TraceCheckUtils]: 77: Hoare triple {15221#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15222#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,758 INFO L273 TraceCheckUtils]: 78: Hoare triple {15222#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15222#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,758 INFO L256 TraceCheckUtils]: 79: Hoare triple {15222#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15196#true} is VALID [2018-11-23 12:15:49,758 INFO L273 TraceCheckUtils]: 80: Hoare triple {15196#true} ~cond := #in~cond; {15196#true} is VALID [2018-11-23 12:15:49,758 INFO L273 TraceCheckUtils]: 81: Hoare triple {15196#true} assume !(0 == ~cond); {15196#true} is VALID [2018-11-23 12:15:49,758 INFO L273 TraceCheckUtils]: 82: Hoare triple {15196#true} assume true; {15196#true} is VALID [2018-11-23 12:15:49,759 INFO L268 TraceCheckUtils]: 83: Hoare quadruple {15196#true} {15222#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} #58#return; {15222#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,760 INFO L273 TraceCheckUtils]: 84: Hoare triple {15222#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15223#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,761 INFO L273 TraceCheckUtils]: 85: Hoare triple {15223#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15223#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,761 INFO L256 TraceCheckUtils]: 86: Hoare triple {15223#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15196#true} is VALID [2018-11-23 12:15:49,761 INFO L273 TraceCheckUtils]: 87: Hoare triple {15196#true} ~cond := #in~cond; {15196#true} is VALID [2018-11-23 12:15:49,762 INFO L273 TraceCheckUtils]: 88: Hoare triple {15196#true} assume !(0 == ~cond); {15196#true} is VALID [2018-11-23 12:15:49,762 INFO L273 TraceCheckUtils]: 89: Hoare triple {15196#true} assume true; {15196#true} is VALID [2018-11-23 12:15:49,762 INFO L268 TraceCheckUtils]: 90: Hoare quadruple {15196#true} {15223#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} #58#return; {15223#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,764 INFO L273 TraceCheckUtils]: 91: Hoare triple {15223#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15224#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,764 INFO L273 TraceCheckUtils]: 92: Hoare triple {15224#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15224#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,765 INFO L256 TraceCheckUtils]: 93: Hoare triple {15224#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15196#true} is VALID [2018-11-23 12:15:49,765 INFO L273 TraceCheckUtils]: 94: Hoare triple {15196#true} ~cond := #in~cond; {15196#true} is VALID [2018-11-23 12:15:49,765 INFO L273 TraceCheckUtils]: 95: Hoare triple {15196#true} assume !(0 == ~cond); {15196#true} is VALID [2018-11-23 12:15:49,765 INFO L273 TraceCheckUtils]: 96: Hoare triple {15196#true} assume true; {15196#true} is VALID [2018-11-23 12:15:49,766 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {15196#true} {15224#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} #58#return; {15224#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,767 INFO L273 TraceCheckUtils]: 98: Hoare triple {15224#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15225#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,768 INFO L273 TraceCheckUtils]: 99: Hoare triple {15225#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15225#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,768 INFO L256 TraceCheckUtils]: 100: Hoare triple {15225#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15196#true} is VALID [2018-11-23 12:15:49,768 INFO L273 TraceCheckUtils]: 101: Hoare triple {15196#true} ~cond := #in~cond; {15196#true} is VALID [2018-11-23 12:15:49,769 INFO L273 TraceCheckUtils]: 102: Hoare triple {15196#true} assume !(0 == ~cond); {15196#true} is VALID [2018-11-23 12:15:49,769 INFO L273 TraceCheckUtils]: 103: Hoare triple {15196#true} assume true; {15196#true} is VALID [2018-11-23 12:15:49,770 INFO L268 TraceCheckUtils]: 104: Hoare quadruple {15196#true} {15225#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} #58#return; {15225#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:49,771 INFO L273 TraceCheckUtils]: 105: Hoare triple {15225#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15226#(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:15:49,771 INFO L273 TraceCheckUtils]: 106: Hoare triple {15226#(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 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15227#(= main_~i~0 |main_#t~mem1|)} is VALID [2018-11-23 12:15:49,772 INFO L256 TraceCheckUtils]: 107: Hoare triple {15227#(= main_~i~0 |main_#t~mem1|)} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15214#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:15:49,773 INFO L273 TraceCheckUtils]: 108: Hoare triple {15214#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {15228#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:15:49,773 INFO L273 TraceCheckUtils]: 109: Hoare triple {15228#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {15197#false} is VALID [2018-11-23 12:15:49,773 INFO L273 TraceCheckUtils]: 110: Hoare triple {15197#false} assume !false; {15197#false} is VALID [2018-11-23 12:15:49,796 INFO L134 CoverageAnalysis]: Checked inductivity of 601 backedges. 23 proven. 347 refuted. 0 times theorem prover too weak. 231 trivial. 0 not checked. [2018-11-23 12:15:49,796 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:49,796 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:49,806 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:15:49,956 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 13 check-sat command(s) [2018-11-23 12:15:49,956 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:49,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:49,983 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:50,175 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 12 [2018-11-23 12:15:50,180 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-23 12:15:50,182 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:15:50,185 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:15:50,198 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:15:50,198 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:25, output treesize:21 [2018-11-23 12:15:50,202 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:15:50,202 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_18|, v_main_~k~0_95]. (and (<= v_main_~k~0_95 12) (<= 12 v_main_~k~0_95) (= (store |v_#memory_int_18| |main_~#a~0.base| (store (select |v_#memory_int_18| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_95) |main_~#a~0.offset|) v_main_~k~0_95)) |#memory_int|) (= |main_~#a~0.offset| 0)) [2018-11-23 12:15:50,202 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_main_~k~0_95]. (and (<= v_main_~k~0_95 12) (<= 12 v_main_~k~0_95) (= v_main_~k~0_95 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_95) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0)) [2018-11-23 12:15:52,452 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 12:15:52,457 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:15:52,459 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-23 12:15:52,485 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:15:52,487 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:15:52,491 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:15:52,492 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-23 12:15:52,494 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:15:52,494 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= |main_#t~mem1| (select .cse0 (* 4 main_~i~0))) (= 12 (select .cse0 48)) (= main_~i~0 12))) [2018-11-23 12:15:52,495 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 12 |main_#t~mem1|) (= main_~i~0 12)) [2018-11-23 12:15:52,618 INFO L256 TraceCheckUtils]: 0: Hoare triple {15196#true} call ULTIMATE.init(); {15196#true} is VALID [2018-11-23 12:15:52,618 INFO L273 TraceCheckUtils]: 1: Hoare triple {15196#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {15196#true} is VALID [2018-11-23 12:15:52,619 INFO L273 TraceCheckUtils]: 2: Hoare triple {15196#true} assume true; {15196#true} is VALID [2018-11-23 12:15:52,619 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {15196#true} {15196#true} #54#return; {15196#true} is VALID [2018-11-23 12:15:52,619 INFO L256 TraceCheckUtils]: 4: Hoare triple {15196#true} call #t~ret2 := main(); {15196#true} is VALID [2018-11-23 12:15:52,619 INFO L273 TraceCheckUtils]: 5: Hoare triple {15196#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {15196#true} is VALID [2018-11-23 12:15:52,620 INFO L273 TraceCheckUtils]: 6: Hoare triple {15196#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {15198#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:52,621 INFO L273 TraceCheckUtils]: 7: Hoare triple {15198#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15199#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} is VALID [2018-11-23 12:15:52,621 INFO L273 TraceCheckUtils]: 8: Hoare triple {15199#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15200#(and (<= 2 main_~k~0) (<= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:52,622 INFO L273 TraceCheckUtils]: 9: Hoare triple {15200#(and (<= 2 main_~k~0) (<= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15201#(and (<= 3 main_~k~0) (<= main_~k~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:52,623 INFO L273 TraceCheckUtils]: 10: Hoare triple {15201#(and (<= 3 main_~k~0) (<= main_~k~0 3) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15202#(and (<= main_~k~0 4) (<= 4 main_~k~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:52,624 INFO L273 TraceCheckUtils]: 11: Hoare triple {15202#(and (<= main_~k~0 4) (<= 4 main_~k~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15203#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:52,624 INFO L273 TraceCheckUtils]: 12: Hoare triple {15203#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15204#(and (= main_~k~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:52,625 INFO L273 TraceCheckUtils]: 13: Hoare triple {15204#(and (= main_~k~0 6) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15205#(and (= main_~k~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:52,626 INFO L273 TraceCheckUtils]: 14: Hoare triple {15205#(and (= main_~k~0 7) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15206#(and (<= main_~k~0 8) (<= 8 main_~k~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:52,627 INFO L273 TraceCheckUtils]: 15: Hoare triple {15206#(and (<= main_~k~0 8) (<= 8 main_~k~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15207#(and (= main_~k~0 9) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:52,628 INFO L273 TraceCheckUtils]: 16: Hoare triple {15207#(and (= main_~k~0 9) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15208#(and (<= 10 main_~k~0) (<= main_~k~0 10) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:52,629 INFO L273 TraceCheckUtils]: 17: Hoare triple {15208#(and (<= 10 main_~k~0) (<= main_~k~0 10) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15209#(and (= main_~k~0 11) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:52,630 INFO L273 TraceCheckUtils]: 18: Hoare triple {15209#(and (= main_~k~0 11) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15210#(and (<= main_~k~0 12) (<= 12 main_~k~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:15:52,631 INFO L273 TraceCheckUtils]: 19: Hoare triple {15210#(and (<= main_~k~0 12) (<= 12 main_~k~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {15211#(and (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,632 INFO L273 TraceCheckUtils]: 20: Hoare triple {15211#(and (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} assume !(~i~0 < ~N~0); {15211#(and (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,633 INFO L273 TraceCheckUtils]: 21: Hoare triple {15211#(and (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} ~i~0 := 0; {15212#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,634 INFO L273 TraceCheckUtils]: 22: Hoare triple {15212#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15212#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,636 INFO L256 TraceCheckUtils]: 23: Hoare triple {15212#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,636 INFO L273 TraceCheckUtils]: 24: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} ~cond := #in~cond; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,637 INFO L273 TraceCheckUtils]: 25: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume !(0 == ~cond); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,637 INFO L273 TraceCheckUtils]: 26: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume true; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,638 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} {15212#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} #58#return; {15212#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,639 INFO L273 TraceCheckUtils]: 28: Hoare triple {15212#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15317#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,640 INFO L273 TraceCheckUtils]: 29: Hoare triple {15317#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15317#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,641 INFO L256 TraceCheckUtils]: 30: Hoare triple {15317#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,642 INFO L273 TraceCheckUtils]: 31: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} ~cond := #in~cond; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,642 INFO L273 TraceCheckUtils]: 32: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume !(0 == ~cond); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,643 INFO L273 TraceCheckUtils]: 33: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume true; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,644 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} {15317#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} #58#return; {15317#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,645 INFO L273 TraceCheckUtils]: 35: Hoare triple {15317#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15339#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,645 INFO L273 TraceCheckUtils]: 36: Hoare triple {15339#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15339#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,647 INFO L256 TraceCheckUtils]: 37: Hoare triple {15339#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,647 INFO L273 TraceCheckUtils]: 38: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} ~cond := #in~cond; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,648 INFO L273 TraceCheckUtils]: 39: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume !(0 == ~cond); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,649 INFO L273 TraceCheckUtils]: 40: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume true; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,649 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} {15339#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} #58#return; {15339#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,650 INFO L273 TraceCheckUtils]: 42: Hoare triple {15339#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15361#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,651 INFO L273 TraceCheckUtils]: 43: Hoare triple {15361#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15361#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,653 INFO L256 TraceCheckUtils]: 44: Hoare triple {15361#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,653 INFO L273 TraceCheckUtils]: 45: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} ~cond := #in~cond; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,654 INFO L273 TraceCheckUtils]: 46: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume !(0 == ~cond); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,654 INFO L273 TraceCheckUtils]: 47: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume true; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,655 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} {15361#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} #58#return; {15361#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,656 INFO L273 TraceCheckUtils]: 49: Hoare triple {15361#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15383#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,657 INFO L273 TraceCheckUtils]: 50: Hoare triple {15383#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15383#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,658 INFO L256 TraceCheckUtils]: 51: Hoare triple {15383#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,659 INFO L273 TraceCheckUtils]: 52: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} ~cond := #in~cond; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,659 INFO L273 TraceCheckUtils]: 53: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume !(0 == ~cond); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,660 INFO L273 TraceCheckUtils]: 54: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume true; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,661 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} {15383#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} #58#return; {15383#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,662 INFO L273 TraceCheckUtils]: 56: Hoare triple {15383#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15405#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,663 INFO L273 TraceCheckUtils]: 57: Hoare triple {15405#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15405#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,664 INFO L256 TraceCheckUtils]: 58: Hoare triple {15405#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,665 INFO L273 TraceCheckUtils]: 59: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} ~cond := #in~cond; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,665 INFO L273 TraceCheckUtils]: 60: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume !(0 == ~cond); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,666 INFO L273 TraceCheckUtils]: 61: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume true; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,667 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} {15405#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} #58#return; {15405#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,668 INFO L273 TraceCheckUtils]: 63: Hoare triple {15405#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15427#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,668 INFO L273 TraceCheckUtils]: 64: Hoare triple {15427#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15427#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,670 INFO L256 TraceCheckUtils]: 65: Hoare triple {15427#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,670 INFO L273 TraceCheckUtils]: 66: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} ~cond := #in~cond; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,671 INFO L273 TraceCheckUtils]: 67: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume !(0 == ~cond); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,671 INFO L273 TraceCheckUtils]: 68: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume true; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,672 INFO L268 TraceCheckUtils]: 69: Hoare quadruple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} {15427#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} #58#return; {15427#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,673 INFO L273 TraceCheckUtils]: 70: Hoare triple {15427#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15449#(and (= main_~i~0 7) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,674 INFO L273 TraceCheckUtils]: 71: Hoare triple {15449#(and (= main_~i~0 7) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15449#(and (= main_~i~0 7) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,676 INFO L256 TraceCheckUtils]: 72: Hoare triple {15449#(and (= main_~i~0 7) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,676 INFO L273 TraceCheckUtils]: 73: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} ~cond := #in~cond; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,680 INFO L273 TraceCheckUtils]: 74: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume !(0 == ~cond); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,680 INFO L273 TraceCheckUtils]: 75: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume true; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,681 INFO L268 TraceCheckUtils]: 76: Hoare quadruple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} {15449#(and (= main_~i~0 7) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} #58#return; {15449#(and (= main_~i~0 7) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,681 INFO L273 TraceCheckUtils]: 77: Hoare triple {15449#(and (= main_~i~0 7) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15471#(and (= main_~i~0 8) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,682 INFO L273 TraceCheckUtils]: 78: Hoare triple {15471#(and (= main_~i~0 8) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15471#(and (= main_~i~0 8) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,683 INFO L256 TraceCheckUtils]: 79: Hoare triple {15471#(and (= main_~i~0 8) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,683 INFO L273 TraceCheckUtils]: 80: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} ~cond := #in~cond; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,683 INFO L273 TraceCheckUtils]: 81: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume !(0 == ~cond); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,684 INFO L273 TraceCheckUtils]: 82: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume true; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,684 INFO L268 TraceCheckUtils]: 83: Hoare quadruple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} {15471#(and (= main_~i~0 8) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} #58#return; {15471#(and (= main_~i~0 8) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,685 INFO L273 TraceCheckUtils]: 84: Hoare triple {15471#(and (= main_~i~0 8) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15493#(and (= main_~i~0 9) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,686 INFO L273 TraceCheckUtils]: 85: Hoare triple {15493#(and (= main_~i~0 9) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15493#(and (= main_~i~0 9) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,688 INFO L256 TraceCheckUtils]: 86: Hoare triple {15493#(and (= main_~i~0 9) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,688 INFO L273 TraceCheckUtils]: 87: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} ~cond := #in~cond; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,689 INFO L273 TraceCheckUtils]: 88: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume !(0 == ~cond); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,689 INFO L273 TraceCheckUtils]: 89: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume true; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,690 INFO L268 TraceCheckUtils]: 90: Hoare quadruple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} {15493#(and (= main_~i~0 9) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} #58#return; {15493#(and (= main_~i~0 9) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,691 INFO L273 TraceCheckUtils]: 91: Hoare triple {15493#(and (= main_~i~0 9) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15515#(and (= main_~i~0 10) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,692 INFO L273 TraceCheckUtils]: 92: Hoare triple {15515#(and (= main_~i~0 10) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15515#(and (= main_~i~0 10) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,693 INFO L256 TraceCheckUtils]: 93: Hoare triple {15515#(and (= main_~i~0 10) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,694 INFO L273 TraceCheckUtils]: 94: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} ~cond := #in~cond; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,695 INFO L273 TraceCheckUtils]: 95: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume !(0 == ~cond); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,695 INFO L273 TraceCheckUtils]: 96: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume true; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,696 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} {15515#(and (= main_~i~0 10) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} #58#return; {15515#(and (= main_~i~0 10) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,697 INFO L273 TraceCheckUtils]: 98: Hoare triple {15515#(and (= main_~i~0 10) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15537#(and (= main_~i~0 11) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,698 INFO L273 TraceCheckUtils]: 99: Hoare triple {15537#(and (= main_~i~0 11) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15537#(and (= main_~i~0 11) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,699 INFO L256 TraceCheckUtils]: 100: Hoare triple {15537#(and (= main_~i~0 11) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,700 INFO L273 TraceCheckUtils]: 101: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} ~cond := #in~cond; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,700 INFO L273 TraceCheckUtils]: 102: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume !(0 == ~cond); {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,701 INFO L273 TraceCheckUtils]: 103: Hoare triple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} assume true; {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} is VALID [2018-11-23 12:15:52,702 INFO L268 TraceCheckUtils]: 104: Hoare quadruple {15301#(exists ((|v_main_~#a~0.base_BEFORE_CALL_67| Int)) (= 12 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_67|) 48)))} {15537#(and (= main_~i~0 11) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} #58#return; {15537#(and (= main_~i~0 11) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,703 INFO L273 TraceCheckUtils]: 105: Hoare triple {15537#(and (= main_~i~0 11) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} havoc #t~mem1;~i~0 := 1 + ~i~0; {15559#(and (= main_~i~0 12) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} is VALID [2018-11-23 12:15:52,704 INFO L273 TraceCheckUtils]: 106: Hoare triple {15559#(and (= main_~i~0 12) (= |main_~#a~0.offset| 0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 12))) (+ |main_~#a~0.offset| 12)))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {15563#(and (= 12 |main_#t~mem1|) (= main_~i~0 12))} is VALID [2018-11-23 12:15:52,705 INFO L256 TraceCheckUtils]: 107: Hoare triple {15563#(and (= 12 |main_#t~mem1|) (= main_~i~0 12))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {15567#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:15:52,705 INFO L273 TraceCheckUtils]: 108: Hoare triple {15567#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {15571#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:15:52,706 INFO L273 TraceCheckUtils]: 109: Hoare triple {15571#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15197#false} is VALID [2018-11-23 12:15:52,706 INFO L273 TraceCheckUtils]: 110: Hoare triple {15197#false} assume !false; {15197#false} is VALID [2018-11-23 12:15:52,737 INFO L134 CoverageAnalysis]: Checked inductivity of 601 backedges. 0 proven. 337 refuted. 0 times theorem prover too weak. 264 trivial. 0 not checked. [2018-11-23 12:15:52,757 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:52,757 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [33, 33] total 49 [2018-11-23 12:15:52,757 INFO L78 Accepts]: Start accepts. Automaton has 49 states. Word has length 111 [2018-11-23 12:15:52,758 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:52,758 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 49 states. [2018-11-23 12:15:52,919 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:52,919 INFO L459 AbstractCegarLoop]: Interpolant automaton has 49 states [2018-11-23 12:15:52,920 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 49 interpolants. [2018-11-23 12:15:52,920 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=137, Invalid=2215, Unknown=0, NotChecked=0, Total=2352 [2018-11-23 12:15:52,921 INFO L87 Difference]: Start difference. First operand 114 states and 115 transitions. Second operand 49 states. [2018-11-23 12:16:05,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:05,343 INFO L93 Difference]: Finished difference Result 124 states and 125 transitions. [2018-11-23 12:16:05,344 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 48 states. [2018-11-23 12:16:05,344 INFO L78 Accepts]: Start accepts. Automaton has 49 states. Word has length 111 [2018-11-23 12:16:05,344 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:05,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 12:16:05,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 89 transitions. [2018-11-23 12:16:05,345 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 12:16:05,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 89 transitions. [2018-11-23 12:16:05,347 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 48 states and 89 transitions. [2018-11-23 12:16:05,451 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:05,453 INFO L225 Difference]: With dead ends: 124 [2018-11-23 12:16:05,454 INFO L226 Difference]: Without dead ends: 122 [2018-11-23 12:16:05,454 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 164 GetRequests, 67 SyntacticMatches, 32 SemanticMatches, 65 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 779 ImplicationChecksByTransitivity, 3.7s TimeCoverageRelationStatistics Valid=273, Invalid=4149, Unknown=0, NotChecked=0, Total=4422 [2018-11-23 12:16:05,455 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states. [2018-11-23 12:16:06,113 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 121. [2018-11-23 12:16:06,114 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:06,114 INFO L82 GeneralOperation]: Start isEquivalent. First operand 122 states. Second operand 121 states. [2018-11-23 12:16:06,114 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand 121 states. [2018-11-23 12:16:06,114 INFO L87 Difference]: Start difference. First operand 122 states. Second operand 121 states. [2018-11-23 12:16:06,116 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:06,117 INFO L93 Difference]: Finished difference Result 122 states and 123 transitions. [2018-11-23 12:16:06,117 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 123 transitions. [2018-11-23 12:16:06,118 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:06,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:06,118 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 122 states. [2018-11-23 12:16:06,118 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 122 states. [2018-11-23 12:16:06,120 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:06,120 INFO L93 Difference]: Finished difference Result 122 states and 123 transitions. [2018-11-23 12:16:06,121 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 123 transitions. [2018-11-23 12:16:06,121 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:06,121 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:06,121 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:06,121 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:06,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 121 states. [2018-11-23 12:16:06,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 122 transitions. [2018-11-23 12:16:06,124 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 122 transitions. Word has length 111 [2018-11-23 12:16:06,124 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:06,124 INFO L480 AbstractCegarLoop]: Abstraction has 121 states and 122 transitions. [2018-11-23 12:16:06,124 INFO L481 AbstractCegarLoop]: Interpolant automaton has 49 states. [2018-11-23 12:16:06,124 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 122 transitions. [2018-11-23 12:16:06,125 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 119 [2018-11-23 12:16:06,125 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:06,125 INFO L402 BasicCegarLoop]: trace histogram [14, 14, 14, 13, 13, 13, 13, 13, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:16:06,125 INFO L423 AbstractCegarLoop]: === Iteration 27 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:06,126 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:06,126 INFO L82 PathProgramCache]: Analyzing trace with hash -2112030856, now seen corresponding path program 24 times [2018-11-23 12:16:06,126 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:06,126 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:06,127 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:06,127 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:06,127 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:06,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:07,594 INFO L256 TraceCheckUtils]: 0: Hoare triple {16223#true} call ULTIMATE.init(); {16223#true} is VALID [2018-11-23 12:16:07,594 INFO L273 TraceCheckUtils]: 1: Hoare triple {16223#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {16223#true} is VALID [2018-11-23 12:16:07,595 INFO L273 TraceCheckUtils]: 2: Hoare triple {16223#true} assume true; {16223#true} is VALID [2018-11-23 12:16:07,595 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {16223#true} {16223#true} #54#return; {16223#true} is VALID [2018-11-23 12:16:07,595 INFO L256 TraceCheckUtils]: 4: Hoare triple {16223#true} call #t~ret2 := main(); {16223#true} is VALID [2018-11-23 12:16:07,595 INFO L273 TraceCheckUtils]: 5: Hoare triple {16223#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {16223#true} is VALID [2018-11-23 12:16:07,596 INFO L273 TraceCheckUtils]: 6: Hoare triple {16223#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {16225#(= main_~i~0 0)} is VALID [2018-11-23 12:16:07,597 INFO L273 TraceCheckUtils]: 7: Hoare triple {16225#(= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16226#(<= main_~i~0 1)} is VALID [2018-11-23 12:16:07,598 INFO L273 TraceCheckUtils]: 8: Hoare triple {16226#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16227#(<= main_~i~0 2)} is VALID [2018-11-23 12:16:07,599 INFO L273 TraceCheckUtils]: 9: Hoare triple {16227#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16228#(<= main_~i~0 3)} is VALID [2018-11-23 12:16:07,600 INFO L273 TraceCheckUtils]: 10: Hoare triple {16228#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16229#(<= main_~i~0 4)} is VALID [2018-11-23 12:16:07,601 INFO L273 TraceCheckUtils]: 11: Hoare triple {16229#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16230#(<= main_~i~0 5)} is VALID [2018-11-23 12:16:07,602 INFO L273 TraceCheckUtils]: 12: Hoare triple {16230#(<= main_~i~0 5)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16231#(<= main_~i~0 6)} is VALID [2018-11-23 12:16:07,603 INFO L273 TraceCheckUtils]: 13: Hoare triple {16231#(<= main_~i~0 6)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16232#(<= main_~i~0 7)} is VALID [2018-11-23 12:16:07,604 INFO L273 TraceCheckUtils]: 14: Hoare triple {16232#(<= main_~i~0 7)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16233#(<= main_~i~0 8)} is VALID [2018-11-23 12:16:07,605 INFO L273 TraceCheckUtils]: 15: Hoare triple {16233#(<= main_~i~0 8)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16234#(<= main_~i~0 9)} is VALID [2018-11-23 12:16:07,606 INFO L273 TraceCheckUtils]: 16: Hoare triple {16234#(<= main_~i~0 9)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16235#(<= main_~i~0 10)} is VALID [2018-11-23 12:16:07,607 INFO L273 TraceCheckUtils]: 17: Hoare triple {16235#(<= main_~i~0 10)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16236#(<= main_~i~0 11)} is VALID [2018-11-23 12:16:07,608 INFO L273 TraceCheckUtils]: 18: Hoare triple {16236#(<= main_~i~0 11)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16237#(<= main_~i~0 12)} is VALID [2018-11-23 12:16:07,609 INFO L273 TraceCheckUtils]: 19: Hoare triple {16237#(<= main_~i~0 12)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16238#(<= main_~i~0 13)} is VALID [2018-11-23 12:16:07,609 INFO L273 TraceCheckUtils]: 20: Hoare triple {16238#(<= main_~i~0 13)} assume !(~i~0 < ~N~0); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:07,610 INFO L273 TraceCheckUtils]: 21: Hoare triple {16239#(<= ~N~0 13)} ~i~0 := 0; {16240#(and (<= ~N~0 13) (= main_~i~0 0))} is VALID [2018-11-23 12:16:07,611 INFO L273 TraceCheckUtils]: 22: Hoare triple {16240#(and (<= ~N~0 13) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16240#(and (<= ~N~0 13) (= main_~i~0 0))} is VALID [2018-11-23 12:16:07,611 INFO L256 TraceCheckUtils]: 23: Hoare triple {16240#(and (<= ~N~0 13) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16223#true} is VALID [2018-11-23 12:16:07,611 INFO L273 TraceCheckUtils]: 24: Hoare triple {16223#true} ~cond := #in~cond; {16223#true} is VALID [2018-11-23 12:16:07,611 INFO L273 TraceCheckUtils]: 25: Hoare triple {16223#true} assume !(0 == ~cond); {16223#true} is VALID [2018-11-23 12:16:07,612 INFO L273 TraceCheckUtils]: 26: Hoare triple {16223#true} assume true; {16223#true} is VALID [2018-11-23 12:16:07,612 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {16223#true} {16240#(and (<= ~N~0 13) (= main_~i~0 0))} #58#return; {16240#(and (<= ~N~0 13) (= main_~i~0 0))} is VALID [2018-11-23 12:16:07,613 INFO L273 TraceCheckUtils]: 28: Hoare triple {16240#(and (<= ~N~0 13) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16241#(<= ~N~0 (+ main_~i~0 12))} is VALID [2018-11-23 12:16:07,614 INFO L273 TraceCheckUtils]: 29: Hoare triple {16241#(<= ~N~0 (+ main_~i~0 12))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16241#(<= ~N~0 (+ main_~i~0 12))} is VALID [2018-11-23 12:16:07,614 INFO L256 TraceCheckUtils]: 30: Hoare triple {16241#(<= ~N~0 (+ main_~i~0 12))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16223#true} is VALID [2018-11-23 12:16:07,614 INFO L273 TraceCheckUtils]: 31: Hoare triple {16223#true} ~cond := #in~cond; {16223#true} is VALID [2018-11-23 12:16:07,615 INFO L273 TraceCheckUtils]: 32: Hoare triple {16223#true} assume !(0 == ~cond); {16223#true} is VALID [2018-11-23 12:16:07,615 INFO L273 TraceCheckUtils]: 33: Hoare triple {16223#true} assume true; {16223#true} is VALID [2018-11-23 12:16:07,623 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {16223#true} {16241#(<= ~N~0 (+ main_~i~0 12))} #58#return; {16241#(<= ~N~0 (+ main_~i~0 12))} is VALID [2018-11-23 12:16:07,623 INFO L273 TraceCheckUtils]: 35: Hoare triple {16241#(<= ~N~0 (+ main_~i~0 12))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16242#(<= ~N~0 (+ main_~i~0 11))} is VALID [2018-11-23 12:16:07,624 INFO L273 TraceCheckUtils]: 36: Hoare triple {16242#(<= ~N~0 (+ main_~i~0 11))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16242#(<= ~N~0 (+ main_~i~0 11))} is VALID [2018-11-23 12:16:07,624 INFO L256 TraceCheckUtils]: 37: Hoare triple {16242#(<= ~N~0 (+ main_~i~0 11))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16223#true} is VALID [2018-11-23 12:16:07,624 INFO L273 TraceCheckUtils]: 38: Hoare triple {16223#true} ~cond := #in~cond; {16223#true} is VALID [2018-11-23 12:16:07,624 INFO L273 TraceCheckUtils]: 39: Hoare triple {16223#true} assume !(0 == ~cond); {16223#true} is VALID [2018-11-23 12:16:07,624 INFO L273 TraceCheckUtils]: 40: Hoare triple {16223#true} assume true; {16223#true} is VALID [2018-11-23 12:16:07,625 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {16223#true} {16242#(<= ~N~0 (+ main_~i~0 11))} #58#return; {16242#(<= ~N~0 (+ main_~i~0 11))} is VALID [2018-11-23 12:16:07,625 INFO L273 TraceCheckUtils]: 42: Hoare triple {16242#(<= ~N~0 (+ main_~i~0 11))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16243#(<= ~N~0 (+ main_~i~0 10))} is VALID [2018-11-23 12:16:07,626 INFO L273 TraceCheckUtils]: 43: Hoare triple {16243#(<= ~N~0 (+ main_~i~0 10))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16243#(<= ~N~0 (+ main_~i~0 10))} is VALID [2018-11-23 12:16:07,626 INFO L256 TraceCheckUtils]: 44: Hoare triple {16243#(<= ~N~0 (+ main_~i~0 10))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16223#true} is VALID [2018-11-23 12:16:07,626 INFO L273 TraceCheckUtils]: 45: Hoare triple {16223#true} ~cond := #in~cond; {16223#true} is VALID [2018-11-23 12:16:07,626 INFO L273 TraceCheckUtils]: 46: Hoare triple {16223#true} assume !(0 == ~cond); {16223#true} is VALID [2018-11-23 12:16:07,626 INFO L273 TraceCheckUtils]: 47: Hoare triple {16223#true} assume true; {16223#true} is VALID [2018-11-23 12:16:07,627 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {16223#true} {16243#(<= ~N~0 (+ main_~i~0 10))} #58#return; {16243#(<= ~N~0 (+ main_~i~0 10))} is VALID [2018-11-23 12:16:07,627 INFO L273 TraceCheckUtils]: 49: Hoare triple {16243#(<= ~N~0 (+ main_~i~0 10))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16244#(<= ~N~0 (+ main_~i~0 9))} is VALID [2018-11-23 12:16:07,628 INFO L273 TraceCheckUtils]: 50: Hoare triple {16244#(<= ~N~0 (+ main_~i~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16244#(<= ~N~0 (+ main_~i~0 9))} is VALID [2018-11-23 12:16:07,628 INFO L256 TraceCheckUtils]: 51: Hoare triple {16244#(<= ~N~0 (+ main_~i~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16223#true} is VALID [2018-11-23 12:16:07,628 INFO L273 TraceCheckUtils]: 52: Hoare triple {16223#true} ~cond := #in~cond; {16223#true} is VALID [2018-11-23 12:16:07,628 INFO L273 TraceCheckUtils]: 53: Hoare triple {16223#true} assume !(0 == ~cond); {16223#true} is VALID [2018-11-23 12:16:07,629 INFO L273 TraceCheckUtils]: 54: Hoare triple {16223#true} assume true; {16223#true} is VALID [2018-11-23 12:16:07,629 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {16223#true} {16244#(<= ~N~0 (+ main_~i~0 9))} #58#return; {16244#(<= ~N~0 (+ main_~i~0 9))} is VALID [2018-11-23 12:16:07,630 INFO L273 TraceCheckUtils]: 56: Hoare triple {16244#(<= ~N~0 (+ main_~i~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16245#(<= ~N~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:16:07,631 INFO L273 TraceCheckUtils]: 57: Hoare triple {16245#(<= ~N~0 (+ main_~i~0 8))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16245#(<= ~N~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:16:07,631 INFO L256 TraceCheckUtils]: 58: Hoare triple {16245#(<= ~N~0 (+ main_~i~0 8))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16223#true} is VALID [2018-11-23 12:16:07,631 INFO L273 TraceCheckUtils]: 59: Hoare triple {16223#true} ~cond := #in~cond; {16223#true} is VALID [2018-11-23 12:16:07,631 INFO L273 TraceCheckUtils]: 60: Hoare triple {16223#true} assume !(0 == ~cond); {16223#true} is VALID [2018-11-23 12:16:07,632 INFO L273 TraceCheckUtils]: 61: Hoare triple {16223#true} assume true; {16223#true} is VALID [2018-11-23 12:16:07,632 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {16223#true} {16245#(<= ~N~0 (+ main_~i~0 8))} #58#return; {16245#(<= ~N~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:16:07,633 INFO L273 TraceCheckUtils]: 63: Hoare triple {16245#(<= ~N~0 (+ main_~i~0 8))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16246#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:16:07,634 INFO L273 TraceCheckUtils]: 64: Hoare triple {16246#(<= ~N~0 (+ main_~i~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16246#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:16:07,634 INFO L256 TraceCheckUtils]: 65: Hoare triple {16246#(<= ~N~0 (+ main_~i~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16223#true} is VALID [2018-11-23 12:16:07,634 INFO L273 TraceCheckUtils]: 66: Hoare triple {16223#true} ~cond := #in~cond; {16223#true} is VALID [2018-11-23 12:16:07,634 INFO L273 TraceCheckUtils]: 67: Hoare triple {16223#true} assume !(0 == ~cond); {16223#true} is VALID [2018-11-23 12:16:07,634 INFO L273 TraceCheckUtils]: 68: Hoare triple {16223#true} assume true; {16223#true} is VALID [2018-11-23 12:16:07,635 INFO L268 TraceCheckUtils]: 69: Hoare quadruple {16223#true} {16246#(<= ~N~0 (+ main_~i~0 7))} #58#return; {16246#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:16:07,636 INFO L273 TraceCheckUtils]: 70: Hoare triple {16246#(<= ~N~0 (+ main_~i~0 7))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16247#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:16:07,636 INFO L273 TraceCheckUtils]: 71: Hoare triple {16247#(<= ~N~0 (+ main_~i~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16247#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:16:07,637 INFO L256 TraceCheckUtils]: 72: Hoare triple {16247#(<= ~N~0 (+ main_~i~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16223#true} is VALID [2018-11-23 12:16:07,637 INFO L273 TraceCheckUtils]: 73: Hoare triple {16223#true} ~cond := #in~cond; {16223#true} is VALID [2018-11-23 12:16:07,637 INFO L273 TraceCheckUtils]: 74: Hoare triple {16223#true} assume !(0 == ~cond); {16223#true} is VALID [2018-11-23 12:16:07,637 INFO L273 TraceCheckUtils]: 75: Hoare triple {16223#true} assume true; {16223#true} is VALID [2018-11-23 12:16:07,638 INFO L268 TraceCheckUtils]: 76: Hoare quadruple {16223#true} {16247#(<= ~N~0 (+ main_~i~0 6))} #58#return; {16247#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:16:07,639 INFO L273 TraceCheckUtils]: 77: Hoare triple {16247#(<= ~N~0 (+ main_~i~0 6))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16248#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:16:07,639 INFO L273 TraceCheckUtils]: 78: Hoare triple {16248#(<= ~N~0 (+ main_~i~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16248#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:16:07,640 INFO L256 TraceCheckUtils]: 79: Hoare triple {16248#(<= ~N~0 (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16223#true} is VALID [2018-11-23 12:16:07,640 INFO L273 TraceCheckUtils]: 80: Hoare triple {16223#true} ~cond := #in~cond; {16223#true} is VALID [2018-11-23 12:16:07,640 INFO L273 TraceCheckUtils]: 81: Hoare triple {16223#true} assume !(0 == ~cond); {16223#true} is VALID [2018-11-23 12:16:07,640 INFO L273 TraceCheckUtils]: 82: Hoare triple {16223#true} assume true; {16223#true} is VALID [2018-11-23 12:16:07,641 INFO L268 TraceCheckUtils]: 83: Hoare quadruple {16223#true} {16248#(<= ~N~0 (+ main_~i~0 5))} #58#return; {16248#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:16:07,642 INFO L273 TraceCheckUtils]: 84: Hoare triple {16248#(<= ~N~0 (+ main_~i~0 5))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16249#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:16:07,642 INFO L273 TraceCheckUtils]: 85: Hoare triple {16249#(<= ~N~0 (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16249#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:16:07,642 INFO L256 TraceCheckUtils]: 86: Hoare triple {16249#(<= ~N~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16223#true} is VALID [2018-11-23 12:16:07,643 INFO L273 TraceCheckUtils]: 87: Hoare triple {16223#true} ~cond := #in~cond; {16223#true} is VALID [2018-11-23 12:16:07,643 INFO L273 TraceCheckUtils]: 88: Hoare triple {16223#true} assume !(0 == ~cond); {16223#true} is VALID [2018-11-23 12:16:07,643 INFO L273 TraceCheckUtils]: 89: Hoare triple {16223#true} assume true; {16223#true} is VALID [2018-11-23 12:16:07,644 INFO L268 TraceCheckUtils]: 90: Hoare quadruple {16223#true} {16249#(<= ~N~0 (+ main_~i~0 4))} #58#return; {16249#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:16:07,644 INFO L273 TraceCheckUtils]: 91: Hoare triple {16249#(<= ~N~0 (+ main_~i~0 4))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16250#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:16:07,645 INFO L273 TraceCheckUtils]: 92: Hoare triple {16250#(<= ~N~0 (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16250#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:16:07,645 INFO L256 TraceCheckUtils]: 93: Hoare triple {16250#(<= ~N~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16223#true} is VALID [2018-11-23 12:16:07,645 INFO L273 TraceCheckUtils]: 94: Hoare triple {16223#true} ~cond := #in~cond; {16223#true} is VALID [2018-11-23 12:16:07,645 INFO L273 TraceCheckUtils]: 95: Hoare triple {16223#true} assume !(0 == ~cond); {16223#true} is VALID [2018-11-23 12:16:07,645 INFO L273 TraceCheckUtils]: 96: Hoare triple {16223#true} assume true; {16223#true} is VALID [2018-11-23 12:16:07,646 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {16223#true} {16250#(<= ~N~0 (+ main_~i~0 3))} #58#return; {16250#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:16:07,646 INFO L273 TraceCheckUtils]: 98: Hoare triple {16250#(<= ~N~0 (+ main_~i~0 3))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16251#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:16:07,651 INFO L273 TraceCheckUtils]: 99: Hoare triple {16251#(<= ~N~0 (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16251#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:16:07,651 INFO L256 TraceCheckUtils]: 100: Hoare triple {16251#(<= ~N~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16223#true} is VALID [2018-11-23 12:16:07,652 INFO L273 TraceCheckUtils]: 101: Hoare triple {16223#true} ~cond := #in~cond; {16223#true} is VALID [2018-11-23 12:16:07,652 INFO L273 TraceCheckUtils]: 102: Hoare triple {16223#true} assume !(0 == ~cond); {16223#true} is VALID [2018-11-23 12:16:07,652 INFO L273 TraceCheckUtils]: 103: Hoare triple {16223#true} assume true; {16223#true} is VALID [2018-11-23 12:16:07,652 INFO L268 TraceCheckUtils]: 104: Hoare quadruple {16223#true} {16251#(<= ~N~0 (+ main_~i~0 2))} #58#return; {16251#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:16:07,653 INFO L273 TraceCheckUtils]: 105: Hoare triple {16251#(<= ~N~0 (+ main_~i~0 2))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16252#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:16:07,653 INFO L273 TraceCheckUtils]: 106: Hoare triple {16252#(<= ~N~0 (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16252#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:16:07,653 INFO L256 TraceCheckUtils]: 107: Hoare triple {16252#(<= ~N~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16223#true} is VALID [2018-11-23 12:16:07,653 INFO L273 TraceCheckUtils]: 108: Hoare triple {16223#true} ~cond := #in~cond; {16223#true} is VALID [2018-11-23 12:16:07,653 INFO L273 TraceCheckUtils]: 109: Hoare triple {16223#true} assume !(0 == ~cond); {16223#true} is VALID [2018-11-23 12:16:07,654 INFO L273 TraceCheckUtils]: 110: Hoare triple {16223#true} assume true; {16223#true} is VALID [2018-11-23 12:16:07,654 INFO L268 TraceCheckUtils]: 111: Hoare quadruple {16223#true} {16252#(<= ~N~0 (+ main_~i~0 1))} #58#return; {16252#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:16:07,655 INFO L273 TraceCheckUtils]: 112: Hoare triple {16252#(<= ~N~0 (+ main_~i~0 1))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16253#(<= ~N~0 main_~i~0)} is VALID [2018-11-23 12:16:07,655 INFO L273 TraceCheckUtils]: 113: Hoare triple {16253#(<= ~N~0 main_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16224#false} is VALID [2018-11-23 12:16:07,655 INFO L256 TraceCheckUtils]: 114: Hoare triple {16224#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16224#false} is VALID [2018-11-23 12:16:07,656 INFO L273 TraceCheckUtils]: 115: Hoare triple {16224#false} ~cond := #in~cond; {16224#false} is VALID [2018-11-23 12:16:07,656 INFO L273 TraceCheckUtils]: 116: Hoare triple {16224#false} assume 0 == ~cond; {16224#false} is VALID [2018-11-23 12:16:07,656 INFO L273 TraceCheckUtils]: 117: Hoare triple {16224#false} assume !false; {16224#false} is VALID [2018-11-23 12:16:07,667 INFO L134 CoverageAnalysis]: Checked inductivity of 689 backedges. 249 proven. 128 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2018-11-23 12:16:07,667 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:07,667 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 26 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 26 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:07,675 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:16:07,963 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 14 check-sat command(s) [2018-11-23 12:16:07,963 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:07,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:08,000 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:08,737 INFO L256 TraceCheckUtils]: 0: Hoare triple {16223#true} call ULTIMATE.init(); {16223#true} is VALID [2018-11-23 12:16:08,737 INFO L273 TraceCheckUtils]: 1: Hoare triple {16223#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {16223#true} is VALID [2018-11-23 12:16:08,737 INFO L273 TraceCheckUtils]: 2: Hoare triple {16223#true} assume true; {16223#true} is VALID [2018-11-23 12:16:08,737 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {16223#true} {16223#true} #54#return; {16223#true} is VALID [2018-11-23 12:16:08,738 INFO L256 TraceCheckUtils]: 4: Hoare triple {16223#true} call #t~ret2 := main(); {16223#true} is VALID [2018-11-23 12:16:08,738 INFO L273 TraceCheckUtils]: 5: Hoare triple {16223#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {16223#true} is VALID [2018-11-23 12:16:08,739 INFO L273 TraceCheckUtils]: 6: Hoare triple {16223#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {16275#(<= main_~i~0 0)} is VALID [2018-11-23 12:16:08,739 INFO L273 TraceCheckUtils]: 7: Hoare triple {16275#(<= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16226#(<= main_~i~0 1)} is VALID [2018-11-23 12:16:08,740 INFO L273 TraceCheckUtils]: 8: Hoare triple {16226#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16227#(<= main_~i~0 2)} is VALID [2018-11-23 12:16:08,744 INFO L273 TraceCheckUtils]: 9: Hoare triple {16227#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16228#(<= main_~i~0 3)} is VALID [2018-11-23 12:16:08,745 INFO L273 TraceCheckUtils]: 10: Hoare triple {16228#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16229#(<= main_~i~0 4)} is VALID [2018-11-23 12:16:08,746 INFO L273 TraceCheckUtils]: 11: Hoare triple {16229#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16230#(<= main_~i~0 5)} is VALID [2018-11-23 12:16:08,746 INFO L273 TraceCheckUtils]: 12: Hoare triple {16230#(<= main_~i~0 5)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16231#(<= main_~i~0 6)} is VALID [2018-11-23 12:16:08,747 INFO L273 TraceCheckUtils]: 13: Hoare triple {16231#(<= main_~i~0 6)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16232#(<= main_~i~0 7)} is VALID [2018-11-23 12:16:08,748 INFO L273 TraceCheckUtils]: 14: Hoare triple {16232#(<= main_~i~0 7)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16233#(<= main_~i~0 8)} is VALID [2018-11-23 12:16:08,749 INFO L273 TraceCheckUtils]: 15: Hoare triple {16233#(<= main_~i~0 8)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16234#(<= main_~i~0 9)} is VALID [2018-11-23 12:16:08,750 INFO L273 TraceCheckUtils]: 16: Hoare triple {16234#(<= main_~i~0 9)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16235#(<= main_~i~0 10)} is VALID [2018-11-23 12:16:08,751 INFO L273 TraceCheckUtils]: 17: Hoare triple {16235#(<= main_~i~0 10)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16236#(<= main_~i~0 11)} is VALID [2018-11-23 12:16:08,752 INFO L273 TraceCheckUtils]: 18: Hoare triple {16236#(<= main_~i~0 11)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16237#(<= main_~i~0 12)} is VALID [2018-11-23 12:16:08,753 INFO L273 TraceCheckUtils]: 19: Hoare triple {16237#(<= main_~i~0 12)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {16238#(<= main_~i~0 13)} is VALID [2018-11-23 12:16:08,754 INFO L273 TraceCheckUtils]: 20: Hoare triple {16238#(<= main_~i~0 13)} assume !(~i~0 < ~N~0); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,754 INFO L273 TraceCheckUtils]: 21: Hoare triple {16239#(<= ~N~0 13)} ~i~0 := 0; {16321#(and (<= ~N~0 13) (<= 0 main_~i~0))} is VALID [2018-11-23 12:16:08,755 INFO L273 TraceCheckUtils]: 22: Hoare triple {16321#(and (<= ~N~0 13) (<= 0 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16321#(and (<= ~N~0 13) (<= 0 main_~i~0))} is VALID [2018-11-23 12:16:08,756 INFO L256 TraceCheckUtils]: 23: Hoare triple {16321#(and (<= ~N~0 13) (<= 0 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,757 INFO L273 TraceCheckUtils]: 24: Hoare triple {16239#(<= ~N~0 13)} ~cond := #in~cond; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,757 INFO L273 TraceCheckUtils]: 25: Hoare triple {16239#(<= ~N~0 13)} assume !(0 == ~cond); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,758 INFO L273 TraceCheckUtils]: 26: Hoare triple {16239#(<= ~N~0 13)} assume true; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,759 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {16239#(<= ~N~0 13)} {16321#(and (<= ~N~0 13) (<= 0 main_~i~0))} #58#return; {16321#(and (<= ~N~0 13) (<= 0 main_~i~0))} is VALID [2018-11-23 12:16:08,759 INFO L273 TraceCheckUtils]: 28: Hoare triple {16321#(and (<= ~N~0 13) (<= 0 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16343#(and (<= ~N~0 13) (<= 1 main_~i~0))} is VALID [2018-11-23 12:16:08,781 INFO L273 TraceCheckUtils]: 29: Hoare triple {16343#(and (<= ~N~0 13) (<= 1 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16343#(and (<= ~N~0 13) (<= 1 main_~i~0))} is VALID [2018-11-23 12:16:08,793 INFO L256 TraceCheckUtils]: 30: Hoare triple {16343#(and (<= ~N~0 13) (<= 1 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,794 INFO L273 TraceCheckUtils]: 31: Hoare triple {16239#(<= ~N~0 13)} ~cond := #in~cond; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,809 INFO L273 TraceCheckUtils]: 32: Hoare triple {16239#(<= ~N~0 13)} assume !(0 == ~cond); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,818 INFO L273 TraceCheckUtils]: 33: Hoare triple {16239#(<= ~N~0 13)} assume true; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,831 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {16239#(<= ~N~0 13)} {16343#(and (<= ~N~0 13) (<= 1 main_~i~0))} #58#return; {16343#(and (<= ~N~0 13) (<= 1 main_~i~0))} is VALID [2018-11-23 12:16:08,847 INFO L273 TraceCheckUtils]: 35: Hoare triple {16343#(and (<= ~N~0 13) (<= 1 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16365#(and (<= ~N~0 13) (<= 2 main_~i~0))} is VALID [2018-11-23 12:16:08,859 INFO L273 TraceCheckUtils]: 36: Hoare triple {16365#(and (<= ~N~0 13) (<= 2 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16365#(and (<= ~N~0 13) (<= 2 main_~i~0))} is VALID [2018-11-23 12:16:08,863 INFO L256 TraceCheckUtils]: 37: Hoare triple {16365#(and (<= ~N~0 13) (<= 2 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,864 INFO L273 TraceCheckUtils]: 38: Hoare triple {16239#(<= ~N~0 13)} ~cond := #in~cond; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,868 INFO L273 TraceCheckUtils]: 39: Hoare triple {16239#(<= ~N~0 13)} assume !(0 == ~cond); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,868 INFO L273 TraceCheckUtils]: 40: Hoare triple {16239#(<= ~N~0 13)} assume true; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,871 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {16239#(<= ~N~0 13)} {16365#(and (<= ~N~0 13) (<= 2 main_~i~0))} #58#return; {16365#(and (<= ~N~0 13) (<= 2 main_~i~0))} is VALID [2018-11-23 12:16:08,871 INFO L273 TraceCheckUtils]: 42: Hoare triple {16365#(and (<= ~N~0 13) (<= 2 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16387#(and (<= ~N~0 13) (<= 3 main_~i~0))} is VALID [2018-11-23 12:16:08,872 INFO L273 TraceCheckUtils]: 43: Hoare triple {16387#(and (<= ~N~0 13) (<= 3 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16387#(and (<= ~N~0 13) (<= 3 main_~i~0))} is VALID [2018-11-23 12:16:08,872 INFO L256 TraceCheckUtils]: 44: Hoare triple {16387#(and (<= ~N~0 13) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,873 INFO L273 TraceCheckUtils]: 45: Hoare triple {16239#(<= ~N~0 13)} ~cond := #in~cond; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,891 INFO L273 TraceCheckUtils]: 46: Hoare triple {16239#(<= ~N~0 13)} assume !(0 == ~cond); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,900 INFO L273 TraceCheckUtils]: 47: Hoare triple {16239#(<= ~N~0 13)} assume true; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,915 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {16239#(<= ~N~0 13)} {16387#(and (<= ~N~0 13) (<= 3 main_~i~0))} #58#return; {16387#(and (<= ~N~0 13) (<= 3 main_~i~0))} is VALID [2018-11-23 12:16:08,924 INFO L273 TraceCheckUtils]: 49: Hoare triple {16387#(and (<= ~N~0 13) (<= 3 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16409#(and (<= ~N~0 13) (<= 4 main_~i~0))} is VALID [2018-11-23 12:16:08,937 INFO L273 TraceCheckUtils]: 50: Hoare triple {16409#(and (<= ~N~0 13) (<= 4 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16409#(and (<= ~N~0 13) (<= 4 main_~i~0))} is VALID [2018-11-23 12:16:08,950 INFO L256 TraceCheckUtils]: 51: Hoare triple {16409#(and (<= ~N~0 13) (<= 4 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,962 INFO L273 TraceCheckUtils]: 52: Hoare triple {16239#(<= ~N~0 13)} ~cond := #in~cond; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,975 INFO L273 TraceCheckUtils]: 53: Hoare triple {16239#(<= ~N~0 13)} assume !(0 == ~cond); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,984 INFO L273 TraceCheckUtils]: 54: Hoare triple {16239#(<= ~N~0 13)} assume true; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:08,997 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {16239#(<= ~N~0 13)} {16409#(and (<= ~N~0 13) (<= 4 main_~i~0))} #58#return; {16409#(and (<= ~N~0 13) (<= 4 main_~i~0))} is VALID [2018-11-23 12:16:09,013 INFO L273 TraceCheckUtils]: 56: Hoare triple {16409#(and (<= ~N~0 13) (<= 4 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16431#(and (<= ~N~0 13) (<= 5 main_~i~0))} is VALID [2018-11-23 12:16:09,022 INFO L273 TraceCheckUtils]: 57: Hoare triple {16431#(and (<= ~N~0 13) (<= 5 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16431#(and (<= ~N~0 13) (<= 5 main_~i~0))} is VALID [2018-11-23 12:16:09,035 INFO L256 TraceCheckUtils]: 58: Hoare triple {16431#(and (<= ~N~0 13) (<= 5 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,048 INFO L273 TraceCheckUtils]: 59: Hoare triple {16239#(<= ~N~0 13)} ~cond := #in~cond; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,060 INFO L273 TraceCheckUtils]: 60: Hoare triple {16239#(<= ~N~0 13)} assume !(0 == ~cond); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,077 INFO L273 TraceCheckUtils]: 61: Hoare triple {16239#(<= ~N~0 13)} assume true; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,086 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {16239#(<= ~N~0 13)} {16431#(and (<= ~N~0 13) (<= 5 main_~i~0))} #58#return; {16431#(and (<= ~N~0 13) (<= 5 main_~i~0))} is VALID [2018-11-23 12:16:09,099 INFO L273 TraceCheckUtils]: 63: Hoare triple {16431#(and (<= ~N~0 13) (<= 5 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16453#(and (<= ~N~0 13) (<= 6 main_~i~0))} is VALID [2018-11-23 12:16:09,112 INFO L273 TraceCheckUtils]: 64: Hoare triple {16453#(and (<= ~N~0 13) (<= 6 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16453#(and (<= ~N~0 13) (<= 6 main_~i~0))} is VALID [2018-11-23 12:16:09,125 INFO L256 TraceCheckUtils]: 65: Hoare triple {16453#(and (<= ~N~0 13) (<= 6 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,134 INFO L273 TraceCheckUtils]: 66: Hoare triple {16239#(<= ~N~0 13)} ~cond := #in~cond; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,134 INFO L273 TraceCheckUtils]: 67: Hoare triple {16239#(<= ~N~0 13)} assume !(0 == ~cond); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,139 INFO L273 TraceCheckUtils]: 68: Hoare triple {16239#(<= ~N~0 13)} assume true; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,139 INFO L268 TraceCheckUtils]: 69: Hoare quadruple {16239#(<= ~N~0 13)} {16453#(and (<= ~N~0 13) (<= 6 main_~i~0))} #58#return; {16453#(and (<= ~N~0 13) (<= 6 main_~i~0))} is VALID [2018-11-23 12:16:09,141 INFO L273 TraceCheckUtils]: 70: Hoare triple {16453#(and (<= ~N~0 13) (<= 6 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16475#(and (<= ~N~0 13) (<= 7 main_~i~0))} is VALID [2018-11-23 12:16:09,141 INFO L273 TraceCheckUtils]: 71: Hoare triple {16475#(and (<= ~N~0 13) (<= 7 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16475#(and (<= ~N~0 13) (<= 7 main_~i~0))} is VALID [2018-11-23 12:16:09,142 INFO L256 TraceCheckUtils]: 72: Hoare triple {16475#(and (<= ~N~0 13) (<= 7 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,143 INFO L273 TraceCheckUtils]: 73: Hoare triple {16239#(<= ~N~0 13)} ~cond := #in~cond; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,143 INFO L273 TraceCheckUtils]: 74: Hoare triple {16239#(<= ~N~0 13)} assume !(0 == ~cond); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,144 INFO L273 TraceCheckUtils]: 75: Hoare triple {16239#(<= ~N~0 13)} assume true; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,144 INFO L268 TraceCheckUtils]: 76: Hoare quadruple {16239#(<= ~N~0 13)} {16475#(and (<= ~N~0 13) (<= 7 main_~i~0))} #58#return; {16475#(and (<= ~N~0 13) (<= 7 main_~i~0))} is VALID [2018-11-23 12:16:09,145 INFO L273 TraceCheckUtils]: 77: Hoare triple {16475#(and (<= ~N~0 13) (<= 7 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16497#(and (<= ~N~0 13) (<= 8 main_~i~0))} is VALID [2018-11-23 12:16:09,145 INFO L273 TraceCheckUtils]: 78: Hoare triple {16497#(and (<= ~N~0 13) (<= 8 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16497#(and (<= ~N~0 13) (<= 8 main_~i~0))} is VALID [2018-11-23 12:16:09,146 INFO L256 TraceCheckUtils]: 79: Hoare triple {16497#(and (<= ~N~0 13) (<= 8 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,146 INFO L273 TraceCheckUtils]: 80: Hoare triple {16239#(<= ~N~0 13)} ~cond := #in~cond; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,146 INFO L273 TraceCheckUtils]: 81: Hoare triple {16239#(<= ~N~0 13)} assume !(0 == ~cond); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,147 INFO L273 TraceCheckUtils]: 82: Hoare triple {16239#(<= ~N~0 13)} assume true; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,148 INFO L268 TraceCheckUtils]: 83: Hoare quadruple {16239#(<= ~N~0 13)} {16497#(and (<= ~N~0 13) (<= 8 main_~i~0))} #58#return; {16497#(and (<= ~N~0 13) (<= 8 main_~i~0))} is VALID [2018-11-23 12:16:09,148 INFO L273 TraceCheckUtils]: 84: Hoare triple {16497#(and (<= ~N~0 13) (<= 8 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16519#(and (<= ~N~0 13) (<= 9 main_~i~0))} is VALID [2018-11-23 12:16:09,149 INFO L273 TraceCheckUtils]: 85: Hoare triple {16519#(and (<= ~N~0 13) (<= 9 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16519#(and (<= ~N~0 13) (<= 9 main_~i~0))} is VALID [2018-11-23 12:16:09,150 INFO L256 TraceCheckUtils]: 86: Hoare triple {16519#(and (<= ~N~0 13) (<= 9 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,151 INFO L273 TraceCheckUtils]: 87: Hoare triple {16239#(<= ~N~0 13)} ~cond := #in~cond; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,151 INFO L273 TraceCheckUtils]: 88: Hoare triple {16239#(<= ~N~0 13)} assume !(0 == ~cond); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,152 INFO L273 TraceCheckUtils]: 89: Hoare triple {16239#(<= ~N~0 13)} assume true; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,152 INFO L268 TraceCheckUtils]: 90: Hoare quadruple {16239#(<= ~N~0 13)} {16519#(and (<= ~N~0 13) (<= 9 main_~i~0))} #58#return; {16519#(and (<= ~N~0 13) (<= 9 main_~i~0))} is VALID [2018-11-23 12:16:09,153 INFO L273 TraceCheckUtils]: 91: Hoare triple {16519#(and (<= ~N~0 13) (<= 9 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16541#(and (<= ~N~0 13) (<= 10 main_~i~0))} is VALID [2018-11-23 12:16:09,154 INFO L273 TraceCheckUtils]: 92: Hoare triple {16541#(and (<= ~N~0 13) (<= 10 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16541#(and (<= ~N~0 13) (<= 10 main_~i~0))} is VALID [2018-11-23 12:16:09,155 INFO L256 TraceCheckUtils]: 93: Hoare triple {16541#(and (<= ~N~0 13) (<= 10 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,155 INFO L273 TraceCheckUtils]: 94: Hoare triple {16239#(<= ~N~0 13)} ~cond := #in~cond; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,156 INFO L273 TraceCheckUtils]: 95: Hoare triple {16239#(<= ~N~0 13)} assume !(0 == ~cond); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,156 INFO L273 TraceCheckUtils]: 96: Hoare triple {16239#(<= ~N~0 13)} assume true; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,157 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {16239#(<= ~N~0 13)} {16541#(and (<= ~N~0 13) (<= 10 main_~i~0))} #58#return; {16541#(and (<= ~N~0 13) (<= 10 main_~i~0))} is VALID [2018-11-23 12:16:09,158 INFO L273 TraceCheckUtils]: 98: Hoare triple {16541#(and (<= ~N~0 13) (<= 10 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16563#(and (<= ~N~0 13) (<= 11 main_~i~0))} is VALID [2018-11-23 12:16:09,159 INFO L273 TraceCheckUtils]: 99: Hoare triple {16563#(and (<= ~N~0 13) (<= 11 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16563#(and (<= ~N~0 13) (<= 11 main_~i~0))} is VALID [2018-11-23 12:16:09,160 INFO L256 TraceCheckUtils]: 100: Hoare triple {16563#(and (<= ~N~0 13) (<= 11 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,160 INFO L273 TraceCheckUtils]: 101: Hoare triple {16239#(<= ~N~0 13)} ~cond := #in~cond; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,161 INFO L273 TraceCheckUtils]: 102: Hoare triple {16239#(<= ~N~0 13)} assume !(0 == ~cond); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,161 INFO L273 TraceCheckUtils]: 103: Hoare triple {16239#(<= ~N~0 13)} assume true; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,162 INFO L268 TraceCheckUtils]: 104: Hoare quadruple {16239#(<= ~N~0 13)} {16563#(and (<= ~N~0 13) (<= 11 main_~i~0))} #58#return; {16563#(and (<= ~N~0 13) (<= 11 main_~i~0))} is VALID [2018-11-23 12:16:09,163 INFO L273 TraceCheckUtils]: 105: Hoare triple {16563#(and (<= ~N~0 13) (<= 11 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16585#(and (<= ~N~0 13) (<= 12 main_~i~0))} is VALID [2018-11-23 12:16:09,163 INFO L273 TraceCheckUtils]: 106: Hoare triple {16585#(and (<= ~N~0 13) (<= 12 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16585#(and (<= ~N~0 13) (<= 12 main_~i~0))} is VALID [2018-11-23 12:16:09,164 INFO L256 TraceCheckUtils]: 107: Hoare triple {16585#(and (<= ~N~0 13) (<= 12 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,165 INFO L273 TraceCheckUtils]: 108: Hoare triple {16239#(<= ~N~0 13)} ~cond := #in~cond; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,165 INFO L273 TraceCheckUtils]: 109: Hoare triple {16239#(<= ~N~0 13)} assume !(0 == ~cond); {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,166 INFO L273 TraceCheckUtils]: 110: Hoare triple {16239#(<= ~N~0 13)} assume true; {16239#(<= ~N~0 13)} is VALID [2018-11-23 12:16:09,167 INFO L268 TraceCheckUtils]: 111: Hoare quadruple {16239#(<= ~N~0 13)} {16585#(and (<= ~N~0 13) (<= 12 main_~i~0))} #58#return; {16585#(and (<= ~N~0 13) (<= 12 main_~i~0))} is VALID [2018-11-23 12:16:09,167 INFO L273 TraceCheckUtils]: 112: Hoare triple {16585#(and (<= ~N~0 13) (<= 12 main_~i~0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {16607#(and (<= ~N~0 13) (<= 13 main_~i~0))} is VALID [2018-11-23 12:16:09,168 INFO L273 TraceCheckUtils]: 113: Hoare triple {16607#(and (<= ~N~0 13) (<= 13 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {16224#false} is VALID [2018-11-23 12:16:09,169 INFO L256 TraceCheckUtils]: 114: Hoare triple {16224#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {16224#false} is VALID [2018-11-23 12:16:09,169 INFO L273 TraceCheckUtils]: 115: Hoare triple {16224#false} ~cond := #in~cond; {16224#false} is VALID [2018-11-23 12:16:09,169 INFO L273 TraceCheckUtils]: 116: Hoare triple {16224#false} assume 0 == ~cond; {16224#false} is VALID [2018-11-23 12:16:09,169 INFO L273 TraceCheckUtils]: 117: Hoare triple {16224#false} assume !false; {16224#false} is VALID [2018-11-23 12:16:09,182 INFO L134 CoverageAnalysis]: Checked inductivity of 689 backedges. 286 proven. 91 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2018-11-23 12:16:09,202 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:09,202 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [31, 31] total 46 [2018-11-23 12:16:09,203 INFO L78 Accepts]: Start accepts. Automaton has 46 states. Word has length 118 [2018-11-23 12:16:09,203 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:09,203 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 46 states. [2018-11-23 12:16:09,368 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:09,368 INFO L459 AbstractCegarLoop]: Interpolant automaton has 46 states [2018-11-23 12:16:09,369 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 46 interpolants. [2018-11-23 12:16:09,369 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=485, Invalid=1585, Unknown=0, NotChecked=0, Total=2070 [2018-11-23 12:16:09,369 INFO L87 Difference]: Start difference. First operand 121 states and 122 transitions. Second operand 46 states. [2018-11-23 12:16:13,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:13,470 INFO L93 Difference]: Finished difference Result 228 states and 231 transitions. [2018-11-23 12:16:13,470 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2018-11-23 12:16:13,470 INFO L78 Accepts]: Start accepts. Automaton has 46 states. Word has length 118 [2018-11-23 12:16:13,471 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:13,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-11-23 12:16:13,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 156 transitions. [2018-11-23 12:16:13,474 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-11-23 12:16:13,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 156 transitions. [2018-11-23 12:16:13,477 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states and 156 transitions. [2018-11-23 12:16:13,617 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 156 edges. 156 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:13,620 INFO L225 Difference]: With dead ends: 228 [2018-11-23 12:16:13,620 INFO L226 Difference]: Without dead ends: 126 [2018-11-23 12:16:13,621 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 104 SyntacticMatches, 0 SemanticMatches, 58 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 848 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=828, Invalid=2712, Unknown=0, NotChecked=0, Total=3540 [2018-11-23 12:16:13,621 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 126 states. [2018-11-23 12:16:14,302 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 126 to 122. [2018-11-23 12:16:14,302 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:14,302 INFO L82 GeneralOperation]: Start isEquivalent. First operand 126 states. Second operand 122 states. [2018-11-23 12:16:14,302 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand 122 states. [2018-11-23 12:16:14,302 INFO L87 Difference]: Start difference. First operand 126 states. Second operand 122 states. [2018-11-23 12:16:14,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:14,304 INFO L93 Difference]: Finished difference Result 126 states and 128 transitions. [2018-11-23 12:16:14,304 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 128 transitions. [2018-11-23 12:16:14,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:14,305 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:14,305 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand 126 states. [2018-11-23 12:16:14,305 INFO L87 Difference]: Start difference. First operand 122 states. Second operand 126 states. [2018-11-23 12:16:14,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:14,307 INFO L93 Difference]: Finished difference Result 126 states and 128 transitions. [2018-11-23 12:16:14,308 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 128 transitions. [2018-11-23 12:16:14,308 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:14,308 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:14,308 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:14,308 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:14,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 122 states. [2018-11-23 12:16:14,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 123 transitions. [2018-11-23 12:16:14,311 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 123 transitions. Word has length 118 [2018-11-23 12:16:14,311 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:14,311 INFO L480 AbstractCegarLoop]: Abstraction has 122 states and 123 transitions. [2018-11-23 12:16:14,311 INFO L481 AbstractCegarLoop]: Interpolant automaton has 46 states. [2018-11-23 12:16:14,311 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 123 transitions. [2018-11-23 12:16:14,312 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 120 [2018-11-23 12:16:14,312 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:14,312 INFO L402 BasicCegarLoop]: trace histogram [14, 14, 14, 14, 13, 13, 13, 13, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:16:14,312 INFO L423 AbstractCegarLoop]: === Iteration 28 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:14,313 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:14,313 INFO L82 PathProgramCache]: Analyzing trace with hash 1733537369, now seen corresponding path program 25 times [2018-11-23 12:16:14,313 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:14,313 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:14,314 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:14,314 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:14,314 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:14,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:15,435 INFO L256 TraceCheckUtils]: 0: Hoare triple {17419#true} call ULTIMATE.init(); {17419#true} is VALID [2018-11-23 12:16:15,435 INFO L273 TraceCheckUtils]: 1: Hoare triple {17419#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {17419#true} is VALID [2018-11-23 12:16:15,436 INFO L273 TraceCheckUtils]: 2: Hoare triple {17419#true} assume true; {17419#true} is VALID [2018-11-23 12:16:15,436 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {17419#true} {17419#true} #54#return; {17419#true} is VALID [2018-11-23 12:16:15,436 INFO L256 TraceCheckUtils]: 4: Hoare triple {17419#true} call #t~ret2 := main(); {17419#true} is VALID [2018-11-23 12:16:15,436 INFO L273 TraceCheckUtils]: 5: Hoare triple {17419#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {17419#true} is VALID [2018-11-23 12:16:15,436 INFO L273 TraceCheckUtils]: 6: Hoare triple {17419#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~N~0);~i~0 := 0;~k~0 := 0; {17421#(= main_~k~0 0)} is VALID [2018-11-23 12:16:15,437 INFO L273 TraceCheckUtils]: 7: Hoare triple {17421#(= main_~k~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {17422#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-23 12:16:15,438 INFO L273 TraceCheckUtils]: 8: Hoare triple {17422#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {17423#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-23 12:16:15,439 INFO L273 TraceCheckUtils]: 9: Hoare triple {17423#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {17424#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-23 12:16:15,440 INFO L273 TraceCheckUtils]: 10: Hoare triple {17424#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {17425#(and (<= main_~k~0 4) (<= 4 main_~k~0))} is VALID [2018-11-23 12:16:15,441 INFO L273 TraceCheckUtils]: 11: Hoare triple {17425#(and (<= main_~k~0 4) (<= 4 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {17426#(and (<= main_~k~0 5) (<= 5 main_~k~0))} is VALID [2018-11-23 12:16:15,442 INFO L273 TraceCheckUtils]: 12: Hoare triple {17426#(and (<= main_~k~0 5) (<= 5 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {17427#(and (<= 6 main_~k~0) (<= main_~k~0 6))} is VALID [2018-11-23 12:16:15,443 INFO L273 TraceCheckUtils]: 13: Hoare triple {17427#(and (<= 6 main_~k~0) (<= main_~k~0 6))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {17428#(and (<= main_~k~0 7) (<= 7 main_~k~0))} is VALID [2018-11-23 12:16:15,444 INFO L273 TraceCheckUtils]: 14: Hoare triple {17428#(and (<= main_~k~0 7) (<= 7 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {17429#(and (<= main_~k~0 8) (<= 8 main_~k~0))} is VALID [2018-11-23 12:16:15,445 INFO L273 TraceCheckUtils]: 15: Hoare triple {17429#(and (<= main_~k~0 8) (<= 8 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {17430#(and (<= 9 main_~k~0) (<= main_~k~0 9))} is VALID [2018-11-23 12:16:15,446 INFO L273 TraceCheckUtils]: 16: Hoare triple {17430#(and (<= 9 main_~k~0) (<= main_~k~0 9))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {17431#(and (<= 10 main_~k~0) (<= main_~k~0 10))} is VALID [2018-11-23 12:16:15,447 INFO L273 TraceCheckUtils]: 17: Hoare triple {17431#(and (<= 10 main_~k~0) (<= main_~k~0 10))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {17432#(and (<= 11 main_~k~0) (<= main_~k~0 11))} is VALID [2018-11-23 12:16:15,448 INFO L273 TraceCheckUtils]: 18: Hoare triple {17432#(and (<= 11 main_~k~0) (<= main_~k~0 11))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {17433#(and (<= main_~k~0 12) (<= 12 main_~k~0))} is VALID [2018-11-23 12:16:15,449 INFO L273 TraceCheckUtils]: 19: Hoare triple {17433#(and (<= main_~k~0 12) (<= 12 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {17434#(and (<= main_~k~0 13) (<= 13 main_~k~0))} is VALID [2018-11-23 12:16:15,450 INFO L273 TraceCheckUtils]: 20: Hoare triple {17434#(and (<= main_~k~0 13) (<= 13 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + 4 * ~k~0, 4);~i~0 := 1 + ~i~0;~k~0 := 1 + ~k~0; {17435#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 13))) 13)} is VALID [2018-11-23 12:16:15,451 INFO L273 TraceCheckUtils]: 21: Hoare triple {17435#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 13))) 13)} assume !(~i~0 < ~N~0); {17435#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 13))) 13)} is VALID [2018-11-23 12:16:15,451 INFO L273 TraceCheckUtils]: 22: Hoare triple {17435#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 13))) 13)} ~i~0 := 0; {17436#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 13))) 13) (= main_~i~0 0))} is VALID [2018-11-23 12:16:15,452 INFO L273 TraceCheckUtils]: 23: Hoare triple {17436#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 13))) 13) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {17436#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 13))) 13) (= main_~i~0 0))} is VALID [2018-11-23 12:16:15,452 INFO L256 TraceCheckUtils]: 24: Hoare triple {17436#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 13))) 13) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {17419#true} is VALID [2018-11-23 12:16:15,453 INFO L273 TraceCheckUtils]: 25: Hoare triple {17419#true} ~cond := #in~cond; {17437#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:16:15,453 INFO L273 TraceCheckUtils]: 26: Hoare triple {17437#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {17438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:16:15,454 INFO L273 TraceCheckUtils]: 27: Hoare triple {17438#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:16:15,454 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {17438#(not (= |__VERIFIER_assert_#in~cond| 0))} {17436#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 13))) 13) (= main_~i~0 0))} #58#return; {17436#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 13))) 13) (= main_~i~0 0))} is VALID [2018-11-23 12:16:15,455 INFO L273 TraceCheckUtils]: 29: Hoare triple {17436#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 13))) 13) (= main_~i~0 0))} havoc #t~mem1;~i~0 := 1 + ~i~0; {17439#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 12)))) (+ main_~i~0 12))} is VALID [2018-11-23 12:16:15,456 INFO L273 TraceCheckUtils]: 30: Hoare triple {17439#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 12)))) (+ main_~i~0 12))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {17439#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 12)))) (+ main_~i~0 12))} is VALID [2018-11-23 12:16:15,456 INFO L256 TraceCheckUtils]: 31: Hoare triple {17439#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 12)))) (+ main_~i~0 12))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {17419#true} is VALID [2018-11-23 12:16:15,456 INFO L273 TraceCheckUtils]: 32: Hoare triple {17419#true} ~cond := #in~cond; {17419#true} is VALID [2018-11-23 12:16:15,457 INFO L273 TraceCheckUtils]: 33: Hoare triple {17419#true} assume !(0 == ~cond); {17419#true} is VALID [2018-11-23 12:16:15,457 INFO L273 TraceCheckUtils]: 34: Hoare triple {17419#true} assume true; {17419#true} is VALID [2018-11-23 12:16:15,457 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {17419#true} {17439#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 12)))) (+ main_~i~0 12))} #58#return; {17439#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 12)))) (+ main_~i~0 12))} is VALID [2018-11-23 12:16:15,459 INFO L273 TraceCheckUtils]: 36: Hoare triple {17439#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 12)))) (+ main_~i~0 12))} havoc #t~mem1;~i~0 := 1 + ~i~0; {17440#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 11)))) (+ main_~i~0 11))} is VALID [2018-11-23 12:16:15,459 INFO L273 TraceCheckUtils]: 37: Hoare triple {17440#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 11)))) (+ main_~i~0 11))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {17440#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 11)))) (+ main_~i~0 11))} is VALID [2018-11-23 12:16:15,459 INFO L256 TraceCheckUtils]: 38: Hoare triple {17440#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 11)))) (+ main_~i~0 11))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {17419#true} is VALID [2018-11-23 12:16:15,460 INFO L273 TraceCheckUtils]: 39: Hoare triple {17419#true} ~cond := #in~cond; {17419#true} is VALID [2018-11-23 12:16:15,460 INFO L273 TraceCheckUtils]: 40: Hoare triple {17419#true} assume !(0 == ~cond); {17419#true} is VALID [2018-11-23 12:16:15,460 INFO L273 TraceCheckUtils]: 41: Hoare triple {17419#true} assume true; {17419#true} is VALID [2018-11-23 12:16:15,461 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {17419#true} {17440#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 11)))) (+ main_~i~0 11))} #58#return; {17440#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 11)))) (+ main_~i~0 11))} is VALID [2018-11-23 12:16:15,462 INFO L273 TraceCheckUtils]: 43: Hoare triple {17440#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 11)))) (+ main_~i~0 11))} havoc #t~mem1;~i~0 := 1 + ~i~0; {17441#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 10))} is VALID [2018-11-23 12:16:15,462 INFO L273 TraceCheckUtils]: 44: Hoare triple {17441#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 10))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {17441#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 10))} is VALID [2018-11-23 12:16:15,462 INFO L256 TraceCheckUtils]: 45: Hoare triple {17441#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 10))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {17419#true} is VALID [2018-11-23 12:16:15,463 INFO L273 TraceCheckUtils]: 46: Hoare triple {17419#true} ~cond := #in~cond; {17419#true} is VALID [2018-11-23 12:16:15,463 INFO L273 TraceCheckUtils]: 47: Hoare triple {17419#true} assume !(0 == ~cond); {17419#true} is VALID [2018-11-23 12:16:15,463 INFO L273 TraceCheckUtils]: 48: Hoare triple {17419#true} assume true; {17419#true} is VALID [2018-11-23 12:16:15,464 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {17419#true} {17441#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 10))} #58#return; {17441#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 10))} is VALID [2018-11-23 12:16:15,465 INFO L273 TraceCheckUtils]: 50: Hoare triple {17441#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 10)))) (+ main_~i~0 10))} havoc #t~mem1;~i~0 := 1 + ~i~0; {17442#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} is VALID [2018-11-23 12:16:15,465 INFO L273 TraceCheckUtils]: 51: Hoare triple {17442#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {17442#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} is VALID [2018-11-23 12:16:15,466 INFO L256 TraceCheckUtils]: 52: Hoare triple {17442#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {17419#true} is VALID [2018-11-23 12:16:15,466 INFO L273 TraceCheckUtils]: 53: Hoare triple {17419#true} ~cond := #in~cond; {17419#true} is VALID [2018-11-23 12:16:15,466 INFO L273 TraceCheckUtils]: 54: Hoare triple {17419#true} assume !(0 == ~cond); {17419#true} is VALID [2018-11-23 12:16:15,466 INFO L273 TraceCheckUtils]: 55: Hoare triple {17419#true} assume true; {17419#true} is VALID [2018-11-23 12:16:15,467 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {17419#true} {17442#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} #58#return; {17442#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} is VALID [2018-11-23 12:16:15,468 INFO L273 TraceCheckUtils]: 57: Hoare triple {17442#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 9)))) (+ main_~i~0 9))} havoc #t~mem1;~i~0 := 1 + ~i~0; {17443#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} is VALID [2018-11-23 12:16:15,468 INFO L273 TraceCheckUtils]: 58: Hoare triple {17443#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {17443#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} is VALID [2018-11-23 12:16:15,469 INFO L256 TraceCheckUtils]: 59: Hoare triple {17443#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {17419#true} is VALID [2018-11-23 12:16:15,469 INFO L273 TraceCheckUtils]: 60: Hoare triple {17419#true} ~cond := #in~cond; {17419#true} is VALID [2018-11-23 12:16:15,469 INFO L273 TraceCheckUtils]: 61: Hoare triple {17419#true} assume !(0 == ~cond); {17419#true} is VALID [2018-11-23 12:16:15,469 INFO L273 TraceCheckUtils]: 62: Hoare triple {17419#true} assume true; {17419#true} is VALID [2018-11-23 12:16:15,470 INFO L268 TraceCheckUtils]: 63: Hoare quadruple {17419#true} {17443#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} #58#return; {17443#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} is VALID [2018-11-23 12:16:15,471 INFO L273 TraceCheckUtils]: 64: Hoare triple {17443#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 8)))) (+ main_~i~0 8))} havoc #t~mem1;~i~0 := 1 + ~i~0; {17444#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} is VALID [2018-11-23 12:16:15,472 INFO L273 TraceCheckUtils]: 65: Hoare triple {17444#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {17444#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} is VALID [2018-11-23 12:16:15,472 INFO L256 TraceCheckUtils]: 66: Hoare triple {17444#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {17419#true} is VALID [2018-11-23 12:16:15,472 INFO L273 TraceCheckUtils]: 67: Hoare triple {17419#true} ~cond := #in~cond; {17419#true} is VALID [2018-11-23 12:16:15,472 INFO L273 TraceCheckUtils]: 68: Hoare triple {17419#true} assume !(0 == ~cond); {17419#true} is VALID [2018-11-23 12:16:15,472 INFO L273 TraceCheckUtils]: 69: Hoare triple {17419#true} assume true; {17419#true} is VALID [2018-11-23 12:16:15,473 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {17419#true} {17444#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} #58#return; {17444#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} is VALID [2018-11-23 12:16:15,474 INFO L273 TraceCheckUtils]: 71: Hoare triple {17444#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 7))} havoc #t~mem1;~i~0 := 1 + ~i~0; {17445#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} is VALID [2018-11-23 12:16:15,475 INFO L273 TraceCheckUtils]: 72: Hoare triple {17445#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {17445#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} is VALID [2018-11-23 12:16:15,475 INFO L256 TraceCheckUtils]: 73: Hoare triple {17445#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {17419#true} is VALID [2018-11-23 12:16:15,475 INFO L273 TraceCheckUtils]: 74: Hoare triple {17419#true} ~cond := #in~cond; {17419#true} is VALID [2018-11-23 12:16:15,475 INFO L273 TraceCheckUtils]: 75: Hoare triple {17419#true} assume !(0 == ~cond); {17419#true} is VALID [2018-11-23 12:16:15,475 INFO L273 TraceCheckUtils]: 76: Hoare triple {17419#true} assume true; {17419#true} is VALID [2018-11-23 12:16:15,476 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {17419#true} {17445#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} #58#return; {17445#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} is VALID [2018-11-23 12:16:15,477 INFO L273 TraceCheckUtils]: 78: Hoare triple {17445#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} havoc #t~mem1;~i~0 := 1 + ~i~0; {17446#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-23 12:16:15,478 INFO L273 TraceCheckUtils]: 79: Hoare triple {17446#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {17446#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-23 12:16:15,478 INFO L256 TraceCheckUtils]: 80: Hoare triple {17446#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {17419#true} is VALID [2018-11-23 12:16:15,478 INFO L273 TraceCheckUtils]: 81: Hoare triple {17419#true} ~cond := #in~cond; {17419#true} is VALID [2018-11-23 12:16:15,478 INFO L273 TraceCheckUtils]: 82: Hoare triple {17419#true} assume !(0 == ~cond); {17419#true} is VALID [2018-11-23 12:16:15,479 INFO L273 TraceCheckUtils]: 83: Hoare triple {17419#true} assume true; {17419#true} is VALID [2018-11-23 12:16:15,479 INFO L268 TraceCheckUtils]: 84: Hoare quadruple {17419#true} {17446#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} #58#return; {17446#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-23 12:16:15,480 INFO L273 TraceCheckUtils]: 85: Hoare triple {17446#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} havoc #t~mem1;~i~0 := 1 + ~i~0; {17447#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:16:15,481 INFO L273 TraceCheckUtils]: 86: Hoare triple {17447#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {17447#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:16:15,481 INFO L256 TraceCheckUtils]: 87: Hoare triple {17447#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {17419#true} is VALID [2018-11-23 12:16:15,481 INFO L273 TraceCheckUtils]: 88: Hoare triple {17419#true} ~cond := #in~cond; {17419#true} is VALID [2018-11-23 12:16:15,482 INFO L273 TraceCheckUtils]: 89: Hoare triple {17419#true} assume !(0 == ~cond); {17419#true} is VALID [2018-11-23 12:16:15,482 INFO L273 TraceCheckUtils]: 90: Hoare triple {17419#true} assume true; {17419#true} is VALID [2018-11-23 12:16:15,482 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {17419#true} {17447#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} #58#return; {17447#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-23 12:16:15,484 INFO L273 TraceCheckUtils]: 92: Hoare triple {17447#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} havoc #t~mem1;~i~0 := 1 + ~i~0; {17448#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:16:15,484 INFO L273 TraceCheckUtils]: 93: Hoare triple {17448#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {17448#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:16:15,484 INFO L256 TraceCheckUtils]: 94: Hoare triple {17448#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {17419#true} is VALID [2018-11-23 12:16:15,484 INFO L273 TraceCheckUtils]: 95: Hoare triple {17419#true} ~cond := #in~cond; {17419#true} is VALID [2018-11-23 12:16:15,485 INFO L273 TraceCheckUtils]: 96: Hoare triple {17419#true} assume !(0 == ~cond); {17419#true} is VALID [2018-11-23 12:16:15,485 INFO L273 TraceCheckUtils]: 97: Hoare triple {17419#true} assume true; {17419#true} is VALID [2018-11-23 12:16:15,486 INFO L268 TraceCheckUtils]: 98: Hoare quadruple {17419#true} {17448#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} #58#return; {17448#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-23 12:16:15,487 INFO L273 TraceCheckUtils]: 99: Hoare triple {17448#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} havoc #t~mem1;~i~0 := 1 + ~i~0; {17449#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:16:15,487 INFO L273 TraceCheckUtils]: 100: Hoare triple {17449#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {17449#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:16:15,487 INFO L256 TraceCheckUtils]: 101: Hoare triple {17449#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {17419#true} is VALID [2018-11-23 12:16:15,488 INFO L273 TraceCheckUtils]: 102: Hoare triple {17419#true} ~cond := #in~cond; {17419#true} is VALID [2018-11-23 12:16:15,488 INFO L273 TraceCheckUtils]: 103: Hoare triple {17419#true} assume !(0 == ~cond); {17419#true} is VALID [2018-11-23 12:16:15,488 INFO L273 TraceCheckUtils]: 104: Hoare triple {17419#true} assume true; {17419#true} is VALID [2018-11-23 12:16:15,489 INFO L268 TraceCheckUtils]: 105: Hoare quadruple {17419#true} {17449#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} #58#return; {17449#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-23 12:16:15,490 INFO L273 TraceCheckUtils]: 106: Hoare triple {17449#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} havoc #t~mem1;~i~0 := 1 + ~i~0; {17450#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:16:15,490 INFO L273 TraceCheckUtils]: 107: Hoare triple {17450#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {17450#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:16:15,490 INFO L256 TraceCheckUtils]: 108: Hoare triple {17450#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {17419#true} is VALID [2018-11-23 12:16:15,490 INFO L273 TraceCheckUtils]: 109: Hoare triple {17419#true} ~cond := #in~cond; {17419#true} is VALID [2018-11-23 12:16:15,490 INFO L273 TraceCheckUtils]: 110: Hoare triple {17419#true} assume !(0 == ~cond); {17419#true} is VALID [2018-11-23 12:16:15,490 INFO L273 TraceCheckUtils]: 111: Hoare triple {17419#true} assume true; {17419#true} is VALID [2018-11-23 12:16:15,491 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {17419#true} {17450#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} #58#return; {17450#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-23 12:16:15,491 INFO L273 TraceCheckUtils]: 113: Hoare triple {17450#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} havoc #t~mem1;~i~0 := 1 + ~i~0; {17451#(= 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:16:15,492 INFO L273 TraceCheckUtils]: 114: Hoare triple {17451#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {17452#(= main_~i~0 |main_#t~mem1|)} is VALID [2018-11-23 12:16:15,493 INFO L256 TraceCheckUtils]: 115: Hoare triple {17452#(= main_~i~0 |main_#t~mem1|)} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {17438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:16:15,493 INFO L273 TraceCheckUtils]: 116: Hoare triple {17438#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {17453#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:16:15,494 INFO L273 TraceCheckUtils]: 117: Hoare triple {17453#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {17420#false} is VALID [2018-11-23 12:16:15,494 INFO L273 TraceCheckUtils]: 118: Hoare triple {17420#false} assume !false; {17420#false} is VALID [2018-11-23 12:16:15,513 INFO L134 CoverageAnalysis]: Checked inductivity of 703 backedges. 25 proven. 402 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2018-11-23 12:16:15,513 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:15,513 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:15,523 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:15,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:15,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:15,597 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:16,205 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 12:16:16,208 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 12:16:16,211 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:16:16,213 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:16:16,217 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:16:16,217 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13