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/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default-Const.epf -i ../../../trunk/examples/svcomp/array-tiling/rewnif_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-370d6ab [2018-11-14 18:53:06,247 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-14 18:53:06,248 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-14 18:53:06,260 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-14 18:53:06,260 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-14 18:53:06,261 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-14 18:53:06,263 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-14 18:53:06,265 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-14 18:53:06,267 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-14 18:53:06,268 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-14 18:53:06,277 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-14 18:53:06,278 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-14 18:53:06,279 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-14 18:53:06,281 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-14 18:53:06,283 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-14 18:53:06,283 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-14 18:53:06,284 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-14 18:53:06,286 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-14 18:53:06,288 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-14 18:53:06,289 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-14 18:53:06,290 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-14 18:53:06,291 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-14 18:53:06,294 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-14 18:53:06,294 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-14 18:53:06,294 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-14 18:53:06,295 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-14 18:53:06,296 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-14 18:53:06,297 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-14 18:53:06,297 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-14 18:53:06,298 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-14 18:53:06,299 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-14 18:53:06,299 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-14 18:53:06,300 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-14 18:53:06,300 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-14 18:53:06,301 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-14 18:53:06,301 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-14 18:53:06,302 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default-Const.epf [2018-11-14 18:53:06,316 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-14 18:53:06,316 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-14 18:53:06,317 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-14 18:53:06,317 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-11-14 18:53:06,318 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-14 18:53:06,318 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-14 18:53:06,318 INFO L133 SettingsManager]: * Use SBE=true [2018-11-14 18:53:06,319 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-14 18:53:06,319 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-14 18:53:06,319 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-14 18:53:06,319 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-14 18:53:06,319 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-14 18:53:06,320 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-14 18:53:06,320 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-14 18:53:06,320 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-14 18:53:06,320 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-14 18:53:06,320 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-14 18:53:06,321 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-14 18:53:06,321 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-14 18:53:06,321 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-14 18:53:06,321 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-14 18:53:06,321 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-14 18:53:06,322 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-14 18:53:06,323 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-14 18:53:06,323 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-14 18:53:06,323 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-14 18:53:06,324 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-14 18:53:06,324 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-14 18:53:06,324 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-14 18:53:06,324 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-14 18:53:06,324 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-14 18:53:06,379 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-14 18:53:06,395 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-14 18:53:06,398 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-14 18:53:06,400 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-14 18:53:06,400 INFO L276 PluginConnector]: CDTParser initialized [2018-11-14 18:53:06,401 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-tiling/rewnif_true-unreach-call.i [2018-11-14 18:53:06,459 INFO L218 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4f98bac9a/3840ab50ae26477fb072cfcea9e81e92/FLAG78c408c1b [2018-11-14 18:53:06,868 INFO L298 CDTParser]: Found 1 translation units. [2018-11-14 18:53:06,868 INFO L158 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-tiling/rewnif_true-unreach-call.i [2018-11-14 18:53:06,875 INFO L346 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4f98bac9a/3840ab50ae26477fb072cfcea9e81e92/FLAG78c408c1b [2018-11-14 18:53:06,889 INFO L354 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4f98bac9a/3840ab50ae26477fb072cfcea9e81e92 [2018-11-14 18:53:06,898 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-14 18:53:06,899 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-11-14 18:53:06,900 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-14 18:53:06,900 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-14 18:53:06,904 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-14 18:53:06,906 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 06:53:06" (1/1) ... [2018-11-14 18:53:06,909 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@24c95ea0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:53:06, skipping insertion in model container [2018-11-14 18:53:06,909 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 06:53:06" (1/1) ... [2018-11-14 18:53:06,919 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-14 18:53:06,942 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-14 18:53:07,149 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 18:53:07,156 INFO L191 MainTranslator]: Completed pre-run [2018-11-14 18:53:07,191 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 18:53:07,220 INFO L195 MainTranslator]: Completed translation [2018-11-14 18:53:07,220 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:53:07 WrapperNode [2018-11-14 18:53:07,220 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-14 18:53:07,221 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-14 18:53:07,221 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-14 18:53:07,221 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-14 18:53:07,237 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:53:07" (1/1) ... [2018-11-14 18:53:07,237 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:53:07" (1/1) ... [2018-11-14 18:53:07,249 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:53:07" (1/1) ... [2018-11-14 18:53:07,249 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:53:07" (1/1) ... [2018-11-14 18:53:07,260 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:53:07" (1/1) ... [2018-11-14 18:53:07,266 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:53:07" (1/1) ... [2018-11-14 18:53:07,268 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:53:07" (1/1) ... [2018-11-14 18:53:07,270 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-14 18:53:07,271 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-14 18:53:07,271 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-14 18:53:07,271 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-14 18:53:07,272 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:53:07" (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-14 18:53:07,398 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-14 18:53:07,398 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-14 18:53:07,399 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-14 18:53:07,399 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-14 18:53:07,399 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-11-14 18:53:07,399 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assume [2018-11-14 18:53:07,399 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-14 18:53:07,399 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2018-11-14 18:53:07,399 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-14 18:53:07,400 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-14 18:53:07,400 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-14 18:53:07,400 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-14 18:53:07,400 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-14 18:53:07,400 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-14 18:53:07,401 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-14 18:53:07,401 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-11-14 18:53:07,949 INFO L278 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-14 18:53:07,950 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 06:53:07 BoogieIcfgContainer [2018-11-14 18:53:07,950 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-14 18:53:07,952 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-14 18:53:07,952 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-14 18:53:07,955 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-14 18:53:07,955 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.11 06:53:06" (1/3) ... [2018-11-14 18:53:07,956 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@bf80ca0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 06:53:07, skipping insertion in model container [2018-11-14 18:53:07,957 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:53:07" (2/3) ... [2018-11-14 18:53:07,957 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@bf80ca0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 06:53:07, skipping insertion in model container [2018-11-14 18:53:07,957 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 06:53:07" (3/3) ... [2018-11-14 18:53:07,959 INFO L112 eAbstractionObserver]: Analyzing ICFG rewnif_true-unreach-call.i [2018-11-14 18:53:07,970 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-14 18:53:07,979 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-14 18:53:07,994 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-14 18:53:08,034 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-14 18:53:08,035 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-14 18:53:08,035 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-14 18:53:08,035 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-14 18:53:08,035 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-14 18:53:08,035 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-14 18:53:08,036 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-14 18:53:08,036 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-14 18:53:08,036 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-14 18:53:08,057 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states. [2018-11-14 18:53:08,064 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2018-11-14 18:53:08,064 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:53:08,066 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:53:08,069 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:53:08,075 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:53:08,075 INFO L82 PathProgramCache]: Analyzing trace with hash -780591074, now seen corresponding path program 1 times [2018-11-14 18:53:08,078 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:53:08,078 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:53:08,129 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:08,130 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:53:08,130 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:08,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:08,271 INFO L256 TraceCheckUtils]: 0: Hoare triple {33#true} call ULTIMATE.init(); {33#true} is VALID [2018-11-14 18:53:08,275 INFO L273 TraceCheckUtils]: 1: Hoare triple {33#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {33#true} is VALID [2018-11-14 18:53:08,275 INFO L273 TraceCheckUtils]: 2: Hoare triple {33#true} assume true; {33#true} is VALID [2018-11-14 18:53:08,275 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {33#true} {33#true} #65#return; {33#true} is VALID [2018-11-14 18:53:08,276 INFO L256 TraceCheckUtils]: 4: Hoare triple {33#true} call #t~ret5 := main(); {33#true} is VALID [2018-11-14 18:53:08,276 INFO L273 TraceCheckUtils]: 5: Hoare triple {33#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {33#true} is VALID [2018-11-14 18:53:08,276 INFO L273 TraceCheckUtils]: 6: Hoare triple {33#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {33#true} is VALID [2018-11-14 18:53:08,277 INFO L273 TraceCheckUtils]: 7: Hoare triple {33#true} assume !true; {34#false} is VALID [2018-11-14 18:53:08,278 INFO L273 TraceCheckUtils]: 8: Hoare triple {34#false} ~i~0 := 0; {34#false} is VALID [2018-11-14 18:53:08,278 INFO L273 TraceCheckUtils]: 9: Hoare triple {34#false} assume true; {34#false} is VALID [2018-11-14 18:53:08,278 INFO L273 TraceCheckUtils]: 10: Hoare triple {34#false} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {34#false} is VALID [2018-11-14 18:53:08,279 INFO L256 TraceCheckUtils]: 11: Hoare triple {34#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {34#false} is VALID [2018-11-14 18:53:08,279 INFO L273 TraceCheckUtils]: 12: Hoare triple {34#false} ~cond := #in~cond; {34#false} is VALID [2018-11-14 18:53:08,279 INFO L273 TraceCheckUtils]: 13: Hoare triple {34#false} assume ~cond == 0; {34#false} is VALID [2018-11-14 18:53:08,280 INFO L273 TraceCheckUtils]: 14: Hoare triple {34#false} assume !false; {34#false} is VALID [2018-11-14 18:53:08,283 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-14 18:53:08,285 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:53:08,285 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-14 18:53:08,291 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 15 [2018-11-14 18:53:08,294 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:53:08,298 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-14 18:53:08,420 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-14 18:53:08,421 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-14 18:53:08,431 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-14 18:53:08,432 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-14 18:53:08,436 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 2 states. [2018-11-14 18:53:08,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:08,688 INFO L93 Difference]: Finished difference Result 48 states and 57 transitions. [2018-11-14 18:53:08,688 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-14 18:53:08,688 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 15 [2018-11-14 18:53:08,688 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:53:08,690 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 18:53:08,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 57 transitions. [2018-11-14 18:53:08,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 18:53:08,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 57 transitions. [2018-11-14 18:53:08,706 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 57 transitions. [2018-11-14 18:53:08,877 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-14 18:53:08,888 INFO L225 Difference]: With dead ends: 48 [2018-11-14 18:53:08,888 INFO L226 Difference]: Without dead ends: 24 [2018-11-14 18:53:08,891 INFO L604 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-14 18:53:08,907 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2018-11-14 18:53:09,016 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 24. [2018-11-14 18:53:09,017 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:53:09,018 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand 24 states. [2018-11-14 18:53:09,018 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 24 states. [2018-11-14 18:53:09,019 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 24 states. [2018-11-14 18:53:09,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:09,023 INFO L93 Difference]: Finished difference Result 24 states and 26 transitions. [2018-11-14 18:53:09,024 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2018-11-14 18:53:09,024 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:09,025 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:09,025 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 24 states. [2018-11-14 18:53:09,025 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 24 states. [2018-11-14 18:53:09,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:09,030 INFO L93 Difference]: Finished difference Result 24 states and 26 transitions. [2018-11-14 18:53:09,030 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2018-11-14 18:53:09,031 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:09,031 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:09,031 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:53:09,031 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:53:09,032 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-14 18:53:09,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 26 transitions. [2018-11-14 18:53:09,036 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 26 transitions. Word has length 15 [2018-11-14 18:53:09,037 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:53:09,037 INFO L480 AbstractCegarLoop]: Abstraction has 24 states and 26 transitions. [2018-11-14 18:53:09,037 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-14 18:53:09,037 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2018-11-14 18:53:09,038 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-14 18:53:09,038 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:53:09,038 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:53:09,039 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:53:09,039 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:53:09,039 INFO L82 PathProgramCache]: Analyzing trace with hash 629098255, now seen corresponding path program 1 times [2018-11-14 18:53:09,039 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:53:09,040 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:53:09,041 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:09,041 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:53:09,041 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:09,071 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:09,166 INFO L256 TraceCheckUtils]: 0: Hoare triple {176#true} call ULTIMATE.init(); {176#true} is VALID [2018-11-14 18:53:09,166 INFO L273 TraceCheckUtils]: 1: Hoare triple {176#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {176#true} is VALID [2018-11-14 18:53:09,167 INFO L273 TraceCheckUtils]: 2: Hoare triple {176#true} assume true; {176#true} is VALID [2018-11-14 18:53:09,167 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {176#true} {176#true} #65#return; {176#true} is VALID [2018-11-14 18:53:09,167 INFO L256 TraceCheckUtils]: 4: Hoare triple {176#true} call #t~ret5 := main(); {176#true} is VALID [2018-11-14 18:53:09,168 INFO L273 TraceCheckUtils]: 5: Hoare triple {176#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {176#true} is VALID [2018-11-14 18:53:09,183 INFO L273 TraceCheckUtils]: 6: Hoare triple {176#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {178#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-14 18:53:09,192 INFO L273 TraceCheckUtils]: 7: Hoare triple {178#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} assume true; {178#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-14 18:53:09,196 INFO L273 TraceCheckUtils]: 8: Hoare triple {178#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} assume !(~i~0 < ~SIZE~0); {177#false} is VALID [2018-11-14 18:53:09,196 INFO L273 TraceCheckUtils]: 9: Hoare triple {177#false} ~i~0 := 0; {177#false} is VALID [2018-11-14 18:53:09,196 INFO L273 TraceCheckUtils]: 10: Hoare triple {177#false} assume true; {177#false} is VALID [2018-11-14 18:53:09,197 INFO L273 TraceCheckUtils]: 11: Hoare triple {177#false} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {177#false} is VALID [2018-11-14 18:53:09,197 INFO L256 TraceCheckUtils]: 12: Hoare triple {177#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {177#false} is VALID [2018-11-14 18:53:09,198 INFO L273 TraceCheckUtils]: 13: Hoare triple {177#false} ~cond := #in~cond; {177#false} is VALID [2018-11-14 18:53:09,198 INFO L273 TraceCheckUtils]: 14: Hoare triple {177#false} assume ~cond == 0; {177#false} is VALID [2018-11-14 18:53:09,198 INFO L273 TraceCheckUtils]: 15: Hoare triple {177#false} assume !false; {177#false} is VALID [2018-11-14 18:53:09,200 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-14 18:53:09,201 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:53:09,201 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-14 18:53:09,202 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 16 [2018-11-14 18:53:09,203 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:53:09,203 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-14 18:53:09,276 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:53:09,277 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-14 18:53:09,277 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-14 18:53:09,277 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 18:53:09,278 INFO L87 Difference]: Start difference. First operand 24 states and 26 transitions. Second operand 3 states. [2018-11-14 18:53:09,466 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:09,467 INFO L93 Difference]: Finished difference Result 46 states and 52 transitions. [2018-11-14 18:53:09,467 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 18:53:09,467 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 16 [2018-11-14 18:53:09,467 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:53:09,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 18:53:09,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 52 transitions. [2018-11-14 18:53:09,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 18:53:09,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 52 transitions. [2018-11-14 18:53:09,474 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 52 transitions. [2018-11-14 18:53:09,895 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-14 18:53:09,897 INFO L225 Difference]: With dead ends: 46 [2018-11-14 18:53:09,897 INFO L226 Difference]: Without dead ends: 29 [2018-11-14 18:53:09,898 INFO L604 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-14 18:53:09,898 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2018-11-14 18:53:09,910 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 27. [2018-11-14 18:53:09,911 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:53:09,911 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 27 states. [2018-11-14 18:53:09,911 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 27 states. [2018-11-14 18:53:09,912 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 27 states. [2018-11-14 18:53:09,915 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:09,916 INFO L93 Difference]: Finished difference Result 29 states and 31 transitions. [2018-11-14 18:53:09,916 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 31 transitions. [2018-11-14 18:53:09,916 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:09,917 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:09,917 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 29 states. [2018-11-14 18:53:09,917 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 29 states. [2018-11-14 18:53:09,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:09,920 INFO L93 Difference]: Finished difference Result 29 states and 31 transitions. [2018-11-14 18:53:09,920 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 31 transitions. [2018-11-14 18:53:09,921 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:09,921 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:09,921 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:53:09,921 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:53:09,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-14 18:53:09,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 29 transitions. [2018-11-14 18:53:09,924 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 29 transitions. Word has length 16 [2018-11-14 18:53:09,924 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:53:09,924 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 29 transitions. [2018-11-14 18:53:09,924 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-14 18:53:09,925 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 29 transitions. [2018-11-14 18:53:09,925 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-14 18:53:09,925 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:53:09,926 INFO L375 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:53:09,926 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:53:09,926 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:53:09,927 INFO L82 PathProgramCache]: Analyzing trace with hash -1434210682, now seen corresponding path program 1 times [2018-11-14 18:53:09,927 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:53:09,927 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:53:09,928 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:09,928 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:53:09,928 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:09,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:10,040 INFO L256 TraceCheckUtils]: 0: Hoare triple {334#true} call ULTIMATE.init(); {334#true} is VALID [2018-11-14 18:53:10,040 INFO L273 TraceCheckUtils]: 1: Hoare triple {334#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {334#true} is VALID [2018-11-14 18:53:10,040 INFO L273 TraceCheckUtils]: 2: Hoare triple {334#true} assume true; {334#true} is VALID [2018-11-14 18:53:10,041 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {334#true} {334#true} #65#return; {334#true} is VALID [2018-11-14 18:53:10,041 INFO L256 TraceCheckUtils]: 4: Hoare triple {334#true} call #t~ret5 := main(); {334#true} is VALID [2018-11-14 18:53:10,041 INFO L273 TraceCheckUtils]: 5: Hoare triple {334#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {334#true} is VALID [2018-11-14 18:53:10,041 INFO L273 TraceCheckUtils]: 6: Hoare triple {334#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {334#true} is VALID [2018-11-14 18:53:10,042 INFO L273 TraceCheckUtils]: 7: Hoare triple {334#true} assume true; {334#true} is VALID [2018-11-14 18:53:10,042 INFO L273 TraceCheckUtils]: 8: Hoare triple {334#true} assume !!(~i~0 < ~SIZE~0); {334#true} is VALID [2018-11-14 18:53:10,044 INFO L273 TraceCheckUtils]: 9: Hoare triple {334#true} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {336#(<= (+ main_~i~0 2) ~SIZE~0)} is VALID [2018-11-14 18:53:10,045 INFO L273 TraceCheckUtils]: 10: Hoare triple {336#(<= (+ main_~i~0 2) ~SIZE~0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {336#(<= (+ main_~i~0 2) ~SIZE~0)} is VALID [2018-11-14 18:53:10,046 INFO L273 TraceCheckUtils]: 11: Hoare triple {336#(<= (+ main_~i~0 2) ~SIZE~0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {337#(<= (+ main_~i~0 1) ~SIZE~0)} is VALID [2018-11-14 18:53:10,048 INFO L273 TraceCheckUtils]: 12: Hoare triple {337#(<= (+ main_~i~0 1) ~SIZE~0)} assume true; {337#(<= (+ main_~i~0 1) ~SIZE~0)} is VALID [2018-11-14 18:53:10,050 INFO L273 TraceCheckUtils]: 13: Hoare triple {337#(<= (+ main_~i~0 1) ~SIZE~0)} assume !(~i~0 < ~SIZE~0); {335#false} is VALID [2018-11-14 18:53:10,050 INFO L273 TraceCheckUtils]: 14: Hoare triple {335#false} ~i~0 := 0; {335#false} is VALID [2018-11-14 18:53:10,050 INFO L273 TraceCheckUtils]: 15: Hoare triple {335#false} assume true; {335#false} is VALID [2018-11-14 18:53:10,050 INFO L273 TraceCheckUtils]: 16: Hoare triple {335#false} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {335#false} is VALID [2018-11-14 18:53:10,051 INFO L256 TraceCheckUtils]: 17: Hoare triple {335#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {335#false} is VALID [2018-11-14 18:53:10,051 INFO L273 TraceCheckUtils]: 18: Hoare triple {335#false} ~cond := #in~cond; {335#false} is VALID [2018-11-14 18:53:10,051 INFO L273 TraceCheckUtils]: 19: Hoare triple {335#false} assume ~cond == 0; {335#false} is VALID [2018-11-14 18:53:10,052 INFO L273 TraceCheckUtils]: 20: Hoare triple {335#false} assume !false; {335#false} is VALID [2018-11-14 18:53:10,054 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:53:10,054 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:53:10,054 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-14 18:53:10,055 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 21 [2018-11-14 18:53:10,055 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:53:10,055 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-14 18:53:10,092 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:53:10,093 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-14 18:53:10,093 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-14 18:53:10,093 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-14 18:53:10,094 INFO L87 Difference]: Start difference. First operand 27 states and 29 transitions. Second operand 4 states. [2018-11-14 18:53:10,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:10,438 INFO L93 Difference]: Finished difference Result 43 states and 46 transitions. [2018-11-14 18:53:10,438 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-14 18:53:10,438 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 21 [2018-11-14 18:53:10,439 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:53:10,439 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 18:53:10,442 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 46 transitions. [2018-11-14 18:53:10,442 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 18:53:10,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 46 transitions. [2018-11-14 18:53:10,445 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 46 transitions. [2018-11-14 18:53:10,543 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:53:10,545 INFO L225 Difference]: With dead ends: 43 [2018-11-14 18:53:10,545 INFO L226 Difference]: Without dead ends: 31 [2018-11-14 18:53:10,546 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-14 18:53:10,546 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2018-11-14 18:53:10,572 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 31. [2018-11-14 18:53:10,572 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:53:10,572 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 31 states. [2018-11-14 18:53:10,573 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 31 states. [2018-11-14 18:53:10,573 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 31 states. [2018-11-14 18:53:10,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:10,575 INFO L93 Difference]: Finished difference Result 31 states and 33 transitions. [2018-11-14 18:53:10,576 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 33 transitions. [2018-11-14 18:53:10,576 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:10,576 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:10,577 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 31 states. [2018-11-14 18:53:10,577 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 31 states. [2018-11-14 18:53:10,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:10,580 INFO L93 Difference]: Finished difference Result 31 states and 33 transitions. [2018-11-14 18:53:10,580 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 33 transitions. [2018-11-14 18:53:10,580 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:10,581 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:10,581 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:53:10,581 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:53:10,581 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-14 18:53:10,584 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 33 transitions. [2018-11-14 18:53:10,585 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 33 transitions. Word has length 21 [2018-11-14 18:53:10,585 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:53:10,585 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 33 transitions. [2018-11-14 18:53:10,585 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-14 18:53:10,586 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 33 transitions. [2018-11-14 18:53:10,586 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-14 18:53:10,587 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:53:10,587 INFO L375 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:53:10,587 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:53:10,587 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:53:10,587 INFO L82 PathProgramCache]: Analyzing trace with hash 1167828013, now seen corresponding path program 1 times [2018-11-14 18:53:10,588 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:53:10,588 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:53:10,589 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:10,589 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:53:10,589 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:10,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:11,426 INFO L256 TraceCheckUtils]: 0: Hoare triple {499#true} call ULTIMATE.init(); {499#true} is VALID [2018-11-14 18:53:11,427 INFO L273 TraceCheckUtils]: 1: Hoare triple {499#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {499#true} is VALID [2018-11-14 18:53:11,427 INFO L273 TraceCheckUtils]: 2: Hoare triple {499#true} assume true; {499#true} is VALID [2018-11-14 18:53:11,428 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {499#true} {499#true} #65#return; {499#true} is VALID [2018-11-14 18:53:11,428 INFO L256 TraceCheckUtils]: 4: Hoare triple {499#true} call #t~ret5 := main(); {499#true} is VALID [2018-11-14 18:53:11,428 INFO L273 TraceCheckUtils]: 5: Hoare triple {499#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {499#true} is VALID [2018-11-14 18:53:11,430 INFO L273 TraceCheckUtils]: 6: Hoare triple {499#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {501#(and (<= 2 ~SIZE~0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:11,431 INFO L273 TraceCheckUtils]: 7: Hoare triple {501#(and (<= 2 ~SIZE~0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {501#(and (<= 2 ~SIZE~0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:11,432 INFO L273 TraceCheckUtils]: 8: Hoare triple {501#(and (<= 2 ~SIZE~0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {501#(and (<= 2 ~SIZE~0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:11,432 INFO L273 TraceCheckUtils]: 9: Hoare triple {501#(and (<= 2 ~SIZE~0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {501#(and (<= 2 ~SIZE~0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:11,435 INFO L273 TraceCheckUtils]: 10: Hoare triple {501#(and (<= 2 ~SIZE~0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {502#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (<= 2 ~SIZE~0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:11,436 INFO L273 TraceCheckUtils]: 11: Hoare triple {502#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (<= 2 ~SIZE~0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {503#(and (or (= 0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) 0)) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:11,437 INFO L273 TraceCheckUtils]: 12: Hoare triple {503#(and (or (= 0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) 0)) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))) (= |main_~#a~0.offset| 0))} assume true; {503#(and (or (= 0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) 0)) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:11,438 INFO L273 TraceCheckUtils]: 13: Hoare triple {503#(and (or (= 0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) 0)) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {503#(and (or (= 0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) 0)) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:11,439 INFO L273 TraceCheckUtils]: 14: Hoare triple {503#(and (or (= 0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) 0)) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))) (= |main_~#a~0.offset| 0))} assume !(~i~0 + 1 < ~SIZE~0); {504#(and (= 0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) 0)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:11,440 INFO L273 TraceCheckUtils]: 15: Hoare triple {504#(and (= 0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) 0)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {505#(and (= |main_~#a~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0)))} is VALID [2018-11-14 18:53:11,441 INFO L273 TraceCheckUtils]: 16: Hoare triple {505#(and (= |main_~#a~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0)))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {505#(and (= |main_~#a~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0)))} is VALID [2018-11-14 18:53:11,442 INFO L273 TraceCheckUtils]: 17: Hoare triple {505#(and (= |main_~#a~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0)))} assume true; {505#(and (= |main_~#a~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0)))} is VALID [2018-11-14 18:53:11,444 INFO L273 TraceCheckUtils]: 18: Hoare triple {505#(and (= |main_~#a~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0)))} assume !(~i~0 < ~SIZE~0); {505#(and (= |main_~#a~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0)))} is VALID [2018-11-14 18:53:11,445 INFO L273 TraceCheckUtils]: 19: Hoare triple {505#(and (= |main_~#a~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0)))} ~i~0 := 0; {506#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:11,446 INFO L273 TraceCheckUtils]: 20: Hoare triple {506#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {506#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:11,447 INFO L273 TraceCheckUtils]: 21: Hoare triple {506#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {507#(and (= |main_#t~mem4| 0) (= main_~i~0 0))} is VALID [2018-11-14 18:53:11,449 INFO L256 TraceCheckUtils]: 22: Hoare triple {507#(and (= |main_#t~mem4| 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {508#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 18:53:11,450 INFO L273 TraceCheckUtils]: 23: Hoare triple {508#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {509#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-14 18:53:11,451 INFO L273 TraceCheckUtils]: 24: Hoare triple {509#(= __VERIFIER_assert_~cond 1)} assume ~cond == 0; {500#false} is VALID [2018-11-14 18:53:11,451 INFO L273 TraceCheckUtils]: 25: Hoare triple {500#false} assume !false; {500#false} is VALID [2018-11-14 18:53:11,456 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 2 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:53:11,456 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:53:11,457 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-14 18:53:11,478 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:53:11,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:11,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:11,540 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:53:11,825 INFO L477 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-14 18:53:11,885 INFO L477 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-14 18:53:11,907 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:11,946 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:11,998 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:11,999 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:22, output treesize:18 [2018-11-14 18:53:12,251 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 18 [2018-11-14 18:53:12,279 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:12,281 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:12,283 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 35 [2018-11-14 18:53:12,288 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:12,300 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:12,313 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-14 18:53:12,314 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:25 [2018-11-14 18:53:12,318 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:53:12,889 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 20 [2018-11-14 18:53:12,902 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:12,904 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:12,904 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:53:12,907 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:12,910 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 31 [2018-11-14 18:53:12,916 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:12,927 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:12,937 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-14 18:53:12,938 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:32, output treesize:9 [2018-11-14 18:53:12,948 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:53:12,997 INFO L256 TraceCheckUtils]: 0: Hoare triple {499#true} call ULTIMATE.init(); {499#true} is VALID [2018-11-14 18:53:12,997 INFO L273 TraceCheckUtils]: 1: Hoare triple {499#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {499#true} is VALID [2018-11-14 18:53:12,998 INFO L273 TraceCheckUtils]: 2: Hoare triple {499#true} assume true; {499#true} is VALID [2018-11-14 18:53:12,998 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {499#true} {499#true} #65#return; {499#true} is VALID [2018-11-14 18:53:12,998 INFO L256 TraceCheckUtils]: 4: Hoare triple {499#true} call #t~ret5 := main(); {499#true} is VALID [2018-11-14 18:53:12,998 INFO L273 TraceCheckUtils]: 5: Hoare triple {499#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {499#true} is VALID [2018-11-14 18:53:12,999 INFO L273 TraceCheckUtils]: 6: Hoare triple {499#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {531#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:13,000 INFO L273 TraceCheckUtils]: 7: Hoare triple {531#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {531#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:13,001 INFO L273 TraceCheckUtils]: 8: Hoare triple {531#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {531#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:13,002 INFO L273 TraceCheckUtils]: 9: Hoare triple {531#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {531#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:13,004 INFO L273 TraceCheckUtils]: 10: Hoare triple {531#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {506#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:13,006 INFO L273 TraceCheckUtils]: 11: Hoare triple {506#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {547#(and (<= 1 main_~i~0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:13,007 INFO L273 TraceCheckUtils]: 12: Hoare triple {547#(and (<= 1 main_~i~0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0))} assume true; {547#(and (<= 1 main_~i~0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:13,019 INFO L273 TraceCheckUtils]: 13: Hoare triple {547#(and (<= 1 main_~i~0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {547#(and (<= 1 main_~i~0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:13,020 INFO L273 TraceCheckUtils]: 14: Hoare triple {547#(and (<= 1 main_~i~0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0))} assume !(~i~0 + 1 < ~SIZE~0); {547#(and (<= 1 main_~i~0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:13,021 INFO L273 TraceCheckUtils]: 15: Hoare triple {547#(and (<= 1 main_~i~0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {560#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (exists ((main_~i~0 Int)) (and (<= 1 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:13,023 INFO L273 TraceCheckUtils]: 16: Hoare triple {560#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (exists ((main_~i~0 Int)) (and (<= 1 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {560#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (exists ((main_~i~0 Int)) (and (<= 1 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:13,024 INFO L273 TraceCheckUtils]: 17: Hoare triple {560#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (exists ((main_~i~0 Int)) (and (<= 1 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} assume true; {560#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (exists ((main_~i~0 Int)) (and (<= 1 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:13,025 INFO L273 TraceCheckUtils]: 18: Hoare triple {560#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (exists ((main_~i~0 Int)) (and (<= 1 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {560#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (exists ((main_~i~0 Int)) (and (<= 1 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:13,026 INFO L273 TraceCheckUtils]: 19: Hoare triple {560#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (exists ((main_~i~0 Int)) (and (<= 1 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {573#(and (exists ((v_prenex_1 Int)) (and (<= 1 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:13,027 INFO L273 TraceCheckUtils]: 20: Hoare triple {573#(and (exists ((v_prenex_1 Int)) (and (<= 1 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {573#(and (exists ((v_prenex_1 Int)) (and (<= 1 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:13,031 INFO L273 TraceCheckUtils]: 21: Hoare triple {573#(and (exists ((v_prenex_1 Int)) (and (<= 1 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {580#(and (<= (* 4 main_~i~0) |main_#t~mem4|) (= main_~i~0 0))} is VALID [2018-11-14 18:53:13,032 INFO L256 TraceCheckUtils]: 22: Hoare triple {580#(and (<= (* 4 main_~i~0) |main_#t~mem4|) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {508#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 18:53:13,034 INFO L273 TraceCheckUtils]: 23: Hoare triple {508#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {509#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-14 18:53:13,035 INFO L273 TraceCheckUtils]: 24: Hoare triple {509#(= __VERIFIER_assert_~cond 1)} assume ~cond == 0; {500#false} is VALID [2018-11-14 18:53:13,035 INFO L273 TraceCheckUtils]: 25: Hoare triple {500#false} assume !false; {500#false} is VALID [2018-11-14 18:53:13,040 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:53:13,062 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:53:13,062 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2018-11-14 18:53:13,063 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 26 [2018-11-14 18:53:13,063 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:53:13,064 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-14 18:53:13,201 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:53:13,201 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-14 18:53:13,202 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-14 18:53:13,202 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=180, Unknown=0, NotChecked=0, Total=240 [2018-11-14 18:53:13,203 INFO L87 Difference]: Start difference. First operand 31 states and 33 transitions. Second operand 16 states. [2018-11-14 18:53:14,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:14,295 INFO L93 Difference]: Finished difference Result 48 states and 51 transitions. [2018-11-14 18:53:14,295 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-14 18:53:14,296 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 26 [2018-11-14 18:53:14,296 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:53:14,296 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-14 18:53:14,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 47 transitions. [2018-11-14 18:53:14,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-14 18:53:14,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 47 transitions. [2018-11-14 18:53:14,302 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 47 transitions. [2018-11-14 18:53:14,396 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:53:14,399 INFO L225 Difference]: With dead ends: 48 [2018-11-14 18:53:14,399 INFO L226 Difference]: Without dead ends: 46 [2018-11-14 18:53:14,400 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 20 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=82, Invalid=260, Unknown=0, NotChecked=0, Total=342 [2018-11-14 18:53:14,400 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2018-11-14 18:53:14,445 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 38. [2018-11-14 18:53:14,445 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:53:14,446 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 38 states. [2018-11-14 18:53:14,446 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 38 states. [2018-11-14 18:53:14,446 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 38 states. [2018-11-14 18:53:14,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:14,450 INFO L93 Difference]: Finished difference Result 46 states and 49 transitions. [2018-11-14 18:53:14,450 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 49 transitions. [2018-11-14 18:53:14,451 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:14,451 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:14,451 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 46 states. [2018-11-14 18:53:14,451 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 46 states. [2018-11-14 18:53:14,455 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:14,455 INFO L93 Difference]: Finished difference Result 46 states and 49 transitions. [2018-11-14 18:53:14,455 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 49 transitions. [2018-11-14 18:53:14,456 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:14,456 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:14,456 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:53:14,456 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:53:14,456 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2018-11-14 18:53:14,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 40 transitions. [2018-11-14 18:53:14,459 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 40 transitions. Word has length 26 [2018-11-14 18:53:14,459 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:53:14,459 INFO L480 AbstractCegarLoop]: Abstraction has 38 states and 40 transitions. [2018-11-14 18:53:14,460 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-14 18:53:14,460 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 40 transitions. [2018-11-14 18:53:14,461 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2018-11-14 18:53:14,461 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:53:14,461 INFO L375 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:53:14,462 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:53:14,462 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:53:14,462 INFO L82 PathProgramCache]: Analyzing trace with hash 1015321010, now seen corresponding path program 1 times [2018-11-14 18:53:14,462 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:53:14,462 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:53:14,463 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:14,464 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:53:14,464 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:14,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:15,189 INFO L256 TraceCheckUtils]: 0: Hoare triple {803#true} call ULTIMATE.init(); {803#true} is VALID [2018-11-14 18:53:15,190 INFO L273 TraceCheckUtils]: 1: Hoare triple {803#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {803#true} is VALID [2018-11-14 18:53:15,190 INFO L273 TraceCheckUtils]: 2: Hoare triple {803#true} assume true; {803#true} is VALID [2018-11-14 18:53:15,190 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {803#true} {803#true} #65#return; {803#true} is VALID [2018-11-14 18:53:15,191 INFO L256 TraceCheckUtils]: 4: Hoare triple {803#true} call #t~ret5 := main(); {803#true} is VALID [2018-11-14 18:53:15,191 INFO L273 TraceCheckUtils]: 5: Hoare triple {803#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {803#true} is VALID [2018-11-14 18:53:15,196 INFO L273 TraceCheckUtils]: 6: Hoare triple {803#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {805#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-14 18:53:15,196 INFO L273 TraceCheckUtils]: 7: Hoare triple {805#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} assume true; {805#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-14 18:53:15,197 INFO L273 TraceCheckUtils]: 8: Hoare triple {805#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0); {805#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-14 18:53:15,197 INFO L273 TraceCheckUtils]: 9: Hoare triple {805#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {805#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-14 18:53:15,200 INFO L273 TraceCheckUtils]: 10: Hoare triple {805#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {805#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-14 18:53:15,200 INFO L273 TraceCheckUtils]: 11: Hoare triple {805#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {806#(or (<= (+ main_~i~0 2) ~SIZE~0) (= 1 main_~i~0))} is VALID [2018-11-14 18:53:15,201 INFO L273 TraceCheckUtils]: 12: Hoare triple {806#(or (<= (+ main_~i~0 2) ~SIZE~0) (= 1 main_~i~0))} assume true; {806#(or (<= (+ main_~i~0 2) ~SIZE~0) (= 1 main_~i~0))} is VALID [2018-11-14 18:53:15,201 INFO L273 TraceCheckUtils]: 13: Hoare triple {806#(or (<= (+ main_~i~0 2) ~SIZE~0) (= 1 main_~i~0))} assume !!(~i~0 < ~SIZE~0); {806#(or (<= (+ main_~i~0 2) ~SIZE~0) (= 1 main_~i~0))} is VALID [2018-11-14 18:53:15,202 INFO L273 TraceCheckUtils]: 14: Hoare triple {806#(or (<= (+ main_~i~0 2) ~SIZE~0) (= 1 main_~i~0))} assume !(~i~0 + 1 < ~SIZE~0); {807#(= 1 main_~i~0)} is VALID [2018-11-14 18:53:15,202 INFO L273 TraceCheckUtils]: 15: Hoare triple {807#(= 1 main_~i~0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {808#(and (= 1 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} is VALID [2018-11-14 18:53:15,203 INFO L273 TraceCheckUtils]: 16: Hoare triple {808#(and (= 1 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {809#(= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))))} is VALID [2018-11-14 18:53:15,219 INFO L273 TraceCheckUtils]: 17: Hoare triple {809#(= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))))} assume true; {809#(= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))))} is VALID [2018-11-14 18:53:15,220 INFO L273 TraceCheckUtils]: 18: Hoare triple {809#(= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))))} assume !(~i~0 < ~SIZE~0); {809#(= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))))} is VALID [2018-11-14 18:53:15,221 INFO L273 TraceCheckUtils]: 19: Hoare triple {809#(= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))))} ~i~0 := 0; {810#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} is VALID [2018-11-14 18:53:15,222 INFO L273 TraceCheckUtils]: 20: Hoare triple {810#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} assume true; {810#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} is VALID [2018-11-14 18:53:15,223 INFO L273 TraceCheckUtils]: 21: Hoare triple {810#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {810#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} is VALID [2018-11-14 18:53:15,223 INFO L256 TraceCheckUtils]: 22: Hoare triple {810#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {803#true} is VALID [2018-11-14 18:53:15,224 INFO L273 TraceCheckUtils]: 23: Hoare triple {803#true} ~cond := #in~cond; {811#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-14 18:53:15,229 INFO L273 TraceCheckUtils]: 24: Hoare triple {811#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(~cond == 0); {812#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:53:15,230 INFO L273 TraceCheckUtils]: 25: Hoare triple {812#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {812#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:53:15,230 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {812#(not (= |__VERIFIER_assert_#in~cond| 0))} {810#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} #69#return; {810#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} is VALID [2018-11-14 18:53:15,231 INFO L273 TraceCheckUtils]: 27: Hoare triple {810#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} havoc #t~mem4; {810#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} is VALID [2018-11-14 18:53:15,232 INFO L273 TraceCheckUtils]: 28: Hoare triple {810#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {813#(and (<= main_~i~0 1) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} is VALID [2018-11-14 18:53:15,232 INFO L273 TraceCheckUtils]: 29: Hoare triple {813#(and (<= main_~i~0 1) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} assume true; {813#(and (<= main_~i~0 1) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} is VALID [2018-11-14 18:53:15,233 INFO L273 TraceCheckUtils]: 30: Hoare triple {813#(and (<= main_~i~0 1) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {814#(and (<= main_~i~0 1) (= |main_#t~mem4| 1))} is VALID [2018-11-14 18:53:15,234 INFO L256 TraceCheckUtils]: 31: Hoare triple {814#(and (<= main_~i~0 1) (= |main_#t~mem4| 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {812#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:53:15,235 INFO L273 TraceCheckUtils]: 32: Hoare triple {812#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {815#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-14 18:53:15,235 INFO L273 TraceCheckUtils]: 33: Hoare triple {815#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {804#false} is VALID [2018-11-14 18:53:15,236 INFO L273 TraceCheckUtils]: 34: Hoare triple {804#false} assume !false; {804#false} is VALID [2018-11-14 18:53:15,240 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:53:15,241 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:53:15,241 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-14 18:53:15,251 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:53:15,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:15,297 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:15,299 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:53:15,402 INFO L477 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-14 18:53:15,406 INFO L477 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-14 18:53:15,408 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:15,411 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:15,417 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:15,418 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-14 18:53:15,771 INFO L477 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-14 18:53:15,775 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:53:15,777 INFO L477 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-14 18:53:15,779 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:15,781 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:15,786 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-14 18:53:15,787 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-14 18:53:15,789 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:53:15,926 INFO L256 TraceCheckUtils]: 0: Hoare triple {803#true} call ULTIMATE.init(); {803#true} is VALID [2018-11-14 18:53:15,927 INFO L273 TraceCheckUtils]: 1: Hoare triple {803#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {803#true} is VALID [2018-11-14 18:53:15,927 INFO L273 TraceCheckUtils]: 2: Hoare triple {803#true} assume true; {803#true} is VALID [2018-11-14 18:53:15,927 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {803#true} {803#true} #65#return; {803#true} is VALID [2018-11-14 18:53:15,927 INFO L256 TraceCheckUtils]: 4: Hoare triple {803#true} call #t~ret5 := main(); {803#true} is VALID [2018-11-14 18:53:15,928 INFO L273 TraceCheckUtils]: 5: Hoare triple {803#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {803#true} is VALID [2018-11-14 18:53:15,928 INFO L273 TraceCheckUtils]: 6: Hoare triple {803#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {837#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:15,929 INFO L273 TraceCheckUtils]: 7: Hoare triple {837#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {837#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:15,930 INFO L273 TraceCheckUtils]: 8: Hoare triple {837#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {837#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:15,930 INFO L273 TraceCheckUtils]: 9: Hoare triple {837#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {837#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:15,931 INFO L273 TraceCheckUtils]: 10: Hoare triple {837#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {837#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:15,931 INFO L273 TraceCheckUtils]: 11: Hoare triple {837#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {853#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:15,932 INFO L273 TraceCheckUtils]: 12: Hoare triple {853#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume true; {853#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:15,933 INFO L273 TraceCheckUtils]: 13: Hoare triple {853#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {853#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:15,934 INFO L273 TraceCheckUtils]: 14: Hoare triple {853#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !(~i~0 + 1 < ~SIZE~0); {853#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:15,935 INFO L273 TraceCheckUtils]: 15: Hoare triple {853#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {866#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:15,936 INFO L273 TraceCheckUtils]: 16: Hoare triple {866#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {866#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:15,937 INFO L273 TraceCheckUtils]: 17: Hoare triple {866#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume true; {866#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:15,938 INFO L273 TraceCheckUtils]: 18: Hoare triple {866#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {866#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:15,939 INFO L273 TraceCheckUtils]: 19: Hoare triple {866#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {879#(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-14 18:53:15,940 INFO L273 TraceCheckUtils]: 20: Hoare triple {879#(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 true; {879#(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-14 18:53:15,941 INFO L273 TraceCheckUtils]: 21: Hoare triple {879#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {879#(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-14 18:53:15,943 INFO L256 TraceCheckUtils]: 22: Hoare triple {879#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {889#(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-14 18:53:15,944 INFO L273 TraceCheckUtils]: 23: Hoare triple {889#(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; {893#(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-14 18:53:15,946 INFO L273 TraceCheckUtils]: 24: Hoare triple {893#(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 !(~cond == 0); {897#(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-14 18:53:15,947 INFO L273 TraceCheckUtils]: 25: Hoare triple {897#(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; {897#(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-14 18:53:15,949 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {897#(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))))} {879#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #69#return; {879#(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-14 18:53:15,950 INFO L273 TraceCheckUtils]: 27: Hoare triple {879#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {879#(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-14 18:53:15,950 INFO L273 TraceCheckUtils]: 28: Hoare triple {879#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {910#(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-14 18:53:15,954 INFO L273 TraceCheckUtils]: 29: Hoare triple {910#(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 true; {910#(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-14 18:53:15,955 INFO L273 TraceCheckUtils]: 30: Hoare triple {910#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {917#(and (<= 1 |main_#t~mem4|) (= main_~i~0 1))} is VALID [2018-11-14 18:53:15,956 INFO L256 TraceCheckUtils]: 31: Hoare triple {917#(and (<= 1 |main_#t~mem4|) (= main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {921#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 18:53:15,957 INFO L273 TraceCheckUtils]: 32: Hoare triple {921#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {925#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 18:53:15,957 INFO L273 TraceCheckUtils]: 33: Hoare triple {925#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {804#false} is VALID [2018-11-14 18:53:15,957 INFO L273 TraceCheckUtils]: 34: Hoare triple {804#false} assume !false; {804#false} is VALID [2018-11-14 18:53:15,962 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:53:15,984 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:53:15,984 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 24 [2018-11-14 18:53:15,985 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 35 [2018-11-14 18:53:15,985 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:53:15,985 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-14 18:53:16,066 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:53:16,066 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-14 18:53:16,067 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-14 18:53:16,067 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=475, Unknown=0, NotChecked=0, Total=552 [2018-11-14 18:53:16,068 INFO L87 Difference]: Start difference. First operand 38 states and 40 transitions. Second operand 24 states. [2018-11-14 18:53:18,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:18,319 INFO L93 Difference]: Finished difference Result 86 states and 91 transitions. [2018-11-14 18:53:18,319 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-14 18:53:18,319 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 35 [2018-11-14 18:53:18,319 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:53:18,319 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-14 18:53:18,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 75 transitions. [2018-11-14 18:53:18,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-14 18:53:18,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 75 transitions. [2018-11-14 18:53:18,329 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 75 transitions. [2018-11-14 18:53:18,496 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-14 18:53:18,500 INFO L225 Difference]: With dead ends: 86 [2018-11-14 18:53:18,501 INFO L226 Difference]: Without dead ends: 84 [2018-11-14 18:53:18,502 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 55 GetRequests, 25 SyntacticMatches, 2 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 217 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=128, Invalid=742, Unknown=0, NotChecked=0, Total=870 [2018-11-14 18:53:18,502 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2018-11-14 18:53:18,654 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 62. [2018-11-14 18:53:18,654 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:53:18,654 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand 62 states. [2018-11-14 18:53:18,654 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 62 states. [2018-11-14 18:53:18,654 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 62 states. [2018-11-14 18:53:18,658 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:18,659 INFO L93 Difference]: Finished difference Result 84 states and 89 transitions. [2018-11-14 18:53:18,659 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 89 transitions. [2018-11-14 18:53:18,660 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:18,660 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:18,660 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 84 states. [2018-11-14 18:53:18,660 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 84 states. [2018-11-14 18:53:18,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:18,665 INFO L93 Difference]: Finished difference Result 84 states and 89 transitions. [2018-11-14 18:53:18,665 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 89 transitions. [2018-11-14 18:53:18,666 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:18,666 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:18,666 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:53:18,667 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:53:18,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 62 states. [2018-11-14 18:53:18,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 67 transitions. [2018-11-14 18:53:18,670 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 67 transitions. Word has length 35 [2018-11-14 18:53:18,670 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:53:18,670 INFO L480 AbstractCegarLoop]: Abstraction has 62 states and 67 transitions. [2018-11-14 18:53:18,670 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-14 18:53:18,670 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 67 transitions. [2018-11-14 18:53:18,672 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-14 18:53:18,672 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:53:18,672 INFO L375 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:53:18,672 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:53:18,673 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:53:18,673 INFO L82 PathProgramCache]: Analyzing trace with hash 1920862669, now seen corresponding path program 2 times [2018-11-14 18:53:18,673 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:53:18,673 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:53:18,674 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:18,674 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:53:18,674 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:18,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:18,857 INFO L256 TraceCheckUtils]: 0: Hoare triple {1303#true} call ULTIMATE.init(); {1303#true} is VALID [2018-11-14 18:53:18,857 INFO L273 TraceCheckUtils]: 1: Hoare triple {1303#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1303#true} is VALID [2018-11-14 18:53:18,858 INFO L273 TraceCheckUtils]: 2: Hoare triple {1303#true} assume true; {1303#true} is VALID [2018-11-14 18:53:18,858 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1303#true} {1303#true} #65#return; {1303#true} is VALID [2018-11-14 18:53:18,858 INFO L256 TraceCheckUtils]: 4: Hoare triple {1303#true} call #t~ret5 := main(); {1303#true} is VALID [2018-11-14 18:53:18,859 INFO L273 TraceCheckUtils]: 5: Hoare triple {1303#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1303#true} is VALID [2018-11-14 18:53:18,864 INFO L273 TraceCheckUtils]: 6: Hoare triple {1303#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {1305#(= main_~i~0 0)} is VALID [2018-11-14 18:53:18,865 INFO L273 TraceCheckUtils]: 7: Hoare triple {1305#(= main_~i~0 0)} assume true; {1305#(= main_~i~0 0)} is VALID [2018-11-14 18:53:18,866 INFO L273 TraceCheckUtils]: 8: Hoare triple {1305#(= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {1305#(= main_~i~0 0)} is VALID [2018-11-14 18:53:18,866 INFO L273 TraceCheckUtils]: 9: Hoare triple {1305#(= main_~i~0 0)} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {1305#(= main_~i~0 0)} is VALID [2018-11-14 18:53:18,866 INFO L273 TraceCheckUtils]: 10: Hoare triple {1305#(= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1305#(= main_~i~0 0)} is VALID [2018-11-14 18:53:18,867 INFO L273 TraceCheckUtils]: 11: Hoare triple {1305#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {1306#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:18,868 INFO L273 TraceCheckUtils]: 12: Hoare triple {1306#(<= main_~i~0 1)} assume true; {1306#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:18,869 INFO L273 TraceCheckUtils]: 13: Hoare triple {1306#(<= main_~i~0 1)} assume !!(~i~0 < ~SIZE~0); {1306#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:18,872 INFO L273 TraceCheckUtils]: 14: Hoare triple {1306#(<= main_~i~0 1)} assume !(~i~0 + 1 < ~SIZE~0); {1307#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:18,873 INFO L273 TraceCheckUtils]: 15: Hoare triple {1307#(<= ~SIZE~0 2)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1307#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:18,874 INFO L273 TraceCheckUtils]: 16: Hoare triple {1307#(<= ~SIZE~0 2)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {1307#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:18,874 INFO L273 TraceCheckUtils]: 17: Hoare triple {1307#(<= ~SIZE~0 2)} assume true; {1307#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:18,874 INFO L273 TraceCheckUtils]: 18: Hoare triple {1307#(<= ~SIZE~0 2)} assume !(~i~0 < ~SIZE~0); {1307#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:18,875 INFO L273 TraceCheckUtils]: 19: Hoare triple {1307#(<= ~SIZE~0 2)} ~i~0 := 0; {1308#(and (<= ~SIZE~0 2) (= main_~i~0 0))} is VALID [2018-11-14 18:53:18,875 INFO L273 TraceCheckUtils]: 20: Hoare triple {1308#(and (<= ~SIZE~0 2) (= main_~i~0 0))} assume true; {1308#(and (<= ~SIZE~0 2) (= main_~i~0 0))} is VALID [2018-11-14 18:53:18,876 INFO L273 TraceCheckUtils]: 21: Hoare triple {1308#(and (<= ~SIZE~0 2) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1308#(and (<= ~SIZE~0 2) (= main_~i~0 0))} is VALID [2018-11-14 18:53:18,877 INFO L256 TraceCheckUtils]: 22: Hoare triple {1308#(and (<= ~SIZE~0 2) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1303#true} is VALID [2018-11-14 18:53:18,877 INFO L273 TraceCheckUtils]: 23: Hoare triple {1303#true} ~cond := #in~cond; {1303#true} is VALID [2018-11-14 18:53:18,877 INFO L273 TraceCheckUtils]: 24: Hoare triple {1303#true} assume !(~cond == 0); {1303#true} is VALID [2018-11-14 18:53:18,877 INFO L273 TraceCheckUtils]: 25: Hoare triple {1303#true} assume true; {1303#true} is VALID [2018-11-14 18:53:18,878 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1303#true} {1308#(and (<= ~SIZE~0 2) (= main_~i~0 0))} #69#return; {1308#(and (<= ~SIZE~0 2) (= main_~i~0 0))} is VALID [2018-11-14 18:53:18,879 INFO L273 TraceCheckUtils]: 27: Hoare triple {1308#(and (<= ~SIZE~0 2) (= main_~i~0 0))} havoc #t~mem4; {1308#(and (<= ~SIZE~0 2) (= main_~i~0 0))} is VALID [2018-11-14 18:53:18,880 INFO L273 TraceCheckUtils]: 28: Hoare triple {1308#(and (<= ~SIZE~0 2) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {1309#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:53:18,887 INFO L273 TraceCheckUtils]: 29: Hoare triple {1309#(<= ~SIZE~0 (+ main_~i~0 1))} assume true; {1309#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:53:18,887 INFO L273 TraceCheckUtils]: 30: Hoare triple {1309#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1309#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:53:18,888 INFO L256 TraceCheckUtils]: 31: Hoare triple {1309#(<= ~SIZE~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1303#true} is VALID [2018-11-14 18:53:18,888 INFO L273 TraceCheckUtils]: 32: Hoare triple {1303#true} ~cond := #in~cond; {1303#true} is VALID [2018-11-14 18:53:18,888 INFO L273 TraceCheckUtils]: 33: Hoare triple {1303#true} assume !(~cond == 0); {1303#true} is VALID [2018-11-14 18:53:18,888 INFO L273 TraceCheckUtils]: 34: Hoare triple {1303#true} assume true; {1303#true} is VALID [2018-11-14 18:53:18,894 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {1303#true} {1309#(<= ~SIZE~0 (+ main_~i~0 1))} #69#return; {1309#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:53:18,894 INFO L273 TraceCheckUtils]: 36: Hoare triple {1309#(<= ~SIZE~0 (+ main_~i~0 1))} havoc #t~mem4; {1309#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:53:18,895 INFO L273 TraceCheckUtils]: 37: Hoare triple {1309#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {1310#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-14 18:53:18,895 INFO L273 TraceCheckUtils]: 38: Hoare triple {1310#(<= ~SIZE~0 main_~i~0)} assume true; {1310#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-14 18:53:18,896 INFO L273 TraceCheckUtils]: 39: Hoare triple {1310#(<= ~SIZE~0 main_~i~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1304#false} is VALID [2018-11-14 18:53:18,896 INFO L256 TraceCheckUtils]: 40: Hoare triple {1304#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1304#false} is VALID [2018-11-14 18:53:18,896 INFO L273 TraceCheckUtils]: 41: Hoare triple {1304#false} ~cond := #in~cond; {1304#false} is VALID [2018-11-14 18:53:18,896 INFO L273 TraceCheckUtils]: 42: Hoare triple {1304#false} assume ~cond == 0; {1304#false} is VALID [2018-11-14 18:53:18,897 INFO L273 TraceCheckUtils]: 43: Hoare triple {1304#false} assume !false; {1304#false} is VALID [2018-11-14 18:53:18,898 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 8 proven. 16 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-14 18:53:18,899 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:53:18,899 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-14 18:53:18,916 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 18:53:18,941 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 18:53:18,941 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:53:18,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:18,961 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:53:19,195 INFO L256 TraceCheckUtils]: 0: Hoare triple {1303#true} call ULTIMATE.init(); {1303#true} is VALID [2018-11-14 18:53:19,196 INFO L273 TraceCheckUtils]: 1: Hoare triple {1303#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1303#true} is VALID [2018-11-14 18:53:19,196 INFO L273 TraceCheckUtils]: 2: Hoare triple {1303#true} assume true; {1303#true} is VALID [2018-11-14 18:53:19,197 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1303#true} {1303#true} #65#return; {1303#true} is VALID [2018-11-14 18:53:19,197 INFO L256 TraceCheckUtils]: 4: Hoare triple {1303#true} call #t~ret5 := main(); {1303#true} is VALID [2018-11-14 18:53:19,197 INFO L273 TraceCheckUtils]: 5: Hoare triple {1303#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1303#true} is VALID [2018-11-14 18:53:19,200 INFO L273 TraceCheckUtils]: 6: Hoare triple {1303#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {1332#(<= main_~i~0 0)} is VALID [2018-11-14 18:53:19,201 INFO L273 TraceCheckUtils]: 7: Hoare triple {1332#(<= main_~i~0 0)} assume true; {1332#(<= main_~i~0 0)} is VALID [2018-11-14 18:53:19,201 INFO L273 TraceCheckUtils]: 8: Hoare triple {1332#(<= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {1332#(<= main_~i~0 0)} is VALID [2018-11-14 18:53:19,201 INFO L273 TraceCheckUtils]: 9: Hoare triple {1332#(<= main_~i~0 0)} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {1332#(<= main_~i~0 0)} is VALID [2018-11-14 18:53:19,202 INFO L273 TraceCheckUtils]: 10: Hoare triple {1332#(<= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1332#(<= main_~i~0 0)} is VALID [2018-11-14 18:53:19,202 INFO L273 TraceCheckUtils]: 11: Hoare triple {1332#(<= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {1306#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:19,203 INFO L273 TraceCheckUtils]: 12: Hoare triple {1306#(<= main_~i~0 1)} assume true; {1306#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:19,204 INFO L273 TraceCheckUtils]: 13: Hoare triple {1306#(<= main_~i~0 1)} assume !!(~i~0 < ~SIZE~0); {1306#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:19,205 INFO L273 TraceCheckUtils]: 14: Hoare triple {1306#(<= main_~i~0 1)} assume !(~i~0 + 1 < ~SIZE~0); {1307#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:19,206 INFO L273 TraceCheckUtils]: 15: Hoare triple {1307#(<= ~SIZE~0 2)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1307#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:19,206 INFO L273 TraceCheckUtils]: 16: Hoare triple {1307#(<= ~SIZE~0 2)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {1307#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:19,207 INFO L273 TraceCheckUtils]: 17: Hoare triple {1307#(<= ~SIZE~0 2)} assume true; {1307#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:19,208 INFO L273 TraceCheckUtils]: 18: Hoare triple {1307#(<= ~SIZE~0 2)} assume !(~i~0 < ~SIZE~0); {1307#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:19,208 INFO L273 TraceCheckUtils]: 19: Hoare triple {1307#(<= ~SIZE~0 2)} ~i~0 := 0; {1372#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-14 18:53:19,209 INFO L273 TraceCheckUtils]: 20: Hoare triple {1372#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} assume true; {1372#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-14 18:53:19,210 INFO L273 TraceCheckUtils]: 21: Hoare triple {1372#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1372#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-14 18:53:19,211 INFO L256 TraceCheckUtils]: 22: Hoare triple {1372#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1307#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:19,212 INFO L273 TraceCheckUtils]: 23: Hoare triple {1307#(<= ~SIZE~0 2)} ~cond := #in~cond; {1307#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:19,212 INFO L273 TraceCheckUtils]: 24: Hoare triple {1307#(<= ~SIZE~0 2)} assume !(~cond == 0); {1307#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:19,213 INFO L273 TraceCheckUtils]: 25: Hoare triple {1307#(<= ~SIZE~0 2)} assume true; {1307#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:19,214 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1307#(<= ~SIZE~0 2)} {1372#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} #69#return; {1372#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-14 18:53:19,215 INFO L273 TraceCheckUtils]: 27: Hoare triple {1372#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} havoc #t~mem4; {1372#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-14 18:53:19,216 INFO L273 TraceCheckUtils]: 28: Hoare triple {1372#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {1400#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-14 18:53:19,216 INFO L273 TraceCheckUtils]: 29: Hoare triple {1400#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} assume true; {1400#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-14 18:53:19,217 INFO L273 TraceCheckUtils]: 30: Hoare triple {1400#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1400#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-14 18:53:19,221 INFO L256 TraceCheckUtils]: 31: Hoare triple {1400#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1307#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:19,221 INFO L273 TraceCheckUtils]: 32: Hoare triple {1307#(<= ~SIZE~0 2)} ~cond := #in~cond; {1307#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:19,223 INFO L273 TraceCheckUtils]: 33: Hoare triple {1307#(<= ~SIZE~0 2)} assume !(~cond == 0); {1307#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:19,223 INFO L273 TraceCheckUtils]: 34: Hoare triple {1307#(<= ~SIZE~0 2)} assume true; {1307#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:19,224 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {1307#(<= ~SIZE~0 2)} {1400#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} #69#return; {1400#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-14 18:53:19,228 INFO L273 TraceCheckUtils]: 36: Hoare triple {1400#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} havoc #t~mem4; {1400#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-14 18:53:19,239 INFO L273 TraceCheckUtils]: 37: Hoare triple {1400#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {1428#(and (<= 2 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-14 18:53:19,241 INFO L273 TraceCheckUtils]: 38: Hoare triple {1428#(and (<= 2 main_~i~0) (<= ~SIZE~0 2))} assume true; {1428#(and (<= 2 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-14 18:53:19,242 INFO L273 TraceCheckUtils]: 39: Hoare triple {1428#(and (<= 2 main_~i~0) (<= ~SIZE~0 2))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1304#false} is VALID [2018-11-14 18:53:19,242 INFO L256 TraceCheckUtils]: 40: Hoare triple {1304#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1304#false} is VALID [2018-11-14 18:53:19,242 INFO L273 TraceCheckUtils]: 41: Hoare triple {1304#false} ~cond := #in~cond; {1304#false} is VALID [2018-11-14 18:53:19,243 INFO L273 TraceCheckUtils]: 42: Hoare triple {1304#false} assume ~cond == 0; {1304#false} is VALID [2018-11-14 18:53:19,243 INFO L273 TraceCheckUtils]: 43: Hoare triple {1304#false} assume !false; {1304#false} is VALID [2018-11-14 18:53:19,245 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 15 proven. 9 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-14 18:53:19,265 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:53:19,265 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2018-11-14 18:53:19,266 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 44 [2018-11-14 18:53:19,266 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:53:19,266 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-14 18:53:19,327 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-14 18:53:19,327 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-14 18:53:19,328 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-14 18:53:19,328 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2018-11-14 18:53:19,328 INFO L87 Difference]: Start difference. First operand 62 states and 67 transitions. Second operand 12 states. [2018-11-14 18:53:20,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:20,011 INFO L93 Difference]: Finished difference Result 140 states and 152 transitions. [2018-11-14 18:53:20,011 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-14 18:53:20,011 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 44 [2018-11-14 18:53:20,012 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:53:20,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-14 18:53:20,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 95 transitions. [2018-11-14 18:53:20,016 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-14 18:53:20,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 95 transitions. [2018-11-14 18:53:20,019 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 95 transitions. [2018-11-14 18:53:20,113 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-14 18:53:20,116 INFO L225 Difference]: With dead ends: 140 [2018-11-14 18:53:20,116 INFO L226 Difference]: Without dead ends: 72 [2018-11-14 18:53:20,117 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 41 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=58, Invalid=152, Unknown=0, NotChecked=0, Total=210 [2018-11-14 18:53:20,117 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2018-11-14 18:53:20,232 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 62. [2018-11-14 18:53:20,232 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:53:20,232 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand 62 states. [2018-11-14 18:53:20,232 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 62 states. [2018-11-14 18:53:20,233 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 62 states. [2018-11-14 18:53:20,237 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:20,238 INFO L93 Difference]: Finished difference Result 72 states and 76 transitions. [2018-11-14 18:53:20,238 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 76 transitions. [2018-11-14 18:53:20,239 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:20,239 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:20,239 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 72 states. [2018-11-14 18:53:20,239 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 72 states. [2018-11-14 18:53:20,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:20,243 INFO L93 Difference]: Finished difference Result 72 states and 76 transitions. [2018-11-14 18:53:20,243 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 76 transitions. [2018-11-14 18:53:20,244 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:20,244 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:20,244 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:53:20,244 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:53:20,244 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 62 states. [2018-11-14 18:53:20,247 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 64 transitions. [2018-11-14 18:53:20,247 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 64 transitions. Word has length 44 [2018-11-14 18:53:20,247 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:53:20,247 INFO L480 AbstractCegarLoop]: Abstraction has 62 states and 64 transitions. [2018-11-14 18:53:20,247 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-14 18:53:20,247 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 64 transitions. [2018-11-14 18:53:20,249 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2018-11-14 18:53:20,249 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:53:20,249 INFO L375 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:53:20,249 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:53:20,249 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:53:20,250 INFO L82 PathProgramCache]: Analyzing trace with hash 1424925522, now seen corresponding path program 3 times [2018-11-14 18:53:20,250 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:53:20,250 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:53:20,251 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:20,251 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:53:20,251 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:20,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:21,374 INFO L256 TraceCheckUtils]: 0: Hoare triple {1860#true} call ULTIMATE.init(); {1860#true} is VALID [2018-11-14 18:53:21,374 INFO L273 TraceCheckUtils]: 1: Hoare triple {1860#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1860#true} is VALID [2018-11-14 18:53:21,375 INFO L273 TraceCheckUtils]: 2: Hoare triple {1860#true} assume true; {1860#true} is VALID [2018-11-14 18:53:21,375 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1860#true} {1860#true} #65#return; {1860#true} is VALID [2018-11-14 18:53:21,375 INFO L256 TraceCheckUtils]: 4: Hoare triple {1860#true} call #t~ret5 := main(); {1860#true} is VALID [2018-11-14 18:53:21,376 INFO L273 TraceCheckUtils]: 5: Hoare triple {1860#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1860#true} is VALID [2018-11-14 18:53:21,376 INFO L273 TraceCheckUtils]: 6: Hoare triple {1860#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {1862#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,377 INFO L273 TraceCheckUtils]: 7: Hoare triple {1862#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {1862#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,378 INFO L273 TraceCheckUtils]: 8: Hoare triple {1862#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {1862#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,379 INFO L273 TraceCheckUtils]: 9: Hoare triple {1862#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {1862#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,380 INFO L273 TraceCheckUtils]: 10: Hoare triple {1862#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1862#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,380 INFO L273 TraceCheckUtils]: 11: Hoare triple {1862#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {1863#(and (= 1 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,381 INFO L273 TraceCheckUtils]: 12: Hoare triple {1863#(and (= 1 main_~i~0) (= |main_~#a~0.offset| 0))} assume true; {1863#(and (= 1 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,382 INFO L273 TraceCheckUtils]: 13: Hoare triple {1863#(and (= 1 main_~i~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {1863#(and (= 1 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,383 INFO L273 TraceCheckUtils]: 14: Hoare triple {1863#(and (= 1 main_~i~0) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {1863#(and (= 1 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,384 INFO L273 TraceCheckUtils]: 15: Hoare triple {1863#(and (= 1 main_~i~0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1864#(and (= 1 main_~i~0) (or (<= (+ main_~i~0 |main_~#a~0.offset| 4) ~SIZE~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (<= ~SIZE~0 (+ main_~i~0 |main_~#a~0.offset| 2))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,386 INFO L273 TraceCheckUtils]: 16: Hoare triple {1864#(and (= 1 main_~i~0) (or (<= (+ main_~i~0 |main_~#a~0.offset| 4) ~SIZE~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (<= ~SIZE~0 (+ main_~i~0 |main_~#a~0.offset| 2))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {1865#(and (or (and (= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ (- main_~i~0) (+ ~SIZE~0 2)))) (not (= (+ (* 5 main_~i~0) |main_~#a~0.offset|) (+ ~SIZE~0 2)))) (<= ~SIZE~0 (+ main_~i~0 |main_~#a~0.offset| 1)) (<= (+ main_~i~0 |main_~#a~0.offset| 3) ~SIZE~0)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,387 INFO L273 TraceCheckUtils]: 17: Hoare triple {1865#(and (or (and (= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ (- main_~i~0) (+ ~SIZE~0 2)))) (not (= (+ (* 5 main_~i~0) |main_~#a~0.offset|) (+ ~SIZE~0 2)))) (<= ~SIZE~0 (+ main_~i~0 |main_~#a~0.offset| 1)) (<= (+ main_~i~0 |main_~#a~0.offset| 3) ~SIZE~0)) (= |main_~#a~0.offset| 0))} assume true; {1865#(and (or (and (= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ (- main_~i~0) (+ ~SIZE~0 2)))) (not (= (+ (* 5 main_~i~0) |main_~#a~0.offset|) (+ ~SIZE~0 2)))) (<= ~SIZE~0 (+ main_~i~0 |main_~#a~0.offset| 1)) (<= (+ main_~i~0 |main_~#a~0.offset| 3) ~SIZE~0)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,388 INFO L273 TraceCheckUtils]: 18: Hoare triple {1865#(and (or (and (= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ (- main_~i~0) (+ ~SIZE~0 2)))) (not (= (+ (* 5 main_~i~0) |main_~#a~0.offset|) (+ ~SIZE~0 2)))) (<= ~SIZE~0 (+ main_~i~0 |main_~#a~0.offset| 1)) (<= (+ main_~i~0 |main_~#a~0.offset| 3) ~SIZE~0)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {1865#(and (or (and (= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ (- main_~i~0) (+ ~SIZE~0 2)))) (not (= (+ (* 5 main_~i~0) |main_~#a~0.offset|) (+ ~SIZE~0 2)))) (<= ~SIZE~0 (+ main_~i~0 |main_~#a~0.offset| 1)) (<= (+ main_~i~0 |main_~#a~0.offset| 3) ~SIZE~0)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,389 INFO L273 TraceCheckUtils]: 19: Hoare triple {1865#(and (or (and (= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ (- main_~i~0) (+ ~SIZE~0 2)))) (not (= (+ (* 5 main_~i~0) |main_~#a~0.offset|) (+ ~SIZE~0 2)))) (<= ~SIZE~0 (+ main_~i~0 |main_~#a~0.offset| 1)) (<= (+ main_~i~0 |main_~#a~0.offset| 3) ~SIZE~0)) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {1866#(and (or (<= ~SIZE~0 (+ main_~i~0 |main_~#a~0.offset| 1)) (<= (+ main_~i~0 |main_~#a~0.offset| 3) ~SIZE~0) (and (not (= ~SIZE~0 (+ (* 5 main_~i~0) |main_~#a~0.offset| 2))) (= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ (- main_~i~0) (+ ~SIZE~0 2)))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,391 INFO L273 TraceCheckUtils]: 20: Hoare triple {1866#(and (or (<= ~SIZE~0 (+ main_~i~0 |main_~#a~0.offset| 1)) (<= (+ main_~i~0 |main_~#a~0.offset| 3) ~SIZE~0) (and (not (= ~SIZE~0 (+ (* 5 main_~i~0) |main_~#a~0.offset| 2))) (= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ (- main_~i~0) (+ ~SIZE~0 2)))))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1867#(and (or (<= ~SIZE~0 (+ main_~i~0 |main_~#a~0.offset| 1)) (and (not (= ~SIZE~0 (+ (* 5 main_~i~0) |main_~#a~0.offset| 2))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ (- main_~i~0) (+ ~SIZE~0 2))))) (<= (+ main_~i~0 |main_~#a~0.offset| 3) ~SIZE~0)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,393 INFO L273 TraceCheckUtils]: 21: Hoare triple {1867#(and (or (<= ~SIZE~0 (+ main_~i~0 |main_~#a~0.offset| 1)) (and (not (= ~SIZE~0 (+ (* 5 main_~i~0) |main_~#a~0.offset| 2))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ (- main_~i~0) (+ ~SIZE~0 2))))) (<= (+ main_~i~0 |main_~#a~0.offset| 3) ~SIZE~0)) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {1868#(and (or (<= ~SIZE~0 (+ main_~i~0 |main_~#a~0.offset|)) (<= (+ main_~i~0 |main_~#a~0.offset| 2) ~SIZE~0) (= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ (- main_~i~0) (+ ~SIZE~0 3))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,393 INFO L273 TraceCheckUtils]: 22: Hoare triple {1868#(and (or (<= ~SIZE~0 (+ main_~i~0 |main_~#a~0.offset|)) (<= (+ main_~i~0 |main_~#a~0.offset| 2) ~SIZE~0) (= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ (- main_~i~0) (+ ~SIZE~0 3))))) (= |main_~#a~0.offset| 0))} assume true; {1868#(and (or (<= ~SIZE~0 (+ main_~i~0 |main_~#a~0.offset|)) (<= (+ main_~i~0 |main_~#a~0.offset| 2) ~SIZE~0) (= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ (- main_~i~0) (+ ~SIZE~0 3))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,395 INFO L273 TraceCheckUtils]: 23: Hoare triple {1868#(and (or (<= ~SIZE~0 (+ main_~i~0 |main_~#a~0.offset|)) (<= (+ main_~i~0 |main_~#a~0.offset| 2) ~SIZE~0) (= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ (- main_~i~0) (+ ~SIZE~0 3))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {1869#(and (<= (+ main_~i~0 1) ~SIZE~0) (or (<= (+ main_~i~0 |main_~#a~0.offset| 2) ~SIZE~0) (= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,396 INFO L273 TraceCheckUtils]: 24: Hoare triple {1869#(and (<= (+ main_~i~0 1) ~SIZE~0) (or (<= (+ main_~i~0 |main_~#a~0.offset| 2) ~SIZE~0) (= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) 4))) (= |main_~#a~0.offset| 0))} assume !(~i~0 + 1 < ~SIZE~0); {1870#(and (= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,397 INFO L273 TraceCheckUtils]: 25: Hoare triple {1870#(and (= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) 4)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1871#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,398 INFO L273 TraceCheckUtils]: 26: Hoare triple {1871#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) 4)) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {1871#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,399 INFO L273 TraceCheckUtils]: 27: Hoare triple {1871#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) 4)) (= |main_~#a~0.offset| 0))} assume true; {1871#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,399 INFO L273 TraceCheckUtils]: 28: Hoare triple {1871#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) 4)) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {1871#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,400 INFO L273 TraceCheckUtils]: 29: Hoare triple {1871#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) 4)) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {1872#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,401 INFO L273 TraceCheckUtils]: 30: Hoare triple {1872#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {1872#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,402 INFO L273 TraceCheckUtils]: 31: Hoare triple {1872#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1872#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,402 INFO L256 TraceCheckUtils]: 32: Hoare triple {1872#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1860#true} is VALID [2018-11-14 18:53:21,403 INFO L273 TraceCheckUtils]: 33: Hoare triple {1860#true} ~cond := #in~cond; {1873#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-14 18:53:21,403 INFO L273 TraceCheckUtils]: 34: Hoare triple {1873#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(~cond == 0); {1874#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:53:21,404 INFO L273 TraceCheckUtils]: 35: Hoare triple {1874#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1874#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:53:21,405 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {1874#(not (= |__VERIFIER_assert_#in~cond| 0))} {1872#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #69#return; {1872#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,406 INFO L273 TraceCheckUtils]: 37: Hoare triple {1872#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {1872#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:21,407 INFO L273 TraceCheckUtils]: 38: Hoare triple {1872#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {1875#(and (<= main_~i~0 1) (= 1 (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-14 18:53:21,408 INFO L273 TraceCheckUtils]: 39: Hoare triple {1875#(and (<= main_~i~0 1) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} assume true; {1875#(and (<= main_~i~0 1) (= 1 (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-14 18:53:21,425 INFO L273 TraceCheckUtils]: 40: Hoare triple {1875#(and (<= main_~i~0 1) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1876#(and (< 0 |main_#t~mem4|) (<= main_~i~0 1))} is VALID [2018-11-14 18:53:21,439 INFO L256 TraceCheckUtils]: 41: Hoare triple {1876#(and (< 0 |main_#t~mem4|) (<= main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1874#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:53:21,450 INFO L273 TraceCheckUtils]: 42: Hoare triple {1874#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1877#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-14 18:53:21,450 INFO L273 TraceCheckUtils]: 43: Hoare triple {1877#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {1861#false} is VALID [2018-11-14 18:53:21,450 INFO L273 TraceCheckUtils]: 44: Hoare triple {1861#false} assume !false; {1861#false} is VALID [2018-11-14 18:53:21,456 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 3 proven. 40 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:53:21,457 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:53:21,457 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-14 18:53:21,468 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-14 18:53:21,532 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2018-11-14 18:53:21,532 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:53:21,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:21,563 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:53:21,723 INFO L477 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-14 18:53:21,736 INFO L477 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-14 18:53:21,770 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:21,796 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:21,802 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:21,803 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:22, output treesize:18 [2018-11-14 18:53:21,888 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 21 [2018-11-14 18:53:21,904 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:21,904 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:21,905 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 43 [2018-11-14 18:53:21,908 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:21,916 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:21,924 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:21,925 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:32, output treesize:28 [2018-11-14 18:53:21,977 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 30 [2018-11-14 18:53:21,984 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:21,985 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:21,987 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:21,988 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:21,990 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 86 [2018-11-14 18:53:21,994 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:22,006 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:22,019 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:22,019 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:43, output treesize:39 [2018-11-14 18:53:22,258 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:22,259 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 40 [2018-11-14 18:53:22,273 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:22,274 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:22,275 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:22,276 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:22,277 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:22,278 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 72 [2018-11-14 18:53:22,282 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:22,298 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:22,309 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:22,310 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:44, output treesize:31 [2018-11-14 18:53:22,314 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:53:22,837 INFO L477 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 31 treesize of output 23 [2018-11-14 18:53:22,845 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:22,846 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:22,847 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:53:22,847 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:22,849 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:22,850 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:22,854 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 21 [2018-11-14 18:53:22,857 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:22,861 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:22,867 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-14 18:53:22,867 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:34, output treesize:7 [2018-11-14 18:53:22,870 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:53:22,978 INFO L256 TraceCheckUtils]: 0: Hoare triple {1860#true} call ULTIMATE.init(); {1860#true} is VALID [2018-11-14 18:53:22,978 INFO L273 TraceCheckUtils]: 1: Hoare triple {1860#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1860#true} is VALID [2018-11-14 18:53:22,978 INFO L273 TraceCheckUtils]: 2: Hoare triple {1860#true} assume true; {1860#true} is VALID [2018-11-14 18:53:22,979 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1860#true} {1860#true} #65#return; {1860#true} is VALID [2018-11-14 18:53:22,979 INFO L256 TraceCheckUtils]: 4: Hoare triple {1860#true} call #t~ret5 := main(); {1860#true} is VALID [2018-11-14 18:53:22,979 INFO L273 TraceCheckUtils]: 5: Hoare triple {1860#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1860#true} is VALID [2018-11-14 18:53:22,981 INFO L273 TraceCheckUtils]: 6: Hoare triple {1860#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {1862#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:22,981 INFO L273 TraceCheckUtils]: 7: Hoare triple {1862#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {1862#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:22,982 INFO L273 TraceCheckUtils]: 8: Hoare triple {1862#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {1862#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:22,982 INFO L273 TraceCheckUtils]: 9: Hoare triple {1862#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {1862#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:22,983 INFO L273 TraceCheckUtils]: 10: Hoare triple {1862#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1862#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:22,984 INFO L273 TraceCheckUtils]: 11: Hoare triple {1862#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {1863#(and (= 1 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:22,984 INFO L273 TraceCheckUtils]: 12: Hoare triple {1863#(and (= 1 main_~i~0) (= |main_~#a~0.offset| 0))} assume true; {1863#(and (= 1 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:22,985 INFO L273 TraceCheckUtils]: 13: Hoare triple {1863#(and (= 1 main_~i~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {1863#(and (= 1 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:22,985 INFO L273 TraceCheckUtils]: 14: Hoare triple {1863#(and (= 1 main_~i~0) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {1863#(and (= 1 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:22,987 INFO L273 TraceCheckUtils]: 15: Hoare triple {1863#(and (= 1 main_~i~0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1926#(and (= 1 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:22,988 INFO L273 TraceCheckUtils]: 16: Hoare triple {1926#(and (= 1 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {1930#(and (= main_~i~0 2) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:22,989 INFO L273 TraceCheckUtils]: 17: Hoare triple {1930#(and (= main_~i~0 2) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume true; {1930#(and (= main_~i~0 2) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:22,990 INFO L273 TraceCheckUtils]: 18: Hoare triple {1930#(and (= main_~i~0 2) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {1930#(and (= main_~i~0 2) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:22,991 INFO L273 TraceCheckUtils]: 19: Hoare triple {1930#(and (= main_~i~0 2) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {1940#(and (= main_~i~0 2) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:22,993 INFO L273 TraceCheckUtils]: 20: Hoare triple {1940#(and (= main_~i~0 2) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1944#(and (= main_~i~0 2) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:22,994 INFO L273 TraceCheckUtils]: 21: Hoare triple {1944#(and (= main_~i~0 2) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {1948#(and (= main_~i~0 3) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:22,995 INFO L273 TraceCheckUtils]: 22: Hoare triple {1948#(and (= main_~i~0 3) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} assume true; {1948#(and (= main_~i~0 3) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:22,996 INFO L273 TraceCheckUtils]: 23: Hoare triple {1948#(and (= main_~i~0 3) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {1955#(and (= main_~i~0 3) (< main_~i~0 ~SIZE~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:22,998 INFO L273 TraceCheckUtils]: 24: Hoare triple {1955#(and (= main_~i~0 3) (< main_~i~0 ~SIZE~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} assume !(~i~0 + 1 < ~SIZE~0); {1948#(and (= main_~i~0 3) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:22,999 INFO L273 TraceCheckUtils]: 25: Hoare triple {1948#(and (= main_~i~0 3) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1962#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:23,000 INFO L273 TraceCheckUtils]: 26: Hoare triple {1962#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {1962#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:23,002 INFO L273 TraceCheckUtils]: 27: Hoare triple {1962#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume true; {1962#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:23,003 INFO L273 TraceCheckUtils]: 28: Hoare triple {1962#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {1962#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:23,004 INFO L273 TraceCheckUtils]: 29: Hoare triple {1962#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {1975#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:23,005 INFO L273 TraceCheckUtils]: 30: Hoare triple {1975#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {1975#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:23,006 INFO L273 TraceCheckUtils]: 31: Hoare triple {1975#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1975#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:23,008 INFO L256 TraceCheckUtils]: 32: Hoare triple {1975#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1985#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 12))))} is VALID [2018-11-14 18:53:23,010 INFO L273 TraceCheckUtils]: 33: Hoare triple {1985#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 12))))} ~cond := #in~cond; {1989#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 12)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-14 18:53:23,011 INFO L273 TraceCheckUtils]: 34: Hoare triple {1989#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 12)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(~cond == 0); {1993#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 12)))))} is VALID [2018-11-14 18:53:23,012 INFO L273 TraceCheckUtils]: 35: Hoare triple {1993#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 12)))))} assume true; {1993#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 12)))))} is VALID [2018-11-14 18:53:23,013 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {1993#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 12)))))} {1975#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #69#return; {1975#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:23,014 INFO L273 TraceCheckUtils]: 37: Hoare triple {1975#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {1975#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:23,015 INFO L273 TraceCheckUtils]: 38: Hoare triple {1975#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {2006#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 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-14 18:53:23,016 INFO L273 TraceCheckUtils]: 39: Hoare triple {2006#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume true; {2006#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= 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-14 18:53:23,018 INFO L273 TraceCheckUtils]: 40: Hoare triple {2006#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2013#(and (<= 1 |main_#t~mem4|) (= main_~i~0 1))} is VALID [2018-11-14 18:53:23,019 INFO L256 TraceCheckUtils]: 41: Hoare triple {2013#(and (<= 1 |main_#t~mem4|) (= main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2017#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 18:53:23,020 INFO L273 TraceCheckUtils]: 42: Hoare triple {2017#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {2021#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 18:53:23,021 INFO L273 TraceCheckUtils]: 43: Hoare triple {2021#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {1861#false} is VALID [2018-11-14 18:53:23,021 INFO L273 TraceCheckUtils]: 44: Hoare triple {1861#false} assume !false; {1861#false} is VALID [2018-11-14 18:53:23,049 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 0 proven. 43 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:53:23,069 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:53:23,069 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 19] total 33 [2018-11-14 18:53:23,070 INFO L78 Accepts]: Start accepts. Automaton has 33 states. Word has length 45 [2018-11-14 18:53:23,070 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:53:23,070 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states. [2018-11-14 18:53:23,255 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-14 18:53:23,255 INFO L459 AbstractCegarLoop]: Interpolant automaton has 33 states [2018-11-14 18:53:23,256 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2018-11-14 18:53:23,256 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=153, Invalid=903, Unknown=0, NotChecked=0, Total=1056 [2018-11-14 18:53:23,257 INFO L87 Difference]: Start difference. First operand 62 states and 64 transitions. Second operand 33 states. [2018-11-14 18:53:28,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:28,899 INFO L93 Difference]: Finished difference Result 145 states and 154 transitions. [2018-11-14 18:53:28,899 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2018-11-14 18:53:28,899 INFO L78 Accepts]: Start accepts. Automaton has 33 states. Word has length 45 [2018-11-14 18:53:28,900 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:53:28,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-14 18:53:28,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 135 transitions. [2018-11-14 18:53:28,905 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-14 18:53:28,909 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 135 transitions. [2018-11-14 18:53:28,909 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 41 states and 135 transitions. [2018-11-14 18:53:29,118 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-14 18:53:29,122 INFO L225 Difference]: With dead ends: 145 [2018-11-14 18:53:29,122 INFO L226 Difference]: Without dead ends: 143 [2018-11-14 18:53:29,124 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 31 SyntacticMatches, 3 SemanticMatches, 55 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 934 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=451, Invalid=2741, Unknown=0, NotChecked=0, Total=3192 [2018-11-14 18:53:29,124 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 143 states. [2018-11-14 18:53:29,282 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 143 to 72. [2018-11-14 18:53:29,282 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:53:29,282 INFO L82 GeneralOperation]: Start isEquivalent. First operand 143 states. Second operand 72 states. [2018-11-14 18:53:29,282 INFO L74 IsIncluded]: Start isIncluded. First operand 143 states. Second operand 72 states. [2018-11-14 18:53:29,282 INFO L87 Difference]: Start difference. First operand 143 states. Second operand 72 states. [2018-11-14 18:53:29,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:29,290 INFO L93 Difference]: Finished difference Result 143 states and 152 transitions. [2018-11-14 18:53:29,290 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 152 transitions. [2018-11-14 18:53:29,290 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:29,291 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:29,291 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 143 states. [2018-11-14 18:53:29,291 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 143 states. [2018-11-14 18:53:29,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:29,297 INFO L93 Difference]: Finished difference Result 143 states and 152 transitions. [2018-11-14 18:53:29,297 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 152 transitions. [2018-11-14 18:53:29,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:29,298 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:29,298 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:53:29,298 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:53:29,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 72 states. [2018-11-14 18:53:29,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 76 transitions. [2018-11-14 18:53:29,301 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 76 transitions. Word has length 45 [2018-11-14 18:53:29,301 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:53:29,301 INFO L480 AbstractCegarLoop]: Abstraction has 72 states and 76 transitions. [2018-11-14 18:53:29,301 INFO L481 AbstractCegarLoop]: Interpolant automaton has 33 states. [2018-11-14 18:53:29,301 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 76 transitions. [2018-11-14 18:53:29,302 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2018-11-14 18:53:29,302 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:53:29,302 INFO L375 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:53:29,303 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:53:29,303 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:53:29,303 INFO L82 PathProgramCache]: Analyzing trace with hash 1653942468, now seen corresponding path program 4 times [2018-11-14 18:53:29,303 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:53:29,303 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:53:29,304 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:29,304 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:53:29,304 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:29,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:29,749 INFO L256 TraceCheckUtils]: 0: Hoare triple {2643#true} call ULTIMATE.init(); {2643#true} is VALID [2018-11-14 18:53:29,749 INFO L273 TraceCheckUtils]: 1: Hoare triple {2643#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {2643#true} is VALID [2018-11-14 18:53:29,750 INFO L273 TraceCheckUtils]: 2: Hoare triple {2643#true} assume true; {2643#true} is VALID [2018-11-14 18:53:29,750 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2643#true} {2643#true} #65#return; {2643#true} is VALID [2018-11-14 18:53:29,750 INFO L256 TraceCheckUtils]: 4: Hoare triple {2643#true} call #t~ret5 := main(); {2643#true} is VALID [2018-11-14 18:53:29,751 INFO L273 TraceCheckUtils]: 5: Hoare triple {2643#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2643#true} is VALID [2018-11-14 18:53:29,751 INFO L273 TraceCheckUtils]: 6: Hoare triple {2643#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {2645#(= main_~i~0 0)} is VALID [2018-11-14 18:53:29,752 INFO L273 TraceCheckUtils]: 7: Hoare triple {2645#(= main_~i~0 0)} assume true; {2645#(= main_~i~0 0)} is VALID [2018-11-14 18:53:29,753 INFO L273 TraceCheckUtils]: 8: Hoare triple {2645#(= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {2645#(= main_~i~0 0)} is VALID [2018-11-14 18:53:29,753 INFO L273 TraceCheckUtils]: 9: Hoare triple {2645#(= main_~i~0 0)} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {2645#(= main_~i~0 0)} is VALID [2018-11-14 18:53:29,753 INFO L273 TraceCheckUtils]: 10: Hoare triple {2645#(= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2645#(= main_~i~0 0)} is VALID [2018-11-14 18:53:29,754 INFO L273 TraceCheckUtils]: 11: Hoare triple {2645#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {2646#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:53:29,754 INFO L273 TraceCheckUtils]: 12: Hoare triple {2646#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume true; {2646#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:53:29,755 INFO L273 TraceCheckUtils]: 13: Hoare triple {2646#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume !!(~i~0 < ~SIZE~0); {2646#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:53:29,755 INFO L273 TraceCheckUtils]: 14: Hoare triple {2646#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {2646#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:53:29,756 INFO L273 TraceCheckUtils]: 15: Hoare triple {2646#(and (<= 1 main_~i~0) (<= main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2646#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:53:29,776 INFO L273 TraceCheckUtils]: 16: Hoare triple {2646#(and (<= 1 main_~i~0) (<= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {2647#(= (* 4 main_~i~0) 8)} is VALID [2018-11-14 18:53:29,790 INFO L273 TraceCheckUtils]: 17: Hoare triple {2647#(= (* 4 main_~i~0) 8)} assume true; {2647#(= (* 4 main_~i~0) 8)} is VALID [2018-11-14 18:53:29,799 INFO L273 TraceCheckUtils]: 18: Hoare triple {2647#(= (* 4 main_~i~0) 8)} assume !!(~i~0 < ~SIZE~0); {2647#(= (* 4 main_~i~0) 8)} is VALID [2018-11-14 18:53:29,814 INFO L273 TraceCheckUtils]: 19: Hoare triple {2647#(= (* 4 main_~i~0) 8)} assume !(~i~0 + 1 < ~SIZE~0); {2647#(= (* 4 main_~i~0) 8)} is VALID [2018-11-14 18:53:29,830 INFO L273 TraceCheckUtils]: 20: Hoare triple {2647#(= (* 4 main_~i~0) 8)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2648#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= (* 4 main_~i~0) 8))} is VALID [2018-11-14 18:53:29,831 INFO L273 TraceCheckUtils]: 21: Hoare triple {2648#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= (* 4 main_~i~0) 8))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {2649#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-14 18:53:29,831 INFO L273 TraceCheckUtils]: 22: Hoare triple {2649#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} assume true; {2649#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-14 18:53:29,832 INFO L273 TraceCheckUtils]: 23: Hoare triple {2649#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} assume !(~i~0 < ~SIZE~0); {2649#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-14 18:53:29,832 INFO L273 TraceCheckUtils]: 24: Hoare triple {2649#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} ~i~0 := 0; {2650#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:53:29,834 INFO L273 TraceCheckUtils]: 25: Hoare triple {2650#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} assume true; {2650#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:53:29,835 INFO L273 TraceCheckUtils]: 26: Hoare triple {2650#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2650#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:53:29,835 INFO L256 TraceCheckUtils]: 27: Hoare triple {2650#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2643#true} is VALID [2018-11-14 18:53:29,836 INFO L273 TraceCheckUtils]: 28: Hoare triple {2643#true} ~cond := #in~cond; {2651#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-14 18:53:29,836 INFO L273 TraceCheckUtils]: 29: Hoare triple {2651#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(~cond == 0); {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:53:29,836 INFO L273 TraceCheckUtils]: 30: Hoare triple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:53:29,838 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} {2650#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} #69#return; {2650#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:53:29,842 INFO L273 TraceCheckUtils]: 32: Hoare triple {2650#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} havoc #t~mem4; {2650#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:53:29,844 INFO L273 TraceCheckUtils]: 33: Hoare triple {2650#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {2653#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-14 18:53:29,844 INFO L273 TraceCheckUtils]: 34: Hoare triple {2653#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} assume true; {2653#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-14 18:53:29,844 INFO L273 TraceCheckUtils]: 35: Hoare triple {2653#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2653#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-14 18:53:29,845 INFO L256 TraceCheckUtils]: 36: Hoare triple {2653#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2643#true} is VALID [2018-11-14 18:53:29,845 INFO L273 TraceCheckUtils]: 37: Hoare triple {2643#true} ~cond := #in~cond; {2643#true} is VALID [2018-11-14 18:53:29,845 INFO L273 TraceCheckUtils]: 38: Hoare triple {2643#true} assume !(~cond == 0); {2643#true} is VALID [2018-11-14 18:53:29,845 INFO L273 TraceCheckUtils]: 39: Hoare triple {2643#true} assume true; {2643#true} is VALID [2018-11-14 18:53:29,846 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {2643#true} {2653#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} #69#return; {2653#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-14 18:53:29,847 INFO L273 TraceCheckUtils]: 41: Hoare triple {2653#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} havoc #t~mem4; {2653#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-14 18:53:29,848 INFO L273 TraceCheckUtils]: 42: Hoare triple {2653#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {2654#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-14 18:53:29,849 INFO L273 TraceCheckUtils]: 43: Hoare triple {2654#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume true; {2654#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-14 18:53:29,850 INFO L273 TraceCheckUtils]: 44: Hoare triple {2654#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2655#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-14 18:53:29,855 INFO L256 TraceCheckUtils]: 45: Hoare triple {2655#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:53:29,855 INFO L273 TraceCheckUtils]: 46: Hoare triple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {2656#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-14 18:53:29,856 INFO L273 TraceCheckUtils]: 47: Hoare triple {2656#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {2644#false} is VALID [2018-11-14 18:53:29,856 INFO L273 TraceCheckUtils]: 48: Hoare triple {2644#false} assume !false; {2644#false} is VALID [2018-11-14 18:53:29,862 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 3 proven. 36 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-14 18:53:29,862 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:53:29,862 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-14 18:53:29,871 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-14 18:53:29,905 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-14 18:53:29,905 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:53:29,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:29,937 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:53:30,083 INFO L477 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-14 18:53:30,088 INFO L477 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-14 18:53:30,090 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:30,093 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:30,100 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:30,100 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-14 18:53:30,495 INFO L477 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-14 18:53:30,499 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:53:30,500 INFO L477 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-14 18:53:30,501 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:30,505 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:30,509 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-14 18:53:30,510 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-14 18:53:30,512 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:53:30,599 INFO L256 TraceCheckUtils]: 0: Hoare triple {2643#true} call ULTIMATE.init(); {2643#true} is VALID [2018-11-14 18:53:30,599 INFO L273 TraceCheckUtils]: 1: Hoare triple {2643#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {2643#true} is VALID [2018-11-14 18:53:30,599 INFO L273 TraceCheckUtils]: 2: Hoare triple {2643#true} assume true; {2643#true} is VALID [2018-11-14 18:53:30,600 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2643#true} {2643#true} #65#return; {2643#true} is VALID [2018-11-14 18:53:30,600 INFO L256 TraceCheckUtils]: 4: Hoare triple {2643#true} call #t~ret5 := main(); {2643#true} is VALID [2018-11-14 18:53:30,600 INFO L273 TraceCheckUtils]: 5: Hoare triple {2643#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2643#true} is VALID [2018-11-14 18:53:30,601 INFO L273 TraceCheckUtils]: 6: Hoare triple {2643#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {2678#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:30,601 INFO L273 TraceCheckUtils]: 7: Hoare triple {2678#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {2678#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:30,602 INFO L273 TraceCheckUtils]: 8: Hoare triple {2678#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {2678#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:30,602 INFO L273 TraceCheckUtils]: 9: Hoare triple {2678#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {2678#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:30,602 INFO L273 TraceCheckUtils]: 10: Hoare triple {2678#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2678#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:30,603 INFO L273 TraceCheckUtils]: 11: Hoare triple {2678#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {2694#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:30,603 INFO L273 TraceCheckUtils]: 12: Hoare triple {2694#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume true; {2694#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:30,604 INFO L273 TraceCheckUtils]: 13: Hoare triple {2694#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {2694#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:30,605 INFO L273 TraceCheckUtils]: 14: Hoare triple {2694#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {2694#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:30,606 INFO L273 TraceCheckUtils]: 15: Hoare triple {2694#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2694#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:30,606 INFO L273 TraceCheckUtils]: 16: Hoare triple {2694#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {2710#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:30,607 INFO L273 TraceCheckUtils]: 17: Hoare triple {2710#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume true; {2710#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:30,608 INFO L273 TraceCheckUtils]: 18: Hoare triple {2710#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {2710#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:30,609 INFO L273 TraceCheckUtils]: 19: Hoare triple {2710#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume !(~i~0 + 1 < ~SIZE~0); {2710#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:30,610 INFO L273 TraceCheckUtils]: 20: Hoare triple {2710#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2723#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:30,610 INFO L273 TraceCheckUtils]: 21: Hoare triple {2723#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {2723#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:30,611 INFO L273 TraceCheckUtils]: 22: Hoare triple {2723#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume true; {2723#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:30,612 INFO L273 TraceCheckUtils]: 23: Hoare triple {2723#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {2723#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:30,613 INFO L273 TraceCheckUtils]: 24: Hoare triple {2723#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {2736#(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-14 18:53:30,613 INFO L273 TraceCheckUtils]: 25: Hoare triple {2736#(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 true; {2736#(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-14 18:53:30,614 INFO L273 TraceCheckUtils]: 26: Hoare triple {2736#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2736#(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-14 18:53:30,616 INFO L256 TraceCheckUtils]: 27: Hoare triple {2736#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2746#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2))} is VALID [2018-11-14 18:53:30,616 INFO L273 TraceCheckUtils]: 28: Hoare triple {2746#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2))} ~cond := #in~cond; {2750#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2)) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-14 18:53:30,617 INFO L273 TraceCheckUtils]: 29: Hoare triple {2750#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2)) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(~cond == 0); {2754#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2)))} is VALID [2018-11-14 18:53:30,618 INFO L273 TraceCheckUtils]: 30: Hoare triple {2754#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2)))} assume true; {2754#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2)))} is VALID [2018-11-14 18:53:30,619 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {2754#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2)))} {2736#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #69#return; {2736#(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-14 18:53:30,620 INFO L273 TraceCheckUtils]: 32: Hoare triple {2736#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {2736#(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-14 18:53:30,621 INFO L273 TraceCheckUtils]: 33: Hoare triple {2736#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {2767#(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-14 18:53:30,621 INFO L273 TraceCheckUtils]: 34: Hoare triple {2767#(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 true; {2767#(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-14 18:53:30,622 INFO L273 TraceCheckUtils]: 35: Hoare triple {2767#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2767#(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-14 18:53:30,624 INFO L256 TraceCheckUtils]: 36: Hoare triple {2767#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2746#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2))} is VALID [2018-11-14 18:53:30,624 INFO L273 TraceCheckUtils]: 37: Hoare triple {2746#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2))} ~cond := #in~cond; {2746#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2))} is VALID [2018-11-14 18:53:30,625 INFO L273 TraceCheckUtils]: 38: Hoare triple {2746#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2))} assume !(~cond == 0); {2746#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2))} is VALID [2018-11-14 18:53:30,625 INFO L273 TraceCheckUtils]: 39: Hoare triple {2746#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2))} assume true; {2746#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2))} is VALID [2018-11-14 18:53:30,626 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {2746#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 2))} {2767#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} #69#return; {2767#(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-14 18:53:30,627 INFO L273 TraceCheckUtils]: 41: Hoare triple {2767#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {2767#(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-14 18:53:30,628 INFO L273 TraceCheckUtils]: 42: Hoare triple {2767#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {2795#(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-14 18:53:30,629 INFO L273 TraceCheckUtils]: 43: Hoare triple {2795#(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 true; {2795#(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-14 18:53:30,630 INFO L273 TraceCheckUtils]: 44: Hoare triple {2795#(and (= main_~i~0 2) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2802#(and (= main_~i~0 2) (<= 2 |main_#t~mem4|))} is VALID [2018-11-14 18:53:30,631 INFO L256 TraceCheckUtils]: 45: Hoare triple {2802#(and (= main_~i~0 2) (<= 2 |main_#t~mem4|))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2806#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 18:53:30,632 INFO L273 TraceCheckUtils]: 46: Hoare triple {2806#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {2810#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 18:53:30,632 INFO L273 TraceCheckUtils]: 47: Hoare triple {2810#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {2644#false} is VALID [2018-11-14 18:53:30,632 INFO L273 TraceCheckUtils]: 48: Hoare triple {2644#false} assume !false; {2644#false} is VALID [2018-11-14 18:53:30,638 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 0 proven. 39 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-14 18:53:30,658 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:53:30,658 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 15] total 27 [2018-11-14 18:53:30,658 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 49 [2018-11-14 18:53:30,659 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:53:30,659 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states. [2018-11-14 18:53:30,754 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:53:30,754 INFO L459 AbstractCegarLoop]: Interpolant automaton has 27 states [2018-11-14 18:53:30,755 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2018-11-14 18:53:30,755 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=614, Unknown=0, NotChecked=0, Total=702 [2018-11-14 18:53:30,755 INFO L87 Difference]: Start difference. First operand 72 states and 76 transitions. Second operand 27 states. [2018-11-14 18:53:33,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:33,163 INFO L93 Difference]: Finished difference Result 134 states and 141 transitions. [2018-11-14 18:53:33,163 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2018-11-14 18:53:33,163 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 49 [2018-11-14 18:53:33,163 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:53:33,164 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-14 18:53:33,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 102 transitions. [2018-11-14 18:53:33,167 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-14 18:53:33,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 102 transitions. [2018-11-14 18:53:33,172 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states and 102 transitions. [2018-11-14 18:53:33,295 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-14 18:53:33,300 INFO L225 Difference]: With dead ends: 134 [2018-11-14 18:53:33,300 INFO L226 Difference]: Without dead ends: 132 [2018-11-14 18:53:33,301 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 35 SyntacticMatches, 4 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 411 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=190, Invalid=1370, Unknown=0, NotChecked=0, Total=1560 [2018-11-14 18:53:33,301 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2018-11-14 18:53:33,489 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 86. [2018-11-14 18:53:33,489 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:53:33,490 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand 86 states. [2018-11-14 18:53:33,490 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand 86 states. [2018-11-14 18:53:33,490 INFO L87 Difference]: Start difference. First operand 132 states. Second operand 86 states. [2018-11-14 18:53:33,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:33,496 INFO L93 Difference]: Finished difference Result 132 states and 139 transitions. [2018-11-14 18:53:33,496 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 139 transitions. [2018-11-14 18:53:33,496 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:33,496 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:33,497 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 132 states. [2018-11-14 18:53:33,497 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 132 states. [2018-11-14 18:53:33,502 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:33,502 INFO L93 Difference]: Finished difference Result 132 states and 139 transitions. [2018-11-14 18:53:33,502 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 139 transitions. [2018-11-14 18:53:33,503 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:33,503 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:33,503 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:53:33,503 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:53:33,503 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 86 states. [2018-11-14 18:53:33,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 90 transitions. [2018-11-14 18:53:33,506 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 90 transitions. Word has length 49 [2018-11-14 18:53:33,506 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:53:33,506 INFO L480 AbstractCegarLoop]: Abstraction has 86 states and 90 transitions. [2018-11-14 18:53:33,507 INFO L481 AbstractCegarLoop]: Interpolant automaton has 27 states. [2018-11-14 18:53:33,507 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 90 transitions. [2018-11-14 18:53:33,507 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2018-11-14 18:53:33,507 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:53:33,508 INFO L375 BasicCegarLoop]: trace histogram [7, 6, 6, 6, 5, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:53:33,508 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:53:33,508 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:53:33,508 INFO L82 PathProgramCache]: Analyzing trace with hash -1347998478, now seen corresponding path program 5 times [2018-11-14 18:53:33,508 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:53:33,508 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:53:33,509 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:33,509 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:53:33,509 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:33,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:34,711 INFO L256 TraceCheckUtils]: 0: Hoare triple {3391#true} call ULTIMATE.init(); {3391#true} is VALID [2018-11-14 18:53:34,711 INFO L273 TraceCheckUtils]: 1: Hoare triple {3391#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {3391#true} is VALID [2018-11-14 18:53:34,711 INFO L273 TraceCheckUtils]: 2: Hoare triple {3391#true} assume true; {3391#true} is VALID [2018-11-14 18:53:34,712 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3391#true} {3391#true} #65#return; {3391#true} is VALID [2018-11-14 18:53:34,712 INFO L256 TraceCheckUtils]: 4: Hoare triple {3391#true} call #t~ret5 := main(); {3391#true} is VALID [2018-11-14 18:53:34,712 INFO L273 TraceCheckUtils]: 5: Hoare triple {3391#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3391#true} is VALID [2018-11-14 18:53:34,717 INFO L273 TraceCheckUtils]: 6: Hoare triple {3391#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {3393#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,717 INFO L273 TraceCheckUtils]: 7: Hoare triple {3393#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {3393#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,718 INFO L273 TraceCheckUtils]: 8: Hoare triple {3393#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {3393#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,718 INFO L273 TraceCheckUtils]: 9: Hoare triple {3393#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {3393#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,719 INFO L273 TraceCheckUtils]: 10: Hoare triple {3393#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3393#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,719 INFO L273 TraceCheckUtils]: 11: Hoare triple {3393#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {3394#(and (= (* 4 main_~i~0) 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,720 INFO L273 TraceCheckUtils]: 12: Hoare triple {3394#(and (= (* 4 main_~i~0) 4) (= |main_~#a~0.offset| 0))} assume true; {3394#(and (= (* 4 main_~i~0) 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,720 INFO L273 TraceCheckUtils]: 13: Hoare triple {3394#(and (= (* 4 main_~i~0) 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {3394#(and (= (* 4 main_~i~0) 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,721 INFO L273 TraceCheckUtils]: 14: Hoare triple {3394#(and (= (* 4 main_~i~0) 4) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {3394#(and (= (* 4 main_~i~0) 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,722 INFO L273 TraceCheckUtils]: 15: Hoare triple {3394#(and (= (* 4 main_~i~0) 4) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3395#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= (* 4 main_~i~0) 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,723 INFO L273 TraceCheckUtils]: 16: Hoare triple {3395#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= (* 4 main_~i~0) 4) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {3396#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 1) main_~i~0) (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,724 INFO L273 TraceCheckUtils]: 17: Hoare triple {3396#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 1) main_~i~0) (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} assume true; {3396#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 1) main_~i~0) (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,725 INFO L273 TraceCheckUtils]: 18: Hoare triple {3396#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 1) main_~i~0) (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {3396#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 1) main_~i~0) (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,727 INFO L273 TraceCheckUtils]: 19: Hoare triple {3396#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 1) main_~i~0) (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {3396#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 1) main_~i~0) (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,728 INFO L273 TraceCheckUtils]: 20: Hoare triple {3396#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 1) main_~i~0) (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3396#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 1) main_~i~0) (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,729 INFO L273 TraceCheckUtils]: 21: Hoare triple {3396#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 1) main_~i~0) (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {3397#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 2) main_~i~0) (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,730 INFO L273 TraceCheckUtils]: 22: Hoare triple {3397#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 2) main_~i~0) (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} assume true; {3397#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 2) main_~i~0) (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,731 INFO L273 TraceCheckUtils]: 23: Hoare triple {3397#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 2) main_~i~0) (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {3397#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 2) main_~i~0) (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,733 INFO L273 TraceCheckUtils]: 24: Hoare triple {3397#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 2) main_~i~0) (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {3397#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 2) main_~i~0) (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,734 INFO L273 TraceCheckUtils]: 25: Hoare triple {3397#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 2) main_~i~0) (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3397#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 2) main_~i~0) (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,735 INFO L273 TraceCheckUtils]: 26: Hoare triple {3397#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 2) main_~i~0) (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {3398#(and (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 3) main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,736 INFO L273 TraceCheckUtils]: 27: Hoare triple {3398#(and (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 3) main_~i~0) (= |main_~#a~0.offset| 0))} assume true; {3398#(and (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 3) main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,737 INFO L273 TraceCheckUtils]: 28: Hoare triple {3398#(and (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 3) main_~i~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {3398#(and (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 3) main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,738 INFO L273 TraceCheckUtils]: 29: Hoare triple {3398#(and (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 3) main_~i~0) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {3398#(and (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 3) main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,740 INFO L273 TraceCheckUtils]: 30: Hoare triple {3398#(and (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 3) main_~i~0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3398#(and (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 3) main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,741 INFO L273 TraceCheckUtils]: 31: Hoare triple {3398#(and (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 0) 4))) 4) 3) main_~i~0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {3399#(and (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,742 INFO L273 TraceCheckUtils]: 32: Hoare triple {3399#(and (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} assume true; {3399#(and (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,743 INFO L273 TraceCheckUtils]: 33: Hoare triple {3399#(and (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {3399#(and (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,744 INFO L273 TraceCheckUtils]: 34: Hoare triple {3399#(and (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} assume !(~i~0 + 1 < ~SIZE~0); {3399#(and (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,745 INFO L273 TraceCheckUtils]: 35: Hoare triple {3399#(and (<= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3400#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,746 INFO L273 TraceCheckUtils]: 36: Hoare triple {3400#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {3400#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,746 INFO L273 TraceCheckUtils]: 37: Hoare triple {3400#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} assume true; {3400#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,747 INFO L273 TraceCheckUtils]: 38: Hoare triple {3400#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {3400#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,748 INFO L273 TraceCheckUtils]: 39: Hoare triple {3400#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {3401#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,749 INFO L273 TraceCheckUtils]: 40: Hoare triple {3401#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {3401#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,750 INFO L273 TraceCheckUtils]: 41: Hoare triple {3401#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3401#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,750 INFO L256 TraceCheckUtils]: 42: Hoare triple {3401#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3391#true} is VALID [2018-11-14 18:53:34,750 INFO L273 TraceCheckUtils]: 43: Hoare triple {3391#true} ~cond := #in~cond; {3402#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-14 18:53:34,751 INFO L273 TraceCheckUtils]: 44: Hoare triple {3402#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(~cond == 0); {3403#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:53:34,752 INFO L273 TraceCheckUtils]: 45: Hoare triple {3403#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3403#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:53:34,753 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {3403#(not (= |__VERIFIER_assert_#in~cond| 0))} {3401#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #69#return; {3401#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,754 INFO L273 TraceCheckUtils]: 47: Hoare triple {3401#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3401#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:34,755 INFO L273 TraceCheckUtils]: 48: Hoare triple {3401#(and (<= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 0) 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {3404#(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-14 18:53:34,755 INFO L273 TraceCheckUtils]: 49: Hoare triple {3404#(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 true; {3404#(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-14 18:53:34,756 INFO L273 TraceCheckUtils]: 50: Hoare triple {3404#(and (<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3405#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-14 18:53:34,757 INFO L256 TraceCheckUtils]: 51: Hoare triple {3405#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3403#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:53:34,758 INFO L273 TraceCheckUtils]: 52: Hoare triple {3403#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {3406#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-14 18:53:34,759 INFO L273 TraceCheckUtils]: 53: Hoare triple {3406#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {3392#false} is VALID [2018-11-14 18:53:34,759 INFO L273 TraceCheckUtils]: 54: Hoare triple {3392#false} assume !false; {3392#false} is VALID [2018-11-14 18:53:34,769 INFO L134 CoverageAnalysis]: Checked inductivity of 92 backedges. 18 proven. 74 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:53:34,770 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:53:34,770 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-14 18:53:34,778 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-14 18:53:34,822 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 7 check-sat command(s) [2018-11-14 18:53:34,823 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:53:34,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:34,839 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:53:34,904 INFO L477 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-14 18:53:34,908 INFO L477 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-14 18:53:34,909 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:34,912 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:34,918 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:34,919 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:24, output treesize:20 [2018-11-14 18:53:34,974 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 21 [2018-11-14 18:53:34,980 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:34,982 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:34,983 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 43 [2018-11-14 18:53:34,985 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:34,994 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:35,002 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:35,003 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:32, output treesize:28 [2018-11-14 18:53:35,050 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 30 [2018-11-14 18:53:35,060 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,061 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,062 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,064 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,065 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 86 [2018-11-14 18:53:35,069 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:35,085 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:35,097 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:35,098 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:43, output treesize:39 [2018-11-14 18:53:35,222 INFO L477 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 53 treesize of output 44 [2018-11-14 18:53:35,254 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,255 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,256 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,257 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,258 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,259 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,261 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,262 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,263 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,266 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 9 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 44 treesize of output 163 [2018-11-14 18:53:35,278 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:35,307 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:35,323 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:35,323 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:59, output treesize:55 [2018-11-14 18:53:35,401 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,402 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 64 treesize of output 63 [2018-11-14 18:53:35,416 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,418 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,419 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,421 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,422 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,424 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,425 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 63 treesize of output 163 [2018-11-14 18:53:35,430 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:35,458 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:35,473 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:35,474 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:70, output treesize:53 [2018-11-14 18:53:35,480 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:53:35,642 INFO L477 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 67 treesize of output 56 [2018-11-14 18:53:35,657 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,658 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,659 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,661 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,662 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,664 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,665 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,667 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,668 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,670 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,672 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,673 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,675 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,677 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,678 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,680 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,682 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 16 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 56 treesize of output 283 [2018-11-14 18:53:35,688 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:35,737 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:35,757 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:35,758 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:73, output treesize:69 [2018-11-14 18:53:35,847 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,848 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 78 treesize of output 75 [2018-11-14 18:53:35,889 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,890 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,892 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,893 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,895 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,896 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,898 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,900 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,901 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,903 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,908 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,911 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,912 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:35,913 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 16 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 75 treesize of output 292 [2018-11-14 18:53:35,918 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:35,968 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:35,987 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:35,988 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:84, output treesize:67 [2018-11-14 18:53:35,995 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:53:36,211 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:36,213 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 80 treesize of output 77 [2018-11-14 18:53:36,253 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:36,259 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:36,260 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:36,261 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:36,262 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:36,263 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:36,264 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:36,266 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:36,267 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:36,269 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:36,271 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:36,272 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:36,274 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:36,276 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:36,278 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:36,279 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:36,281 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:36,283 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:36,286 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:36,288 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 20 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 77 treesize of output 352 [2018-11-14 18:53:36,296 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:36,359 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:36,386 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-14 18:53:36,386 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:86, output treesize:69 [2018-11-14 18:53:38,398 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:53:39,570 INFO L477 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 65 treesize of output 53 [2018-11-14 18:53:39,580 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,581 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,582 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,584 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,585 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,586 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,587 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,588 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,590 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,591 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,592 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,593 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,595 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,596 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,597 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:53:39,598 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,600 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,602 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,603 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,604 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,606 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,607 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,609 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,610 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,612 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:39,615 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 20 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 53 treesize of output 207 [2018-11-14 18:53:39,618 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:39,658 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:39,669 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-14 18:53:39,669 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:71, output treesize:7 [2018-11-14 18:53:39,673 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:53:39,760 INFO L256 TraceCheckUtils]: 0: Hoare triple {3391#true} call ULTIMATE.init(); {3391#true} is VALID [2018-11-14 18:53:39,760 INFO L273 TraceCheckUtils]: 1: Hoare triple {3391#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {3391#true} is VALID [2018-11-14 18:53:39,760 INFO L273 TraceCheckUtils]: 2: Hoare triple {3391#true} assume true; {3391#true} is VALID [2018-11-14 18:53:39,760 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3391#true} {3391#true} #65#return; {3391#true} is VALID [2018-11-14 18:53:39,760 INFO L256 TraceCheckUtils]: 4: Hoare triple {3391#true} call #t~ret5 := main(); {3391#true} is VALID [2018-11-14 18:53:39,760 INFO L273 TraceCheckUtils]: 5: Hoare triple {3391#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3391#true} is VALID [2018-11-14 18:53:39,761 INFO L273 TraceCheckUtils]: 6: Hoare triple {3391#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {3393#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,776 INFO L273 TraceCheckUtils]: 7: Hoare triple {3393#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {3393#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,777 INFO L273 TraceCheckUtils]: 8: Hoare triple {3393#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {3393#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,778 INFO L273 TraceCheckUtils]: 9: Hoare triple {3393#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {3393#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,778 INFO L273 TraceCheckUtils]: 10: Hoare triple {3393#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3393#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,779 INFO L273 TraceCheckUtils]: 11: Hoare triple {3393#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {3394#(and (= (* 4 main_~i~0) 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,779 INFO L273 TraceCheckUtils]: 12: Hoare triple {3394#(and (= (* 4 main_~i~0) 4) (= |main_~#a~0.offset| 0))} assume true; {3394#(and (= (* 4 main_~i~0) 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,779 INFO L273 TraceCheckUtils]: 13: Hoare triple {3394#(and (= (* 4 main_~i~0) 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {3394#(and (= (* 4 main_~i~0) 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,780 INFO L273 TraceCheckUtils]: 14: Hoare triple {3394#(and (= (* 4 main_~i~0) 4) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {3394#(and (= (* 4 main_~i~0) 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,781 INFO L273 TraceCheckUtils]: 15: Hoare triple {3394#(and (= (* 4 main_~i~0) 4) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3395#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= (* 4 main_~i~0) 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,782 INFO L273 TraceCheckUtils]: 16: Hoare triple {3395#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= (* 4 main_~i~0) 4) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {3458#(and (<= 2 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,782 INFO L273 TraceCheckUtils]: 17: Hoare triple {3458#(and (<= 2 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume true; {3458#(and (<= 2 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,783 INFO L273 TraceCheckUtils]: 18: Hoare triple {3458#(and (<= 2 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {3458#(and (<= 2 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,784 INFO L273 TraceCheckUtils]: 19: Hoare triple {3458#(and (<= 2 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {3468#(and (<= 2 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,786 INFO L273 TraceCheckUtils]: 20: Hoare triple {3468#(and (<= 2 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3472#(and (<= 2 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,788 INFO L273 TraceCheckUtils]: 21: Hoare triple {3472#(and (<= 2 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {3476#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,789 INFO L273 TraceCheckUtils]: 22: Hoare triple {3476#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} assume true; {3476#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,790 INFO L273 TraceCheckUtils]: 23: Hoare triple {3476#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {3476#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,791 INFO L273 TraceCheckUtils]: 24: Hoare triple {3476#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {3486#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,793 INFO L273 TraceCheckUtils]: 25: Hoare triple {3486#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3490#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,795 INFO L273 TraceCheckUtils]: 26: Hoare triple {3490#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (<= 3 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {3494#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 4 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,797 INFO L273 TraceCheckUtils]: 27: Hoare triple {3494#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 4 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} assume true; {3494#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 4 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,798 INFO L273 TraceCheckUtils]: 28: Hoare triple {3494#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 4 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {3494#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 4 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,800 INFO L273 TraceCheckUtils]: 29: Hoare triple {3494#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 4 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {3504#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= 4 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2) main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,802 INFO L273 TraceCheckUtils]: 30: Hoare triple {3504#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= 4 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2) main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3508#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= 4 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2) main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,805 INFO L273 TraceCheckUtils]: 31: Hoare triple {3508#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (<= 4 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2) main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {3512#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 5 main_~i~0) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 12))) 3) main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,807 INFO L273 TraceCheckUtils]: 32: Hoare triple {3512#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 5 main_~i~0) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 12))) 3) main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} assume true; {3512#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 5 main_~i~0) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 12))) 3) main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,808 INFO L273 TraceCheckUtils]: 33: Hoare triple {3512#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 5 main_~i~0) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 12))) 3) main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {3512#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 5 main_~i~0) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 12))) 3) main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,809 INFO L273 TraceCheckUtils]: 34: Hoare triple {3512#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 5 main_~i~0) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 12))) 3) main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} assume !(~i~0 + 1 < ~SIZE~0); {3512#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 5 main_~i~0) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 12))) 3) main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,812 INFO L273 TraceCheckUtils]: 35: Hoare triple {3512#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 5 main_~i~0) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 12))) 3) main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3525#(and (exists ((main_~i~0 Int)) (and (<= 5 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 12))) 3)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2) main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,813 INFO L273 TraceCheckUtils]: 36: Hoare triple {3525#(and (exists ((main_~i~0 Int)) (and (<= 5 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 12))) 3)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2) main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {3525#(and (exists ((main_~i~0 Int)) (and (<= 5 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 12))) 3)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2) main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,814 INFO L273 TraceCheckUtils]: 37: Hoare triple {3525#(and (exists ((main_~i~0 Int)) (and (<= 5 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 12))) 3)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2) main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume true; {3525#(and (exists ((main_~i~0 Int)) (and (<= 5 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 12))) 3)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2) main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,815 INFO L273 TraceCheckUtils]: 38: Hoare triple {3525#(and (exists ((main_~i~0 Int)) (and (<= 5 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 12))) 3)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2) main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {3525#(and (exists ((main_~i~0 Int)) (and (<= 5 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 12))) 3)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2) main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:39,816 INFO L273 TraceCheckUtils]: 39: Hoare triple {3525#(and (exists ((main_~i~0 Int)) (and (<= 5 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 12))) 3)) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 8))) 2) main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 1)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {3538#(and (exists ((v_prenex_2 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 8))) 2) v_prenex_2) (<= 5 v_prenex_2) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 12))) 3)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))))) (= 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-14 18:53:39,817 INFO L273 TraceCheckUtils]: 40: Hoare triple {3538#(and (exists ((v_prenex_2 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 8))) 2) v_prenex_2) (<= 5 v_prenex_2) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 12))) 3)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {3538#(and (exists ((v_prenex_2 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 8))) 2) v_prenex_2) (<= 5 v_prenex_2) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 12))) 3)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))))) (= 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-14 18:53:39,819 INFO L273 TraceCheckUtils]: 41: Hoare triple {3538#(and (exists ((v_prenex_2 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 8))) 2) v_prenex_2) (<= 5 v_prenex_2) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 12))) 3)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3538#(and (exists ((v_prenex_2 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 8))) 2) v_prenex_2) (<= 5 v_prenex_2) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 12))) 3)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))))) (= 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-14 18:53:39,821 INFO L256 TraceCheckUtils]: 42: Hoare triple {3538#(and (exists ((v_prenex_2 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 8))) 2) v_prenex_2) (<= 5 v_prenex_2) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 12))) 3)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3548#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_2 Int)) (and (<= 5 v_prenex_2) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 8))) 2) v_prenex_2) (= v_prenex_2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_2))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 4) 1) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 12))) 3) v_prenex_2) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 4))) 1) v_prenex_2)))} is VALID [2018-11-14 18:53:39,822 INFO L273 TraceCheckUtils]: 43: Hoare triple {3548#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_2 Int)) (and (<= 5 v_prenex_2) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 8))) 2) v_prenex_2) (= v_prenex_2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_2))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 4) 1) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 12))) 3) v_prenex_2) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 4))) 1) v_prenex_2)))} ~cond := #in~cond; {3548#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_2 Int)) (and (<= 5 v_prenex_2) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 8))) 2) v_prenex_2) (= v_prenex_2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_2))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 4) 1) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 12))) 3) v_prenex_2) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 4))) 1) v_prenex_2)))} is VALID [2018-11-14 18:53:39,823 INFO L273 TraceCheckUtils]: 44: Hoare triple {3548#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_2 Int)) (and (<= 5 v_prenex_2) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 8))) 2) v_prenex_2) (= v_prenex_2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_2))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 4) 1) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 12))) 3) v_prenex_2) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 4))) 1) v_prenex_2)))} assume !(~cond == 0); {3548#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_2 Int)) (and (<= 5 v_prenex_2) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 8))) 2) v_prenex_2) (= v_prenex_2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_2))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 4) 1) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 12))) 3) v_prenex_2) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 4))) 1) v_prenex_2)))} is VALID [2018-11-14 18:53:39,823 INFO L273 TraceCheckUtils]: 45: Hoare triple {3548#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_2 Int)) (and (<= 5 v_prenex_2) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 8))) 2) v_prenex_2) (= v_prenex_2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_2))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 4) 1) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 12))) 3) v_prenex_2) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 4))) 1) v_prenex_2)))} assume true; {3548#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_2 Int)) (and (<= 5 v_prenex_2) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 8))) 2) v_prenex_2) (= v_prenex_2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_2))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 4) 1) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 12))) 3) v_prenex_2) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 4))) 1) v_prenex_2)))} is VALID [2018-11-14 18:53:39,824 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {3548#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int) (v_prenex_2 Int)) (and (<= 5 v_prenex_2) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 8))) 2) v_prenex_2) (= v_prenex_2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (* 4 v_prenex_2))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 4) 1) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 12))) 3) v_prenex_2) (= (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (+ (* 4 v_prenex_2) (- 4))) 1) v_prenex_2)))} {3538#(and (exists ((v_prenex_2 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 8))) 2) v_prenex_2) (<= 5 v_prenex_2) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 12))) 3)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #69#return; {3538#(and (exists ((v_prenex_2 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 8))) 2) v_prenex_2) (<= 5 v_prenex_2) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 12))) 3)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))))) (= 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-14 18:53:39,825 INFO L273 TraceCheckUtils]: 47: Hoare triple {3538#(and (exists ((v_prenex_2 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 8))) 2) v_prenex_2) (<= 5 v_prenex_2) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 12))) 3)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3538#(and (exists ((v_prenex_2 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 8))) 2) v_prenex_2) (<= 5 v_prenex_2) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 12))) 3)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))))) (= 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-14 18:53:39,827 INFO L273 TraceCheckUtils]: 48: Hoare triple {3538#(and (exists ((v_prenex_2 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 8))) 2) v_prenex_2) (<= 5 v_prenex_2) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 12))) 3)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {3567#(and (exists ((v_prenex_2 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 8))) 2) v_prenex_2) (<= 5 v_prenex_2) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 12))) 3)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))))) (= 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-14 18:53:39,829 INFO L273 TraceCheckUtils]: 49: Hoare triple {3567#(and (exists ((v_prenex_2 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 8))) 2) v_prenex_2) (<= 5 v_prenex_2) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 12))) 3)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume true; {3567#(and (exists ((v_prenex_2 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 8))) 2) v_prenex_2) (<= 5 v_prenex_2) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 12))) 3)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))))) (= 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-14 18:53:39,830 INFO L273 TraceCheckUtils]: 50: Hoare triple {3567#(and (exists ((v_prenex_2 Int)) (and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 8))) 2) v_prenex_2) (<= 5 v_prenex_2) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 4))) 1)) (= v_prenex_2 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset| (- 12))) 3)) (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_2) |main_~#a~0.offset|))))) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3574#(and (<= 1 |main_#t~mem4|) (= main_~i~0 1))} is VALID [2018-11-14 18:53:39,831 INFO L256 TraceCheckUtils]: 51: Hoare triple {3574#(and (<= 1 |main_#t~mem4|) (= main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3578#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 18:53:39,832 INFO L273 TraceCheckUtils]: 52: Hoare triple {3578#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {3582#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 18:53:39,833 INFO L273 TraceCheckUtils]: 53: Hoare triple {3582#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {3392#false} is VALID [2018-11-14 18:53:39,833 INFO L273 TraceCheckUtils]: 54: Hoare triple {3392#false} assume !false; {3392#false} is VALID [2018-11-14 18:53:39,855 INFO L134 CoverageAnalysis]: Checked inductivity of 92 backedges. 24 proven. 68 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:53:39,878 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:53:39,879 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 22] total 33 [2018-11-14 18:53:39,879 INFO L78 Accepts]: Start accepts. Automaton has 33 states. Word has length 55 [2018-11-14 18:53:39,880 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:53:39,880 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states. [2018-11-14 18:53:40,022 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-14 18:53:40,022 INFO L459 AbstractCegarLoop]: Interpolant automaton has 33 states [2018-11-14 18:53:40,022 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2018-11-14 18:53:40,023 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=168, Invalid=888, Unknown=0, NotChecked=0, Total=1056 [2018-11-14 18:53:40,024 INFO L87 Difference]: Start difference. First operand 86 states and 90 transitions. Second operand 33 states. [2018-11-14 18:53:46,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:46,787 INFO L93 Difference]: Finished difference Result 166 states and 175 transitions. [2018-11-14 18:53:46,787 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 54 states. [2018-11-14 18:53:46,787 INFO L78 Accepts]: Start accepts. Automaton has 33 states. Word has length 55 [2018-11-14 18:53:46,787 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:53:46,787 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-14 18:53:46,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 141 transitions. [2018-11-14 18:53:46,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-14 18:53:46,795 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 141 transitions. [2018-11-14 18:53:46,795 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 54 states and 141 transitions. [2018-11-14 18:53:47,051 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-14 18:53:47,055 INFO L225 Difference]: With dead ends: 166 [2018-11-14 18:53:47,055 INFO L226 Difference]: Without dead ends: 164 [2018-11-14 18:53:47,057 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 108 GetRequests, 37 SyntacticMatches, 10 SemanticMatches, 61 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1192 ImplicationChecksByTransitivity, 3.0s TimeCoverageRelationStatistics Valid=509, Invalid=3397, Unknown=0, NotChecked=0, Total=3906 [2018-11-14 18:53:47,057 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2018-11-14 18:53:48,037 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 76. [2018-11-14 18:53:48,038 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:53:48,038 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand 76 states. [2018-11-14 18:53:48,038 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand 76 states. [2018-11-14 18:53:48,038 INFO L87 Difference]: Start difference. First operand 164 states. Second operand 76 states. [2018-11-14 18:53:48,043 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:48,044 INFO L93 Difference]: Finished difference Result 164 states and 173 transitions. [2018-11-14 18:53:48,044 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 173 transitions. [2018-11-14 18:53:48,045 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:48,045 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:48,045 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 164 states. [2018-11-14 18:53:48,045 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 164 states. [2018-11-14 18:53:48,051 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:48,051 INFO L93 Difference]: Finished difference Result 164 states and 173 transitions. [2018-11-14 18:53:48,051 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 173 transitions. [2018-11-14 18:53:48,052 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:48,052 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:48,052 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:53:48,052 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:53:48,052 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2018-11-14 18:53:48,055 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 79 transitions. [2018-11-14 18:53:48,055 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 79 transitions. Word has length 55 [2018-11-14 18:53:48,055 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:53:48,056 INFO L480 AbstractCegarLoop]: Abstraction has 76 states and 79 transitions. [2018-11-14 18:53:48,056 INFO L481 AbstractCegarLoop]: Interpolant automaton has 33 states. [2018-11-14 18:53:48,056 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 79 transitions. [2018-11-14 18:53:48,056 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2018-11-14 18:53:48,057 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:53:48,057 INFO L375 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:53:48,057 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:53:48,057 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:53:48,057 INFO L82 PathProgramCache]: Analyzing trace with hash -1655617797, now seen corresponding path program 6 times [2018-11-14 18:53:48,057 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:53:48,058 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:53:48,058 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:48,058 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:53:48,059 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:48,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:48,547 INFO L256 TraceCheckUtils]: 0: Hoare triple {4291#true} call ULTIMATE.init(); {4291#true} is VALID [2018-11-14 18:53:48,548 INFO L273 TraceCheckUtils]: 1: Hoare triple {4291#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {4291#true} is VALID [2018-11-14 18:53:48,548 INFO L273 TraceCheckUtils]: 2: Hoare triple {4291#true} assume true; {4291#true} is VALID [2018-11-14 18:53:48,548 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4291#true} {4291#true} #65#return; {4291#true} is VALID [2018-11-14 18:53:48,548 INFO L256 TraceCheckUtils]: 4: Hoare triple {4291#true} call #t~ret5 := main(); {4291#true} is VALID [2018-11-14 18:53:48,548 INFO L273 TraceCheckUtils]: 5: Hoare triple {4291#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {4291#true} is VALID [2018-11-14 18:53:48,549 INFO L273 TraceCheckUtils]: 6: Hoare triple {4291#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {4293#(= main_~i~0 0)} is VALID [2018-11-14 18:53:48,549 INFO L273 TraceCheckUtils]: 7: Hoare triple {4293#(= main_~i~0 0)} assume true; {4293#(= main_~i~0 0)} is VALID [2018-11-14 18:53:48,550 INFO L273 TraceCheckUtils]: 8: Hoare triple {4293#(= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {4293#(= main_~i~0 0)} is VALID [2018-11-14 18:53:48,550 INFO L273 TraceCheckUtils]: 9: Hoare triple {4293#(= main_~i~0 0)} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {4293#(= main_~i~0 0)} is VALID [2018-11-14 18:53:48,551 INFO L273 TraceCheckUtils]: 10: Hoare triple {4293#(= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4293#(= main_~i~0 0)} is VALID [2018-11-14 18:53:48,552 INFO L273 TraceCheckUtils]: 11: Hoare triple {4293#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {4294#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:48,552 INFO L273 TraceCheckUtils]: 12: Hoare triple {4294#(<= main_~i~0 1)} assume true; {4294#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:48,553 INFO L273 TraceCheckUtils]: 13: Hoare triple {4294#(<= main_~i~0 1)} assume !!(~i~0 < ~SIZE~0); {4294#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:48,553 INFO L273 TraceCheckUtils]: 14: Hoare triple {4294#(<= main_~i~0 1)} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {4294#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:48,554 INFO L273 TraceCheckUtils]: 15: Hoare triple {4294#(<= main_~i~0 1)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4294#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:48,555 INFO L273 TraceCheckUtils]: 16: Hoare triple {4294#(<= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {4295#(<= main_~i~0 2)} is VALID [2018-11-14 18:53:48,555 INFO L273 TraceCheckUtils]: 17: Hoare triple {4295#(<= main_~i~0 2)} assume true; {4295#(<= main_~i~0 2)} is VALID [2018-11-14 18:53:48,556 INFO L273 TraceCheckUtils]: 18: Hoare triple {4295#(<= main_~i~0 2)} assume !!(~i~0 < ~SIZE~0); {4295#(<= main_~i~0 2)} is VALID [2018-11-14 18:53:48,556 INFO L273 TraceCheckUtils]: 19: Hoare triple {4295#(<= main_~i~0 2)} assume !(~i~0 + 1 < ~SIZE~0); {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,557 INFO L273 TraceCheckUtils]: 20: Hoare triple {4296#(<= ~SIZE~0 3)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,557 INFO L273 TraceCheckUtils]: 21: Hoare triple {4296#(<= ~SIZE~0 3)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,558 INFO L273 TraceCheckUtils]: 22: Hoare triple {4296#(<= ~SIZE~0 3)} assume true; {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,559 INFO L273 TraceCheckUtils]: 23: Hoare triple {4296#(<= ~SIZE~0 3)} assume !(~i~0 < ~SIZE~0); {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,559 INFO L273 TraceCheckUtils]: 24: Hoare triple {4296#(<= ~SIZE~0 3)} ~i~0 := 0; {4297#(and (<= ~SIZE~0 3) (= main_~i~0 0))} is VALID [2018-11-14 18:53:48,560 INFO L273 TraceCheckUtils]: 25: Hoare triple {4297#(and (<= ~SIZE~0 3) (= main_~i~0 0))} assume true; {4297#(and (<= ~SIZE~0 3) (= main_~i~0 0))} is VALID [2018-11-14 18:53:48,561 INFO L273 TraceCheckUtils]: 26: Hoare triple {4297#(and (<= ~SIZE~0 3) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4297#(and (<= ~SIZE~0 3) (= main_~i~0 0))} is VALID [2018-11-14 18:53:48,561 INFO L256 TraceCheckUtils]: 27: Hoare triple {4297#(and (<= ~SIZE~0 3) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4291#true} is VALID [2018-11-14 18:53:48,561 INFO L273 TraceCheckUtils]: 28: Hoare triple {4291#true} ~cond := #in~cond; {4291#true} is VALID [2018-11-14 18:53:48,561 INFO L273 TraceCheckUtils]: 29: Hoare triple {4291#true} assume !(~cond == 0); {4291#true} is VALID [2018-11-14 18:53:48,562 INFO L273 TraceCheckUtils]: 30: Hoare triple {4291#true} assume true; {4291#true} is VALID [2018-11-14 18:53:48,562 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {4291#true} {4297#(and (<= ~SIZE~0 3) (= main_~i~0 0))} #69#return; {4297#(and (<= ~SIZE~0 3) (= main_~i~0 0))} is VALID [2018-11-14 18:53:48,563 INFO L273 TraceCheckUtils]: 32: Hoare triple {4297#(and (<= ~SIZE~0 3) (= main_~i~0 0))} havoc #t~mem4; {4297#(and (<= ~SIZE~0 3) (= main_~i~0 0))} is VALID [2018-11-14 18:53:48,564 INFO L273 TraceCheckUtils]: 33: Hoare triple {4297#(and (<= ~SIZE~0 3) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {4298#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:53:48,564 INFO L273 TraceCheckUtils]: 34: Hoare triple {4298#(<= ~SIZE~0 (+ main_~i~0 2))} assume true; {4298#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:53:48,564 INFO L273 TraceCheckUtils]: 35: Hoare triple {4298#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4298#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:53:48,564 INFO L256 TraceCheckUtils]: 36: Hoare triple {4298#(<= ~SIZE~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4291#true} is VALID [2018-11-14 18:53:48,565 INFO L273 TraceCheckUtils]: 37: Hoare triple {4291#true} ~cond := #in~cond; {4291#true} is VALID [2018-11-14 18:53:48,565 INFO L273 TraceCheckUtils]: 38: Hoare triple {4291#true} assume !(~cond == 0); {4291#true} is VALID [2018-11-14 18:53:48,565 INFO L273 TraceCheckUtils]: 39: Hoare triple {4291#true} assume true; {4291#true} is VALID [2018-11-14 18:53:48,565 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {4291#true} {4298#(<= ~SIZE~0 (+ main_~i~0 2))} #69#return; {4298#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:53:48,566 INFO L273 TraceCheckUtils]: 41: Hoare triple {4298#(<= ~SIZE~0 (+ main_~i~0 2))} havoc #t~mem4; {4298#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:53:48,567 INFO L273 TraceCheckUtils]: 42: Hoare triple {4298#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {4299#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:53:48,567 INFO L273 TraceCheckUtils]: 43: Hoare triple {4299#(<= ~SIZE~0 (+ main_~i~0 1))} assume true; {4299#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:53:48,568 INFO L273 TraceCheckUtils]: 44: Hoare triple {4299#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4299#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:53:48,568 INFO L256 TraceCheckUtils]: 45: Hoare triple {4299#(<= ~SIZE~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4291#true} is VALID [2018-11-14 18:53:48,568 INFO L273 TraceCheckUtils]: 46: Hoare triple {4291#true} ~cond := #in~cond; {4291#true} is VALID [2018-11-14 18:53:48,568 INFO L273 TraceCheckUtils]: 47: Hoare triple {4291#true} assume !(~cond == 0); {4291#true} is VALID [2018-11-14 18:53:48,569 INFO L273 TraceCheckUtils]: 48: Hoare triple {4291#true} assume true; {4291#true} is VALID [2018-11-14 18:53:48,569 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {4291#true} {4299#(<= ~SIZE~0 (+ main_~i~0 1))} #69#return; {4299#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:53:48,570 INFO L273 TraceCheckUtils]: 50: Hoare triple {4299#(<= ~SIZE~0 (+ main_~i~0 1))} havoc #t~mem4; {4299#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:53:48,571 INFO L273 TraceCheckUtils]: 51: Hoare triple {4299#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {4300#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-14 18:53:48,571 INFO L273 TraceCheckUtils]: 52: Hoare triple {4300#(<= ~SIZE~0 main_~i~0)} assume true; {4300#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-14 18:53:48,572 INFO L273 TraceCheckUtils]: 53: Hoare triple {4300#(<= ~SIZE~0 main_~i~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4292#false} is VALID [2018-11-14 18:53:48,572 INFO L256 TraceCheckUtils]: 54: Hoare triple {4292#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4292#false} is VALID [2018-11-14 18:53:48,573 INFO L273 TraceCheckUtils]: 55: Hoare triple {4292#false} ~cond := #in~cond; {4292#false} is VALID [2018-11-14 18:53:48,573 INFO L273 TraceCheckUtils]: 56: Hoare triple {4292#false} assume ~cond == 0; {4292#false} is VALID [2018-11-14 18:53:48,573 INFO L273 TraceCheckUtils]: 57: Hoare triple {4292#false} assume !false; {4292#false} is VALID [2018-11-14 18:53:48,576 INFO L134 CoverageAnalysis]: Checked inductivity of 63 backedges. 18 proven. 33 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-14 18:53:48,576 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:53:48,576 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-14 18:53:48,586 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-14 18:53:48,626 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2018-11-14 18:53:48,627 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:53:48,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:48,644 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:53:48,827 INFO L256 TraceCheckUtils]: 0: Hoare triple {4291#true} call ULTIMATE.init(); {4291#true} is VALID [2018-11-14 18:53:48,827 INFO L273 TraceCheckUtils]: 1: Hoare triple {4291#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {4291#true} is VALID [2018-11-14 18:53:48,828 INFO L273 TraceCheckUtils]: 2: Hoare triple {4291#true} assume true; {4291#true} is VALID [2018-11-14 18:53:48,828 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4291#true} {4291#true} #65#return; {4291#true} is VALID [2018-11-14 18:53:48,828 INFO L256 TraceCheckUtils]: 4: Hoare triple {4291#true} call #t~ret5 := main(); {4291#true} is VALID [2018-11-14 18:53:48,828 INFO L273 TraceCheckUtils]: 5: Hoare triple {4291#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {4291#true} is VALID [2018-11-14 18:53:48,840 INFO L273 TraceCheckUtils]: 6: Hoare triple {4291#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {4322#(<= main_~i~0 0)} is VALID [2018-11-14 18:53:48,841 INFO L273 TraceCheckUtils]: 7: Hoare triple {4322#(<= main_~i~0 0)} assume true; {4322#(<= main_~i~0 0)} is VALID [2018-11-14 18:53:48,841 INFO L273 TraceCheckUtils]: 8: Hoare triple {4322#(<= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {4322#(<= main_~i~0 0)} is VALID [2018-11-14 18:53:48,841 INFO L273 TraceCheckUtils]: 9: Hoare triple {4322#(<= main_~i~0 0)} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {4322#(<= main_~i~0 0)} is VALID [2018-11-14 18:53:48,842 INFO L273 TraceCheckUtils]: 10: Hoare triple {4322#(<= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4322#(<= main_~i~0 0)} is VALID [2018-11-14 18:53:48,842 INFO L273 TraceCheckUtils]: 11: Hoare triple {4322#(<= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {4294#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:48,842 INFO L273 TraceCheckUtils]: 12: Hoare triple {4294#(<= main_~i~0 1)} assume true; {4294#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:48,843 INFO L273 TraceCheckUtils]: 13: Hoare triple {4294#(<= main_~i~0 1)} assume !!(~i~0 < ~SIZE~0); {4294#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:48,843 INFO L273 TraceCheckUtils]: 14: Hoare triple {4294#(<= main_~i~0 1)} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {4294#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:48,844 INFO L273 TraceCheckUtils]: 15: Hoare triple {4294#(<= main_~i~0 1)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4294#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:48,845 INFO L273 TraceCheckUtils]: 16: Hoare triple {4294#(<= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {4295#(<= main_~i~0 2)} is VALID [2018-11-14 18:53:48,845 INFO L273 TraceCheckUtils]: 17: Hoare triple {4295#(<= main_~i~0 2)} assume true; {4295#(<= main_~i~0 2)} is VALID [2018-11-14 18:53:48,846 INFO L273 TraceCheckUtils]: 18: Hoare triple {4295#(<= main_~i~0 2)} assume !!(~i~0 < ~SIZE~0); {4295#(<= main_~i~0 2)} is VALID [2018-11-14 18:53:48,846 INFO L273 TraceCheckUtils]: 19: Hoare triple {4295#(<= main_~i~0 2)} assume !(~i~0 + 1 < ~SIZE~0); {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,847 INFO L273 TraceCheckUtils]: 20: Hoare triple {4296#(<= ~SIZE~0 3)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,847 INFO L273 TraceCheckUtils]: 21: Hoare triple {4296#(<= ~SIZE~0 3)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,848 INFO L273 TraceCheckUtils]: 22: Hoare triple {4296#(<= ~SIZE~0 3)} assume true; {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,849 INFO L273 TraceCheckUtils]: 23: Hoare triple {4296#(<= ~SIZE~0 3)} assume !(~i~0 < ~SIZE~0); {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,849 INFO L273 TraceCheckUtils]: 24: Hoare triple {4296#(<= ~SIZE~0 3)} ~i~0 := 0; {4377#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-14 18:53:48,850 INFO L273 TraceCheckUtils]: 25: Hoare triple {4377#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} assume true; {4377#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-14 18:53:48,851 INFO L273 TraceCheckUtils]: 26: Hoare triple {4377#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4377#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-14 18:53:48,852 INFO L256 TraceCheckUtils]: 27: Hoare triple {4377#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,852 INFO L273 TraceCheckUtils]: 28: Hoare triple {4296#(<= ~SIZE~0 3)} ~cond := #in~cond; {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,853 INFO L273 TraceCheckUtils]: 29: Hoare triple {4296#(<= ~SIZE~0 3)} assume !(~cond == 0); {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,853 INFO L273 TraceCheckUtils]: 30: Hoare triple {4296#(<= ~SIZE~0 3)} assume true; {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,854 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {4296#(<= ~SIZE~0 3)} {4377#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} #69#return; {4377#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-14 18:53:48,855 INFO L273 TraceCheckUtils]: 32: Hoare triple {4377#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} havoc #t~mem4; {4377#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-14 18:53:48,855 INFO L273 TraceCheckUtils]: 33: Hoare triple {4377#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {4405#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-14 18:53:48,856 INFO L273 TraceCheckUtils]: 34: Hoare triple {4405#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} assume true; {4405#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-14 18:53:48,857 INFO L273 TraceCheckUtils]: 35: Hoare triple {4405#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4405#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-14 18:53:48,858 INFO L256 TraceCheckUtils]: 36: Hoare triple {4405#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,858 INFO L273 TraceCheckUtils]: 37: Hoare triple {4296#(<= ~SIZE~0 3)} ~cond := #in~cond; {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,859 INFO L273 TraceCheckUtils]: 38: Hoare triple {4296#(<= ~SIZE~0 3)} assume !(~cond == 0); {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,859 INFO L273 TraceCheckUtils]: 39: Hoare triple {4296#(<= ~SIZE~0 3)} assume true; {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,860 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {4296#(<= ~SIZE~0 3)} {4405#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} #69#return; {4405#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-14 18:53:48,861 INFO L273 TraceCheckUtils]: 41: Hoare triple {4405#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} havoc #t~mem4; {4405#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-14 18:53:48,882 INFO L273 TraceCheckUtils]: 42: Hoare triple {4405#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {4433#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-14 18:53:48,884 INFO L273 TraceCheckUtils]: 43: Hoare triple {4433#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} assume true; {4433#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-14 18:53:48,884 INFO L273 TraceCheckUtils]: 44: Hoare triple {4433#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4433#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-14 18:53:48,885 INFO L256 TraceCheckUtils]: 45: Hoare triple {4433#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,885 INFO L273 TraceCheckUtils]: 46: Hoare triple {4296#(<= ~SIZE~0 3)} ~cond := #in~cond; {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,886 INFO L273 TraceCheckUtils]: 47: Hoare triple {4296#(<= ~SIZE~0 3)} assume !(~cond == 0); {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,886 INFO L273 TraceCheckUtils]: 48: Hoare triple {4296#(<= ~SIZE~0 3)} assume true; {4296#(<= ~SIZE~0 3)} is VALID [2018-11-14 18:53:48,886 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {4296#(<= ~SIZE~0 3)} {4433#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} #69#return; {4433#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-14 18:53:48,887 INFO L273 TraceCheckUtils]: 50: Hoare triple {4433#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} havoc #t~mem4; {4433#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-14 18:53:48,887 INFO L273 TraceCheckUtils]: 51: Hoare triple {4433#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {4461#(and (<= ~SIZE~0 3) (<= 3 main_~i~0))} is VALID [2018-11-14 18:53:48,888 INFO L273 TraceCheckUtils]: 52: Hoare triple {4461#(and (<= ~SIZE~0 3) (<= 3 main_~i~0))} assume true; {4461#(and (<= ~SIZE~0 3) (<= 3 main_~i~0))} is VALID [2018-11-14 18:53:48,889 INFO L273 TraceCheckUtils]: 53: Hoare triple {4461#(and (<= ~SIZE~0 3) (<= 3 main_~i~0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4292#false} is VALID [2018-11-14 18:53:48,889 INFO L256 TraceCheckUtils]: 54: Hoare triple {4292#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4292#false} is VALID [2018-11-14 18:53:48,889 INFO L273 TraceCheckUtils]: 55: Hoare triple {4292#false} ~cond := #in~cond; {4292#false} is VALID [2018-11-14 18:53:48,889 INFO L273 TraceCheckUtils]: 56: Hoare triple {4292#false} assume ~cond == 0; {4292#false} is VALID [2018-11-14 18:53:48,890 INFO L273 TraceCheckUtils]: 57: Hoare triple {4292#false} assume !false; {4292#false} is VALID [2018-11-14 18:53:48,894 INFO L134 CoverageAnalysis]: Checked inductivity of 63 backedges. 30 proven. 21 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-14 18:53:48,915 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:53:48,915 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2018-11-14 18:53:48,916 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 58 [2018-11-14 18:53:48,916 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:53:48,917 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-14 18:53:49,077 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-14 18:53:49,077 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-14 18:53:49,077 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-14 18:53:49,078 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=152, Unknown=0, NotChecked=0, Total=210 [2018-11-14 18:53:49,078 INFO L87 Difference]: Start difference. First operand 76 states and 79 transitions. Second operand 15 states. [2018-11-14 18:53:50,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:50,906 INFO L93 Difference]: Finished difference Result 136 states and 142 transitions. [2018-11-14 18:53:50,906 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-14 18:53:50,906 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 58 [2018-11-14 18:53:50,907 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:53:50,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-14 18:53:50,909 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 102 transitions. [2018-11-14 18:53:50,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-14 18:53:50,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 102 transitions. [2018-11-14 18:53:50,911 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 102 transitions. [2018-11-14 18:53:51,063 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-14 18:53:51,066 INFO L225 Difference]: With dead ends: 136 [2018-11-14 18:53:51,066 INFO L226 Difference]: Without dead ends: 91 [2018-11-14 18:53:51,067 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 54 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 69 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=89, Invalid=253, Unknown=0, NotChecked=0, Total=342 [2018-11-14 18:53:51,067 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2018-11-14 18:53:51,411 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 76. [2018-11-14 18:53:51,411 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:53:51,411 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand 76 states. [2018-11-14 18:53:51,411 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 76 states. [2018-11-14 18:53:51,412 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 76 states. [2018-11-14 18:53:51,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:51,414 INFO L93 Difference]: Finished difference Result 91 states and 96 transitions. [2018-11-14 18:53:51,414 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 96 transitions. [2018-11-14 18:53:51,416 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:51,416 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:51,416 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 91 states. [2018-11-14 18:53:51,416 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 91 states. [2018-11-14 18:53:51,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:51,419 INFO L93 Difference]: Finished difference Result 91 states and 96 transitions. [2018-11-14 18:53:51,419 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 96 transitions. [2018-11-14 18:53:51,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:51,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:51,420 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:53:51,420 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:53:51,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2018-11-14 18:53:51,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 78 transitions. [2018-11-14 18:53:51,422 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 78 transitions. Word has length 58 [2018-11-14 18:53:51,422 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:53:51,422 INFO L480 AbstractCegarLoop]: Abstraction has 76 states and 78 transitions. [2018-11-14 18:53:51,422 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-14 18:53:51,422 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 78 transitions. [2018-11-14 18:53:51,423 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2018-11-14 18:53:51,423 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:53:51,423 INFO L375 BasicCegarLoop]: trace histogram [6, 5, 5, 5, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:53:51,424 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:53:51,424 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:53:51,424 INFO L82 PathProgramCache]: Analyzing trace with hash 883941988, now seen corresponding path program 7 times [2018-11-14 18:53:51,424 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:53:51,424 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:53:51,425 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:51,425 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:53:51,425 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:51,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:52,711 INFO L256 TraceCheckUtils]: 0: Hoare triple {4947#true} call ULTIMATE.init(); {4947#true} is VALID [2018-11-14 18:53:52,711 INFO L273 TraceCheckUtils]: 1: Hoare triple {4947#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {4947#true} is VALID [2018-11-14 18:53:52,711 INFO L273 TraceCheckUtils]: 2: Hoare triple {4947#true} assume true; {4947#true} is VALID [2018-11-14 18:53:52,711 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4947#true} {4947#true} #65#return; {4947#true} is VALID [2018-11-14 18:53:52,712 INFO L256 TraceCheckUtils]: 4: Hoare triple {4947#true} call #t~ret5 := main(); {4947#true} is VALID [2018-11-14 18:53:52,712 INFO L273 TraceCheckUtils]: 5: Hoare triple {4947#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {4947#true} is VALID [2018-11-14 18:53:52,712 INFO L273 TraceCheckUtils]: 6: Hoare triple {4947#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {4949#(= main_~i~0 0)} is VALID [2018-11-14 18:53:52,713 INFO L273 TraceCheckUtils]: 7: Hoare triple {4949#(= main_~i~0 0)} assume true; {4949#(= main_~i~0 0)} is VALID [2018-11-14 18:53:52,713 INFO L273 TraceCheckUtils]: 8: Hoare triple {4949#(= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {4949#(= main_~i~0 0)} is VALID [2018-11-14 18:53:52,714 INFO L273 TraceCheckUtils]: 9: Hoare triple {4949#(= main_~i~0 0)} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {4949#(= main_~i~0 0)} is VALID [2018-11-14 18:53:52,714 INFO L273 TraceCheckUtils]: 10: Hoare triple {4949#(= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4949#(= main_~i~0 0)} is VALID [2018-11-14 18:53:52,714 INFO L273 TraceCheckUtils]: 11: Hoare triple {4949#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {4950#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:53:52,715 INFO L273 TraceCheckUtils]: 12: Hoare triple {4950#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume true; {4950#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:53:52,715 INFO L273 TraceCheckUtils]: 13: Hoare triple {4950#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume !!(~i~0 < ~SIZE~0); {4950#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:53:52,716 INFO L273 TraceCheckUtils]: 14: Hoare triple {4950#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {4950#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:53:52,716 INFO L273 TraceCheckUtils]: 15: Hoare triple {4950#(and (<= 1 main_~i~0) (<= main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4950#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:53:52,717 INFO L273 TraceCheckUtils]: 16: Hoare triple {4950#(and (<= 1 main_~i~0) (<= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {4951#(= (* 4 main_~i~0) 8)} is VALID [2018-11-14 18:53:52,718 INFO L273 TraceCheckUtils]: 17: Hoare triple {4951#(= (* 4 main_~i~0) 8)} assume true; {4951#(= (* 4 main_~i~0) 8)} is VALID [2018-11-14 18:53:52,718 INFO L273 TraceCheckUtils]: 18: Hoare triple {4951#(= (* 4 main_~i~0) 8)} assume !!(~i~0 < ~SIZE~0); {4951#(= (* 4 main_~i~0) 8)} is VALID [2018-11-14 18:53:52,719 INFO L273 TraceCheckUtils]: 19: Hoare triple {4951#(= (* 4 main_~i~0) 8)} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {4951#(= (* 4 main_~i~0) 8)} is VALID [2018-11-14 18:53:52,720 INFO L273 TraceCheckUtils]: 20: Hoare triple {4951#(= (* 4 main_~i~0) 8)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4952#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= (* 4 main_~i~0) 8))} is VALID [2018-11-14 18:53:52,721 INFO L273 TraceCheckUtils]: 21: Hoare triple {4952#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= (* 4 main_~i~0) 8))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {4953#(and (not (= (* 4 main_~i~0) 8)) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:53:52,721 INFO L273 TraceCheckUtils]: 22: Hoare triple {4953#(and (not (= (* 4 main_~i~0) 8)) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} assume true; {4953#(and (not (= (* 4 main_~i~0) 8)) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:53:52,722 INFO L273 TraceCheckUtils]: 23: Hoare triple {4953#(and (not (= (* 4 main_~i~0) 8)) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} assume !!(~i~0 < ~SIZE~0); {4953#(and (not (= (* 4 main_~i~0) 8)) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:53:52,724 INFO L273 TraceCheckUtils]: 24: Hoare triple {4953#(and (not (= (* 4 main_~i~0) 8)) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {4954#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (not (= 4 (* 4 main_~i~0))))} is VALID [2018-11-14 18:53:52,725 INFO L273 TraceCheckUtils]: 25: Hoare triple {4954#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (not (= 4 (* 4 main_~i~0))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4955#(and (not (= 4 (* 4 main_~i~0))) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:53:52,726 INFO L273 TraceCheckUtils]: 26: Hoare triple {4955#(and (not (= 4 (* 4 main_~i~0))) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {4956#(<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-14 18:53:52,727 INFO L273 TraceCheckUtils]: 27: Hoare triple {4956#(<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} assume true; {4956#(<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-14 18:53:52,727 INFO L273 TraceCheckUtils]: 28: Hoare triple {4956#(<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} assume !!(~i~0 < ~SIZE~0); {4956#(<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-14 18:53:52,728 INFO L273 TraceCheckUtils]: 29: Hoare triple {4956#(<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} assume !(~i~0 + 1 < ~SIZE~0); {4956#(<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-14 18:53:52,729 INFO L273 TraceCheckUtils]: 30: Hoare triple {4956#(<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4957#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-14 18:53:52,729 INFO L273 TraceCheckUtils]: 31: Hoare triple {4957#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {4957#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-14 18:53:52,730 INFO L273 TraceCheckUtils]: 32: Hoare triple {4957#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} assume true; {4957#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-14 18:53:52,730 INFO L273 TraceCheckUtils]: 33: Hoare triple {4957#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} assume !(~i~0 < ~SIZE~0); {4957#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-14 18:53:52,731 INFO L273 TraceCheckUtils]: 34: Hoare triple {4957#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} ~i~0 := 0; {4958#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:53:52,732 INFO L273 TraceCheckUtils]: 35: Hoare triple {4958#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} assume true; {4958#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:53:52,733 INFO L273 TraceCheckUtils]: 36: Hoare triple {4958#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4958#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:53:52,733 INFO L256 TraceCheckUtils]: 37: Hoare triple {4958#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4947#true} is VALID [2018-11-14 18:53:52,733 INFO L273 TraceCheckUtils]: 38: Hoare triple {4947#true} ~cond := #in~cond; {4959#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-14 18:53:52,734 INFO L273 TraceCheckUtils]: 39: Hoare triple {4959#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(~cond == 0); {4960#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:53:52,735 INFO L273 TraceCheckUtils]: 40: Hoare triple {4960#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4960#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:53:52,735 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {4960#(not (= |__VERIFIER_assert_#in~cond| 0))} {4958#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} #69#return; {4958#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:53:52,736 INFO L273 TraceCheckUtils]: 42: Hoare triple {4958#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} havoc #t~mem4; {4958#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:53:52,737 INFO L273 TraceCheckUtils]: 43: Hoare triple {4958#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {4961#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-14 18:53:52,738 INFO L273 TraceCheckUtils]: 44: Hoare triple {4961#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} assume true; {4961#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-14 18:53:52,738 INFO L273 TraceCheckUtils]: 45: Hoare triple {4961#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4961#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-14 18:53:52,739 INFO L256 TraceCheckUtils]: 46: Hoare triple {4961#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4947#true} is VALID [2018-11-14 18:53:52,739 INFO L273 TraceCheckUtils]: 47: Hoare triple {4947#true} ~cond := #in~cond; {4947#true} is VALID [2018-11-14 18:53:52,739 INFO L273 TraceCheckUtils]: 48: Hoare triple {4947#true} assume !(~cond == 0); {4947#true} is VALID [2018-11-14 18:53:52,739 INFO L273 TraceCheckUtils]: 49: Hoare triple {4947#true} assume true; {4947#true} is VALID [2018-11-14 18:53:52,740 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {4947#true} {4961#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} #69#return; {4961#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-14 18:53:52,741 INFO L273 TraceCheckUtils]: 51: Hoare triple {4961#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} havoc #t~mem4; {4961#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-14 18:53:52,742 INFO L273 TraceCheckUtils]: 52: Hoare triple {4961#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {4962#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-14 18:53:52,742 INFO L273 TraceCheckUtils]: 53: Hoare triple {4962#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume true; {4962#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-14 18:53:52,743 INFO L273 TraceCheckUtils]: 54: Hoare triple {4962#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4963#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-14 18:53:52,744 INFO L256 TraceCheckUtils]: 55: Hoare triple {4963#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4960#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:53:52,745 INFO L273 TraceCheckUtils]: 56: Hoare triple {4960#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {4964#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-14 18:53:52,745 INFO L273 TraceCheckUtils]: 57: Hoare triple {4964#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {4948#false} is VALID [2018-11-14 18:53:52,745 INFO L273 TraceCheckUtils]: 58: Hoare triple {4948#false} assume !false; {4948#false} is VALID [2018-11-14 18:53:52,753 INFO L134 CoverageAnalysis]: Checked inductivity of 79 backedges. 5 proven. 73 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-14 18:53:52,753 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:53:52,754 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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-14 18:53:52,762 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:53:52,782 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:52,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:52,797 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:53:52,939 INFO L477 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-14 18:53:52,945 INFO L477 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-14 18:53:52,951 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:52,955 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:52,963 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:52,964 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:22, output treesize:18 [2018-11-14 18:53:53,048 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 21 [2018-11-14 18:53:53,055 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:53,056 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:53,057 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 43 [2018-11-14 18:53:53,061 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:53,070 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:53,080 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:53,081 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:32, output treesize:28 [2018-11-14 18:53:53,134 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 30 [2018-11-14 18:53:53,151 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:53,152 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:53,152 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:53,153 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:53,154 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 86 [2018-11-14 18:53:53,160 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:53,174 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:53,185 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:53,186 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:43, output treesize:39 [2018-11-14 18:53:53,308 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:53,309 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 40 [2018-11-14 18:53:53,323 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:53,325 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:53,326 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:53,327 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:53,327 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:53,328 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 78 [2018-11-14 18:53:53,332 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:53,346 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:53,355 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:53,355 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:44, output treesize:31 [2018-11-14 18:53:53,361 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:53:54,630 INFO L477 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 31 treesize of output 23 [2018-11-14 18:53:54,636 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:54,637 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:53:54,638 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:54,639 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:54,640 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:54,641 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 15 [2018-11-14 18:53:54,643 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:54,647 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:54,651 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-14 18:53:54,652 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:34, output treesize:7 [2018-11-14 18:53:54,655 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:53:54,736 INFO L256 TraceCheckUtils]: 0: Hoare triple {4947#true} call ULTIMATE.init(); {4947#true} is VALID [2018-11-14 18:53:54,737 INFO L273 TraceCheckUtils]: 1: Hoare triple {4947#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {4947#true} is VALID [2018-11-14 18:53:54,737 INFO L273 TraceCheckUtils]: 2: Hoare triple {4947#true} assume true; {4947#true} is VALID [2018-11-14 18:53:54,737 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4947#true} {4947#true} #65#return; {4947#true} is VALID [2018-11-14 18:53:54,737 INFO L256 TraceCheckUtils]: 4: Hoare triple {4947#true} call #t~ret5 := main(); {4947#true} is VALID [2018-11-14 18:53:54,737 INFO L273 TraceCheckUtils]: 5: Hoare triple {4947#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {4947#true} is VALID [2018-11-14 18:53:54,738 INFO L273 TraceCheckUtils]: 6: Hoare triple {4947#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {4986#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,739 INFO L273 TraceCheckUtils]: 7: Hoare triple {4986#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {4986#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,739 INFO L273 TraceCheckUtils]: 8: Hoare triple {4986#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {4986#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,740 INFO L273 TraceCheckUtils]: 9: Hoare triple {4986#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {4986#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,740 INFO L273 TraceCheckUtils]: 10: Hoare triple {4986#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4986#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,741 INFO L273 TraceCheckUtils]: 11: Hoare triple {4986#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {5002#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,741 INFO L273 TraceCheckUtils]: 12: Hoare triple {5002#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume true; {5002#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,742 INFO L273 TraceCheckUtils]: 13: Hoare triple {5002#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {5002#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,743 INFO L273 TraceCheckUtils]: 14: Hoare triple {5002#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {5002#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,743 INFO L273 TraceCheckUtils]: 15: Hoare triple {5002#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5002#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,744 INFO L273 TraceCheckUtils]: 16: Hoare triple {5002#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {5018#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,745 INFO L273 TraceCheckUtils]: 17: Hoare triple {5018#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume true; {5018#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,745 INFO L273 TraceCheckUtils]: 18: Hoare triple {5018#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {5018#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,746 INFO L273 TraceCheckUtils]: 19: Hoare triple {5018#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {5018#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,747 INFO L273 TraceCheckUtils]: 20: Hoare triple {5018#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5031#(and (= main_~i~0 2) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,748 INFO L273 TraceCheckUtils]: 21: Hoare triple {5031#(and (= main_~i~0 2) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {5035#(and (= main_~i~0 3) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,749 INFO L273 TraceCheckUtils]: 22: Hoare triple {5035#(and (= main_~i~0 3) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume true; {5035#(and (= main_~i~0 3) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,750 INFO L273 TraceCheckUtils]: 23: Hoare triple {5035#(and (= main_~i~0 3) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {5035#(and (= main_~i~0 3) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,751 INFO L273 TraceCheckUtils]: 24: Hoare triple {5035#(and (= main_~i~0 3) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {5045#(and (= main_~i~0 3) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,753 INFO L273 TraceCheckUtils]: 25: Hoare triple {5045#(and (= main_~i~0 3) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5049#(and (= main_~i~0 3) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,754 INFO L273 TraceCheckUtils]: 26: Hoare triple {5049#(and (= main_~i~0 3) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {5053#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,755 INFO L273 TraceCheckUtils]: 27: Hoare triple {5053#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume true; {5053#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,756 INFO L273 TraceCheckUtils]: 28: Hoare triple {5053#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {5053#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,757 INFO L273 TraceCheckUtils]: 29: Hoare triple {5053#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume !(~i~0 + 1 < ~SIZE~0); {5053#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,758 INFO L273 TraceCheckUtils]: 30: Hoare triple {5053#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5066#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,759 INFO L273 TraceCheckUtils]: 31: Hoare triple {5066#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {5066#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,760 INFO L273 TraceCheckUtils]: 32: Hoare triple {5066#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume true; {5066#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,761 INFO L273 TraceCheckUtils]: 33: Hoare triple {5066#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {5066#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,762 INFO L273 TraceCheckUtils]: 34: Hoare triple {5066#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {5079#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 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-14 18:53:54,763 INFO L273 TraceCheckUtils]: 35: Hoare triple {5079#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {5079#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 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-14 18:53:54,764 INFO L273 TraceCheckUtils]: 36: Hoare triple {5079#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5079#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 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-14 18:53:54,766 INFO L256 TraceCheckUtils]: 37: Hoare triple {5079#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5089#(exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 16)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 12) 3)))} is VALID [2018-11-14 18:53:54,767 INFO L273 TraceCheckUtils]: 38: Hoare triple {5089#(exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 16)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 12) 3)))} ~cond := #in~cond; {5093#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 16)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 12) 3))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-14 18:53:54,767 INFO L273 TraceCheckUtils]: 39: Hoare triple {5093#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 16)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 12) 3))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(~cond == 0); {5097#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 16)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 12) 3))))} is VALID [2018-11-14 18:53:54,768 INFO L273 TraceCheckUtils]: 40: Hoare triple {5097#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 16)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 12) 3))))} assume true; {5097#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 16)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 12) 3))))} is VALID [2018-11-14 18:53:54,769 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {5097#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 16)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 12) 3))))} {5079#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #69#return; {5079#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 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-14 18:53:54,789 INFO L273 TraceCheckUtils]: 42: Hoare triple {5079#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {5079#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 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-14 18:53:54,803 INFO L273 TraceCheckUtils]: 43: Hoare triple {5079#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {5110#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,812 INFO L273 TraceCheckUtils]: 44: Hoare triple {5110#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume true; {5110#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,827 INFO L273 TraceCheckUtils]: 45: Hoare triple {5110#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5110#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,837 INFO L256 TraceCheckUtils]: 46: Hoare triple {5110#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5089#(exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 16)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 12) 3)))} is VALID [2018-11-14 18:53:54,849 INFO L273 TraceCheckUtils]: 47: Hoare triple {5089#(exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 16)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 12) 3)))} ~cond := #in~cond; {5089#(exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 16)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 12) 3)))} is VALID [2018-11-14 18:53:54,864 INFO L273 TraceCheckUtils]: 48: Hoare triple {5089#(exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 16)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 12) 3)))} assume !(~cond == 0); {5089#(exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 16)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 12) 3)))} is VALID [2018-11-14 18:53:54,872 INFO L273 TraceCheckUtils]: 49: Hoare triple {5089#(exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 16)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 12) 3)))} assume true; {5089#(exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 16)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 12) 3)))} is VALID [2018-11-14 18:53:54,878 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {5089#(exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 16)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 8)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 12) 3)))} {5110#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} #69#return; {5110#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,878 INFO L273 TraceCheckUtils]: 51: Hoare triple {5110#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {5110#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,880 INFO L273 TraceCheckUtils]: 52: Hoare triple {5110#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {5138#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,880 INFO L273 TraceCheckUtils]: 53: Hoare triple {5138#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume true; {5138#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:54,882 INFO L273 TraceCheckUtils]: 54: Hoare triple {5138#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 16))) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5145#(and (= main_~i~0 2) (<= 2 |main_#t~mem4|))} is VALID [2018-11-14 18:53:54,884 INFO L256 TraceCheckUtils]: 55: Hoare triple {5145#(and (= main_~i~0 2) (<= 2 |main_#t~mem4|))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5149#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 18:53:54,884 INFO L273 TraceCheckUtils]: 56: Hoare triple {5149#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {5153#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 18:53:54,884 INFO L273 TraceCheckUtils]: 57: Hoare triple {5153#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {4948#false} is VALID [2018-11-14 18:53:54,885 INFO L273 TraceCheckUtils]: 58: Hoare triple {4948#false} assume !false; {4948#false} is VALID [2018-11-14 18:53:54,899 INFO L134 CoverageAnalysis]: Checked inductivity of 79 backedges. 0 proven. 78 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-14 18:53:54,921 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:53:54,922 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 20] total 36 [2018-11-14 18:53:54,922 INFO L78 Accepts]: Start accepts. Automaton has 36 states. Word has length 59 [2018-11-14 18:53:54,923 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:53:54,923 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 36 states. [2018-11-14 18:53:55,054 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-14 18:53:55,054 INFO L459 AbstractCegarLoop]: Interpolant automaton has 36 states [2018-11-14 18:53:55,055 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2018-11-14 18:53:55,055 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=171, Invalid=1089, Unknown=0, NotChecked=0, Total=1260 [2018-11-14 18:53:55,056 INFO L87 Difference]: Start difference. First operand 76 states and 78 transitions. Second operand 36 states. [2018-11-14 18:53:58,506 WARN L179 SmtUtils]: Spent 188.00 ms on a formula simplification that was a NOOP. DAG size: 26 [2018-11-14 18:54:03,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:54:03,469 INFO L93 Difference]: Finished difference Result 174 states and 184 transitions. [2018-11-14 18:54:03,469 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 53 states. [2018-11-14 18:54:03,469 INFO L78 Accepts]: Start accepts. Automaton has 36 states. Word has length 59 [2018-11-14 18:54:03,469 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:54:03,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-14 18:54:03,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 163 transitions. [2018-11-14 18:54:03,474 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-14 18:54:03,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 163 transitions. [2018-11-14 18:54:03,477 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 53 states and 163 transitions. [2018-11-14 18:54:03,677 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 163 edges. 163 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:54:03,682 INFO L225 Difference]: With dead ends: 174 [2018-11-14 18:54:03,682 INFO L226 Difference]: Without dead ends: 172 [2018-11-14 18:54:03,683 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 41 SyntacticMatches, 4 SemanticMatches, 60 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1217 ImplicationChecksByTransitivity, 3.2s TimeCoverageRelationStatistics Valid=444, Invalid=3338, Unknown=0, NotChecked=0, Total=3782 [2018-11-14 18:54:03,683 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 172 states. [2018-11-14 18:54:04,428 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 172 to 126. [2018-11-14 18:54:04,428 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:54:04,428 INFO L82 GeneralOperation]: Start isEquivalent. First operand 172 states. Second operand 126 states. [2018-11-14 18:54:04,428 INFO L74 IsIncluded]: Start isIncluded. First operand 172 states. Second operand 126 states. [2018-11-14 18:54:04,428 INFO L87 Difference]: Start difference. First operand 172 states. Second operand 126 states. [2018-11-14 18:54:04,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:54:04,432 INFO L93 Difference]: Finished difference Result 172 states and 182 transitions. [2018-11-14 18:54:04,432 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 182 transitions. [2018-11-14 18:54:04,432 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:54:04,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:54:04,433 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand 172 states. [2018-11-14 18:54:04,433 INFO L87 Difference]: Start difference. First operand 126 states. Second operand 172 states. [2018-11-14 18:54:04,437 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:54:04,437 INFO L93 Difference]: Finished difference Result 172 states and 182 transitions. [2018-11-14 18:54:04,437 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 182 transitions. [2018-11-14 18:54:04,438 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:54:04,438 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:54:04,438 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:54:04,439 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:54:04,439 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 126 states. [2018-11-14 18:54:04,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 132 transitions. [2018-11-14 18:54:04,442 INFO L78 Accepts]: Start accepts. Automaton has 126 states and 132 transitions. Word has length 59 [2018-11-14 18:54:04,442 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:54:04,442 INFO L480 AbstractCegarLoop]: Abstraction has 126 states and 132 transitions. [2018-11-14 18:54:04,442 INFO L481 AbstractCegarLoop]: Interpolant automaton has 36 states. [2018-11-14 18:54:04,442 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 132 transitions. [2018-11-14 18:54:04,443 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2018-11-14 18:54:04,443 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:54:04,443 INFO L375 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:54:04,444 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:54:04,444 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:54:04,444 INFO L82 PathProgramCache]: Analyzing trace with hash -2108724814, now seen corresponding path program 8 times [2018-11-14 18:54:04,444 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:54:04,444 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:54:04,445 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:54:04,445 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:54:04,445 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:54:04,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:54:05,147 INFO L256 TraceCheckUtils]: 0: Hoare triple {5948#true} call ULTIMATE.init(); {5948#true} is VALID [2018-11-14 18:54:05,147 INFO L273 TraceCheckUtils]: 1: Hoare triple {5948#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {5948#true} is VALID [2018-11-14 18:54:05,148 INFO L273 TraceCheckUtils]: 2: Hoare triple {5948#true} assume true; {5948#true} is VALID [2018-11-14 18:54:05,148 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5948#true} {5948#true} #65#return; {5948#true} is VALID [2018-11-14 18:54:05,148 INFO L256 TraceCheckUtils]: 4: Hoare triple {5948#true} call #t~ret5 := main(); {5948#true} is VALID [2018-11-14 18:54:05,148 INFO L273 TraceCheckUtils]: 5: Hoare triple {5948#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {5948#true} is VALID [2018-11-14 18:54:05,149 INFO L273 TraceCheckUtils]: 6: Hoare triple {5948#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {5950#(= main_~i~0 0)} is VALID [2018-11-14 18:54:05,149 INFO L273 TraceCheckUtils]: 7: Hoare triple {5950#(= main_~i~0 0)} assume true; {5950#(= main_~i~0 0)} is VALID [2018-11-14 18:54:05,150 INFO L273 TraceCheckUtils]: 8: Hoare triple {5950#(= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {5950#(= main_~i~0 0)} is VALID [2018-11-14 18:54:05,151 INFO L273 TraceCheckUtils]: 9: Hoare triple {5950#(= main_~i~0 0)} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {5950#(= main_~i~0 0)} is VALID [2018-11-14 18:54:05,151 INFO L273 TraceCheckUtils]: 10: Hoare triple {5950#(= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5950#(= main_~i~0 0)} is VALID [2018-11-14 18:54:05,151 INFO L273 TraceCheckUtils]: 11: Hoare triple {5950#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {5951#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:54:05,152 INFO L273 TraceCheckUtils]: 12: Hoare triple {5951#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume true; {5951#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:54:05,152 INFO L273 TraceCheckUtils]: 13: Hoare triple {5951#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume !!(~i~0 < ~SIZE~0); {5951#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:54:05,153 INFO L273 TraceCheckUtils]: 14: Hoare triple {5951#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {5951#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:54:05,153 INFO L273 TraceCheckUtils]: 15: Hoare triple {5951#(and (<= 1 main_~i~0) (<= main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5951#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:54:05,154 INFO L273 TraceCheckUtils]: 16: Hoare triple {5951#(and (<= 1 main_~i~0) (<= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {5952#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-14 18:54:05,154 INFO L273 TraceCheckUtils]: 17: Hoare triple {5952#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume true; {5952#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-14 18:54:05,155 INFO L273 TraceCheckUtils]: 18: Hoare triple {5952#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !!(~i~0 < ~SIZE~0); {5952#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-14 18:54:05,156 INFO L273 TraceCheckUtils]: 19: Hoare triple {5952#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {5952#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-14 18:54:05,157 INFO L273 TraceCheckUtils]: 20: Hoare triple {5952#(and (<= 2 main_~i~0) (<= main_~i~0 2))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5952#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-14 18:54:05,157 INFO L273 TraceCheckUtils]: 21: Hoare triple {5952#(and (<= 2 main_~i~0) (<= main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {5953#(= (* 4 main_~i~0) 12)} is VALID [2018-11-14 18:54:05,158 INFO L273 TraceCheckUtils]: 22: Hoare triple {5953#(= (* 4 main_~i~0) 12)} assume true; {5953#(= (* 4 main_~i~0) 12)} is VALID [2018-11-14 18:54:05,159 INFO L273 TraceCheckUtils]: 23: Hoare triple {5953#(= (* 4 main_~i~0) 12)} assume !!(~i~0 < ~SIZE~0); {5953#(= (* 4 main_~i~0) 12)} is VALID [2018-11-14 18:54:05,159 INFO L273 TraceCheckUtils]: 24: Hoare triple {5953#(= (* 4 main_~i~0) 12)} assume !(~i~0 + 1 < ~SIZE~0); {5953#(= (* 4 main_~i~0) 12)} is VALID [2018-11-14 18:54:05,160 INFO L273 TraceCheckUtils]: 25: Hoare triple {5953#(= (* 4 main_~i~0) 12)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5954#(and (= (* 4 main_~i~0) 12) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} is VALID [2018-11-14 18:54:05,161 INFO L273 TraceCheckUtils]: 26: Hoare triple {5954#(and (= (* 4 main_~i~0) 12) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {5955#(<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4))))} is VALID [2018-11-14 18:54:05,161 INFO L273 TraceCheckUtils]: 27: Hoare triple {5955#(<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4))))} assume true; {5955#(<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4))))} is VALID [2018-11-14 18:54:05,162 INFO L273 TraceCheckUtils]: 28: Hoare triple {5955#(<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4))))} assume !(~i~0 < ~SIZE~0); {5955#(<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4))))} is VALID [2018-11-14 18:54:05,163 INFO L273 TraceCheckUtils]: 29: Hoare triple {5955#(<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4))))} ~i~0 := 0; {5956#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0))} is VALID [2018-11-14 18:54:05,163 INFO L273 TraceCheckUtils]: 30: Hoare triple {5956#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0))} assume true; {5956#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0))} is VALID [2018-11-14 18:54:05,165 INFO L273 TraceCheckUtils]: 31: Hoare triple {5956#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5956#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0))} is VALID [2018-11-14 18:54:05,165 INFO L256 TraceCheckUtils]: 32: Hoare triple {5956#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5948#true} is VALID [2018-11-14 18:54:05,166 INFO L273 TraceCheckUtils]: 33: Hoare triple {5948#true} ~cond := #in~cond; {5957#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-14 18:54:05,168 INFO L273 TraceCheckUtils]: 34: Hoare triple {5957#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(~cond == 0); {5958#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:54:05,169 INFO L273 TraceCheckUtils]: 35: Hoare triple {5958#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5958#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:54:05,170 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {5958#(not (= |__VERIFIER_assert_#in~cond| 0))} {5956#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0))} #69#return; {5956#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0))} is VALID [2018-11-14 18:54:05,170 INFO L273 TraceCheckUtils]: 37: Hoare triple {5956#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0))} havoc #t~mem4; {5956#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0))} is VALID [2018-11-14 18:54:05,171 INFO L273 TraceCheckUtils]: 38: Hoare triple {5956#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 2) 4)))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {5959#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} is VALID [2018-11-14 18:54:05,171 INFO L273 TraceCheckUtils]: 39: Hoare triple {5959#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} assume true; {5959#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} is VALID [2018-11-14 18:54:05,172 INFO L273 TraceCheckUtils]: 40: Hoare triple {5959#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5959#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} is VALID [2018-11-14 18:54:05,172 INFO L256 TraceCheckUtils]: 41: Hoare triple {5959#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5948#true} is VALID [2018-11-14 18:54:05,172 INFO L273 TraceCheckUtils]: 42: Hoare triple {5948#true} ~cond := #in~cond; {5948#true} is VALID [2018-11-14 18:54:05,172 INFO L273 TraceCheckUtils]: 43: Hoare triple {5948#true} assume !(~cond == 0); {5948#true} is VALID [2018-11-14 18:54:05,173 INFO L273 TraceCheckUtils]: 44: Hoare triple {5948#true} assume true; {5948#true} is VALID [2018-11-14 18:54:05,174 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {5948#true} {5959#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} #69#return; {5959#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} is VALID [2018-11-14 18:54:05,174 INFO L273 TraceCheckUtils]: 46: Hoare triple {5959#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} havoc #t~mem4; {5959#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} is VALID [2018-11-14 18:54:05,175 INFO L273 TraceCheckUtils]: 47: Hoare triple {5959#(<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 1)) 4))))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {5960#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-14 18:54:05,175 INFO L273 TraceCheckUtils]: 48: Hoare triple {5960#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} assume true; {5960#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-14 18:54:05,176 INFO L273 TraceCheckUtils]: 49: Hoare triple {5960#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5960#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-14 18:54:05,176 INFO L256 TraceCheckUtils]: 50: Hoare triple {5960#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5948#true} is VALID [2018-11-14 18:54:05,176 INFO L273 TraceCheckUtils]: 51: Hoare triple {5948#true} ~cond := #in~cond; {5948#true} is VALID [2018-11-14 18:54:05,176 INFO L273 TraceCheckUtils]: 52: Hoare triple {5948#true} assume !(~cond == 0); {5948#true} is VALID [2018-11-14 18:54:05,177 INFO L273 TraceCheckUtils]: 53: Hoare triple {5948#true} assume true; {5948#true} is VALID [2018-11-14 18:54:05,178 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {5948#true} {5960#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} #69#return; {5960#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-14 18:54:05,178 INFO L273 TraceCheckUtils]: 55: Hoare triple {5960#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} havoc #t~mem4; {5960#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-14 18:54:05,179 INFO L273 TraceCheckUtils]: 56: Hoare triple {5960#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {5961#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-14 18:54:05,179 INFO L273 TraceCheckUtils]: 57: Hoare triple {5961#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume true; {5961#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-14 18:54:05,180 INFO L273 TraceCheckUtils]: 58: Hoare triple {5961#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5962#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-14 18:54:05,181 INFO L256 TraceCheckUtils]: 59: Hoare triple {5962#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5958#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:54:05,182 INFO L273 TraceCheckUtils]: 60: Hoare triple {5958#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {5963#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-14 18:54:05,182 INFO L273 TraceCheckUtils]: 61: Hoare triple {5963#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {5949#false} is VALID [2018-11-14 18:54:05,183 INFO L273 TraceCheckUtils]: 62: Hoare triple {5949#false} assume !false; {5949#false} is VALID [2018-11-14 18:54:05,193 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 5 proven. 69 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2018-11-14 18:54:05,194 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:54:05,194 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-14 18:54:05,211 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 18:54:05,233 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 18:54:05,233 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:54:05,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:54:05,248 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:54:05,485 INFO L477 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-14 18:54:05,491 INFO L477 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-14 18:54:05,494 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:54:05,497 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:54:05,503 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:54:05,504 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-14 18:54:06,393 INFO L477 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-14 18:54:06,398 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:54:06,400 INFO L477 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-14 18:54:06,402 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:54:06,405 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:54:06,410 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-14 18:54:06,410 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-14 18:54:06,413 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:54:06,484 INFO L256 TraceCheckUtils]: 0: Hoare triple {5948#true} call ULTIMATE.init(); {5948#true} is VALID [2018-11-14 18:54:06,484 INFO L273 TraceCheckUtils]: 1: Hoare triple {5948#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {5948#true} is VALID [2018-11-14 18:54:06,484 INFO L273 TraceCheckUtils]: 2: Hoare triple {5948#true} assume true; {5948#true} is VALID [2018-11-14 18:54:06,485 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5948#true} {5948#true} #65#return; {5948#true} is VALID [2018-11-14 18:54:06,485 INFO L256 TraceCheckUtils]: 4: Hoare triple {5948#true} call #t~ret5 := main(); {5948#true} is VALID [2018-11-14 18:54:06,485 INFO L273 TraceCheckUtils]: 5: Hoare triple {5948#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {5948#true} is VALID [2018-11-14 18:54:06,486 INFO L273 TraceCheckUtils]: 6: Hoare triple {5948#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {5985#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,487 INFO L273 TraceCheckUtils]: 7: Hoare triple {5985#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {5985#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,487 INFO L273 TraceCheckUtils]: 8: Hoare triple {5985#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {5985#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,488 INFO L273 TraceCheckUtils]: 9: Hoare triple {5985#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {5985#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,488 INFO L273 TraceCheckUtils]: 10: Hoare triple {5985#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5985#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,489 INFO L273 TraceCheckUtils]: 11: Hoare triple {5985#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {6001#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,489 INFO L273 TraceCheckUtils]: 12: Hoare triple {6001#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume true; {6001#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,489 INFO L273 TraceCheckUtils]: 13: Hoare triple {6001#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {6001#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,490 INFO L273 TraceCheckUtils]: 14: Hoare triple {6001#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {6001#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,491 INFO L273 TraceCheckUtils]: 15: Hoare triple {6001#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6001#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,492 INFO L273 TraceCheckUtils]: 16: Hoare triple {6001#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {6017#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,492 INFO L273 TraceCheckUtils]: 17: Hoare triple {6017#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume true; {6017#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,493 INFO L273 TraceCheckUtils]: 18: Hoare triple {6017#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {6017#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,494 INFO L273 TraceCheckUtils]: 19: Hoare triple {6017#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {6017#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,494 INFO L273 TraceCheckUtils]: 20: Hoare triple {6017#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6017#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,495 INFO L273 TraceCheckUtils]: 21: Hoare triple {6017#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {6033#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,496 INFO L273 TraceCheckUtils]: 22: Hoare triple {6033#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} assume true; {6033#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,497 INFO L273 TraceCheckUtils]: 23: Hoare triple {6033#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0); {6033#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,497 INFO L273 TraceCheckUtils]: 24: Hoare triple {6033#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} assume !(~i~0 + 1 < ~SIZE~0); {6033#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,498 INFO L273 TraceCheckUtils]: 25: Hoare triple {6033#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6046#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,499 INFO L273 TraceCheckUtils]: 26: Hoare triple {6046#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {6046#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,500 INFO L273 TraceCheckUtils]: 27: Hoare triple {6046#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} assume true; {6046#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,500 INFO L273 TraceCheckUtils]: 28: Hoare triple {6046#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {6046#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:54:06,501 INFO L273 TraceCheckUtils]: 29: Hoare triple {6046#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {6059#(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-14 18:54:06,502 INFO L273 TraceCheckUtils]: 30: Hoare triple {6059#(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 true; {6059#(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-14 18:54:06,503 INFO L273 TraceCheckUtils]: 31: Hoare triple {6059#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6059#(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-14 18:54:06,504 INFO L256 TraceCheckUtils]: 32: Hoare triple {6059#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6069#(exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12)))} is VALID [2018-11-14 18:54:06,505 INFO L273 TraceCheckUtils]: 33: Hoare triple {6069#(exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12)))} ~cond := #in~cond; {6073#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-14 18:54:06,505 INFO L273 TraceCheckUtils]: 34: Hoare triple {6073#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(~cond == 0); {6077#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12))))} is VALID [2018-11-14 18:54:06,506 INFO L273 TraceCheckUtils]: 35: Hoare triple {6077#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12))))} assume true; {6077#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12))))} is VALID [2018-11-14 18:54:06,507 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {6077#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12))))} {6059#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #69#return; {6059#(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-14 18:54:06,508 INFO L273 TraceCheckUtils]: 37: Hoare triple {6059#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6059#(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-14 18:54:06,509 INFO L273 TraceCheckUtils]: 38: Hoare triple {6059#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {6090#(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-14 18:54:06,509 INFO L273 TraceCheckUtils]: 39: Hoare triple {6090#(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 true; {6090#(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-14 18:54:06,510 INFO L273 TraceCheckUtils]: 40: Hoare triple {6090#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6090#(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-14 18:54:06,511 INFO L256 TraceCheckUtils]: 41: Hoare triple {6090#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6069#(exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12)))} is VALID [2018-11-14 18:54:06,512 INFO L273 TraceCheckUtils]: 42: Hoare triple {6069#(exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12)))} ~cond := #in~cond; {6069#(exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12)))} is VALID [2018-11-14 18:54:06,513 INFO L273 TraceCheckUtils]: 43: Hoare triple {6069#(exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12)))} assume !(~cond == 0); {6069#(exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12)))} is VALID [2018-11-14 18:54:06,513 INFO L273 TraceCheckUtils]: 44: Hoare triple {6069#(exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12)))} assume true; {6069#(exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12)))} is VALID [2018-11-14 18:54:06,514 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {6069#(exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12)))} {6090#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #69#return; {6090#(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-14 18:54:06,515 INFO L273 TraceCheckUtils]: 46: Hoare triple {6090#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6090#(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-14 18:54:06,516 INFO L273 TraceCheckUtils]: 47: Hoare triple {6090#(and (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {6118#(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-14 18:54:06,516 INFO L273 TraceCheckUtils]: 48: Hoare triple {6118#(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 true; {6118#(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-14 18:54:06,517 INFO L273 TraceCheckUtils]: 49: Hoare triple {6118#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6118#(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-14 18:54:06,518 INFO L256 TraceCheckUtils]: 50: Hoare triple {6118#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6069#(exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12)))} is VALID [2018-11-14 18:54:06,519 INFO L273 TraceCheckUtils]: 51: Hoare triple {6069#(exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12)))} ~cond := #in~cond; {6069#(exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12)))} is VALID [2018-11-14 18:54:06,520 INFO L273 TraceCheckUtils]: 52: Hoare triple {6069#(exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12)))} assume !(~cond == 0); {6069#(exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12)))} is VALID [2018-11-14 18:54:06,520 INFO L273 TraceCheckUtils]: 53: Hoare triple {6069#(exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12)))} assume true; {6069#(exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12)))} is VALID [2018-11-14 18:54:06,521 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {6069#(exists ((|v_main_~#a~0.base_BEFORE_CALL_8| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_8|) 12)))} {6118#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} #69#return; {6118#(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-14 18:54:06,522 INFO L273 TraceCheckUtils]: 55: Hoare triple {6118#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {6118#(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-14 18:54:06,523 INFO L273 TraceCheckUtils]: 56: Hoare triple {6118#(and (= main_~i~0 2) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {6146#(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-14 18:54:06,523 INFO L273 TraceCheckUtils]: 57: Hoare triple {6146#(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 true; {6146#(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-14 18:54:06,524 INFO L273 TraceCheckUtils]: 58: Hoare triple {6146#(and (= main_~i~0 3) (= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6153#(and (= main_~i~0 3) (<= 3 |main_#t~mem4|))} is VALID [2018-11-14 18:54:06,525 INFO L256 TraceCheckUtils]: 59: Hoare triple {6153#(and (= main_~i~0 3) (<= 3 |main_#t~mem4|))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6157#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 18:54:06,526 INFO L273 TraceCheckUtils]: 60: Hoare triple {6157#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {6161#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 18:54:06,526 INFO L273 TraceCheckUtils]: 61: Hoare triple {6161#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {5949#false} is VALID [2018-11-14 18:54:06,527 INFO L273 TraceCheckUtils]: 62: Hoare triple {5949#false} assume !false; {5949#false} is VALID [2018-11-14 18:54:06,535 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 0 proven. 74 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2018-11-14 18:54:06,556 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:54:06,556 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 17] total 31 [2018-11-14 18:54:06,557 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 63 [2018-11-14 18:54:06,557 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:54:06,557 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states. [2018-11-14 18:54:06,678 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:54:06,679 INFO L459 AbstractCegarLoop]: Interpolant automaton has 31 states [2018-11-14 18:54:06,679 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2018-11-14 18:54:06,680 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=103, Invalid=827, Unknown=0, NotChecked=0, Total=930 [2018-11-14 18:54:06,680 INFO L87 Difference]: Start difference. First operand 126 states and 132 transitions. Second operand 31 states. [2018-11-14 18:54:11,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:54:11,357 INFO L93 Difference]: Finished difference Result 222 states and 231 transitions. [2018-11-14 18:54:11,357 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2018-11-14 18:54:11,357 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 63 [2018-11-14 18:54:11,358 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:54:11,358 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-14 18:54:11,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 119 transitions. [2018-11-14 18:54:11,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-14 18:54:11,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 119 transitions. [2018-11-14 18:54:11,369 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 37 states and 119 transitions. [2018-11-14 18:54:11,876 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:54:11,882 INFO L225 Difference]: With dead ends: 222 [2018-11-14 18:54:11,883 INFO L226 Difference]: Without dead ends: 220 [2018-11-14 18:54:11,884 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 45 SyntacticMatches, 6 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 594 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=226, Invalid=1936, Unknown=0, NotChecked=0, Total=2162 [2018-11-14 18:54:11,884 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 220 states. [2018-11-14 18:54:13,335 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 220 to 179. [2018-11-14 18:54:13,335 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:54:13,335 INFO L82 GeneralOperation]: Start isEquivalent. First operand 220 states. Second operand 179 states. [2018-11-14 18:54:13,335 INFO L74 IsIncluded]: Start isIncluded. First operand 220 states. Second operand 179 states. [2018-11-14 18:54:13,335 INFO L87 Difference]: Start difference. First operand 220 states. Second operand 179 states. [2018-11-14 18:54:13,341 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:54:13,341 INFO L93 Difference]: Finished difference Result 220 states and 229 transitions. [2018-11-14 18:54:13,342 INFO L276 IsEmpty]: Start isEmpty. Operand 220 states and 229 transitions. [2018-11-14 18:54:13,342 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:54:13,343 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:54:13,343 INFO L74 IsIncluded]: Start isIncluded. First operand 179 states. Second operand 220 states. [2018-11-14 18:54:13,343 INFO L87 Difference]: Start difference. First operand 179 states. Second operand 220 states. [2018-11-14 18:54:13,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:54:13,349 INFO L93 Difference]: Finished difference Result 220 states and 229 transitions. [2018-11-14 18:54:13,349 INFO L276 IsEmpty]: Start isEmpty. Operand 220 states and 229 transitions. [2018-11-14 18:54:13,350 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:54:13,350 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:54:13,350 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:54:13,350 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:54:13,350 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 179 states. [2018-11-14 18:54:13,354 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 179 states to 179 states and 186 transitions. [2018-11-14 18:54:13,355 INFO L78 Accepts]: Start accepts. Automaton has 179 states and 186 transitions. Word has length 63 [2018-11-14 18:54:13,355 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:54:13,355 INFO L480 AbstractCegarLoop]: Abstraction has 179 states and 186 transitions. [2018-11-14 18:54:13,355 INFO L481 AbstractCegarLoop]: Interpolant automaton has 31 states. [2018-11-14 18:54:13,355 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 186 transitions. [2018-11-14 18:54:13,356 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2018-11-14 18:54:13,356 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:54:13,357 INFO L375 BasicCegarLoop]: trace histogram [8, 7, 7, 7, 6, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:54:13,357 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:54:13,357 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:54:13,357 INFO L82 PathProgramCache]: Analyzing trace with hash 40309764, now seen corresponding path program 9 times [2018-11-14 18:54:13,357 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:54:13,357 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:54:13,358 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:54:13,358 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:54:13,358 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:54:13,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:54:14,458 INFO L256 TraceCheckUtils]: 0: Hoare triple {7167#true} call ULTIMATE.init(); {7167#true} is VALID [2018-11-14 18:54:14,458 INFO L273 TraceCheckUtils]: 1: Hoare triple {7167#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {7167#true} is VALID [2018-11-14 18:54:14,458 INFO L273 TraceCheckUtils]: 2: Hoare triple {7167#true} assume true; {7167#true} is VALID [2018-11-14 18:54:14,458 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7167#true} {7167#true} #65#return; {7167#true} is VALID [2018-11-14 18:54:14,459 INFO L256 TraceCheckUtils]: 4: Hoare triple {7167#true} call #t~ret5 := main(); {7167#true} is VALID [2018-11-14 18:54:14,459 INFO L273 TraceCheckUtils]: 5: Hoare triple {7167#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {7167#true} is VALID [2018-11-14 18:54:14,459 INFO L273 TraceCheckUtils]: 6: Hoare triple {7167#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {7169#(= main_~i~0 0)} is VALID [2018-11-14 18:54:14,460 INFO L273 TraceCheckUtils]: 7: Hoare triple {7169#(= main_~i~0 0)} assume true; {7169#(= main_~i~0 0)} is VALID [2018-11-14 18:54:14,460 INFO L273 TraceCheckUtils]: 8: Hoare triple {7169#(= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0); {7169#(= main_~i~0 0)} is VALID [2018-11-14 18:54:14,461 INFO L273 TraceCheckUtils]: 9: Hoare triple {7169#(= main_~i~0 0)} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {7169#(= main_~i~0 0)} is VALID [2018-11-14 18:54:14,461 INFO L273 TraceCheckUtils]: 10: Hoare triple {7169#(= main_~i~0 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7169#(= main_~i~0 0)} is VALID [2018-11-14 18:54:14,461 INFO L273 TraceCheckUtils]: 11: Hoare triple {7169#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {7170#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:54:14,462 INFO L273 TraceCheckUtils]: 12: Hoare triple {7170#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume true; {7170#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:54:14,462 INFO L273 TraceCheckUtils]: 13: Hoare triple {7170#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume !!(~i~0 < ~SIZE~0); {7170#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:54:14,463 INFO L273 TraceCheckUtils]: 14: Hoare triple {7170#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {7170#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:54:14,463 INFO L273 TraceCheckUtils]: 15: Hoare triple {7170#(and (<= 1 main_~i~0) (<= main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7170#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:54:14,464 INFO L273 TraceCheckUtils]: 16: Hoare triple {7170#(and (<= 1 main_~i~0) (<= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {7171#(= (* 4 main_~i~0) 8)} is VALID [2018-11-14 18:54:14,464 INFO L273 TraceCheckUtils]: 17: Hoare triple {7171#(= (* 4 main_~i~0) 8)} assume true; {7171#(= (* 4 main_~i~0) 8)} is VALID [2018-11-14 18:54:14,465 INFO L273 TraceCheckUtils]: 18: Hoare triple {7171#(= (* 4 main_~i~0) 8)} assume !!(~i~0 < ~SIZE~0); {7171#(= (* 4 main_~i~0) 8)} is VALID [2018-11-14 18:54:14,465 INFO L273 TraceCheckUtils]: 19: Hoare triple {7171#(= (* 4 main_~i~0) 8)} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {7171#(= (* 4 main_~i~0) 8)} is VALID [2018-11-14 18:54:14,466 INFO L273 TraceCheckUtils]: 20: Hoare triple {7171#(= (* 4 main_~i~0) 8)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7172#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= (* 4 main_~i~0) 8))} is VALID [2018-11-14 18:54:14,467 INFO L273 TraceCheckUtils]: 21: Hoare triple {7172#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= (* 4 main_~i~0) 8))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {7173#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 1) main_~i~0) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:54:14,468 INFO L273 TraceCheckUtils]: 22: Hoare triple {7173#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 1) main_~i~0) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} assume true; {7173#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 1) main_~i~0) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:54:14,469 INFO L273 TraceCheckUtils]: 23: Hoare triple {7173#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 1) main_~i~0) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} assume !!(~i~0 < ~SIZE~0); {7173#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 1) main_~i~0) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:54:14,491 INFO L273 TraceCheckUtils]: 24: Hoare triple {7173#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 1) main_~i~0) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {7173#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 1) main_~i~0) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:54:14,492 INFO L273 TraceCheckUtils]: 25: Hoare triple {7173#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 1) main_~i~0) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7173#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 1) main_~i~0) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:54:14,493 INFO L273 TraceCheckUtils]: 26: Hoare triple {7173#(and (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 1) main_~i~0) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {7174#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 2) main_~i~0))} is VALID [2018-11-14 18:54:14,494 INFO L273 TraceCheckUtils]: 27: Hoare triple {7174#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 2) main_~i~0))} assume true; {7174#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 2) main_~i~0))} is VALID [2018-11-14 18:54:14,495 INFO L273 TraceCheckUtils]: 28: Hoare triple {7174#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 2) main_~i~0))} assume !!(~i~0 < ~SIZE~0); {7174#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 2) main_~i~0))} is VALID [2018-11-14 18:54:14,496 INFO L273 TraceCheckUtils]: 29: Hoare triple {7174#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 2) main_~i~0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {7174#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 2) main_~i~0))} is VALID [2018-11-14 18:54:14,497 INFO L273 TraceCheckUtils]: 30: Hoare triple {7174#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 2) main_~i~0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7174#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 2) main_~i~0))} is VALID [2018-11-14 18:54:14,498 INFO L273 TraceCheckUtils]: 31: Hoare triple {7174#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 2) main_~i~0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {7175#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 3) main_~i~0))} is VALID [2018-11-14 18:54:14,499 INFO L273 TraceCheckUtils]: 32: Hoare triple {7175#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 3) main_~i~0))} assume true; {7175#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 3) main_~i~0))} is VALID [2018-11-14 18:54:14,500 INFO L273 TraceCheckUtils]: 33: Hoare triple {7175#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 3) main_~i~0))} assume !!(~i~0 < ~SIZE~0); {7175#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 3) main_~i~0))} is VALID [2018-11-14 18:54:14,501 INFO L273 TraceCheckUtils]: 34: Hoare triple {7175#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 3) main_~i~0))} assume ~i~0 + 1 < ~SIZE~0;call write~int(~i~0, ~#a~0.base, ~#a~0.offset + (~i~0 + 1) * 4, 4); {7175#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 3) main_~i~0))} is VALID [2018-11-14 18:54:14,503 INFO L273 TraceCheckUtils]: 35: Hoare triple {7175#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 3) main_~i~0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7175#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 3) main_~i~0))} is VALID [2018-11-14 18:54:14,504 INFO L273 TraceCheckUtils]: 36: Hoare triple {7175#(and (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) 4) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))) (<= (+ (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))) 4) 3) main_~i~0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {7176#(<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-14 18:54:14,504 INFO L273 TraceCheckUtils]: 37: Hoare triple {7176#(<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} assume true; {7176#(<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-14 18:54:14,505 INFO L273 TraceCheckUtils]: 38: Hoare triple {7176#(<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} assume !!(~i~0 < ~SIZE~0); {7176#(<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-14 18:54:14,505 INFO L273 TraceCheckUtils]: 39: Hoare triple {7176#(<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} assume !(~i~0 + 1 < ~SIZE~0); {7176#(<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-14 18:54:14,506 INFO L273 TraceCheckUtils]: 40: Hoare triple {7176#(<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7177#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-14 18:54:14,507 INFO L273 TraceCheckUtils]: 41: Hoare triple {7177#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {7177#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-14 18:54:14,508 INFO L273 TraceCheckUtils]: 42: Hoare triple {7177#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} assume true; {7177#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-14 18:54:14,508 INFO L273 TraceCheckUtils]: 43: Hoare triple {7177#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} assume !(~i~0 < ~SIZE~0); {7177#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} is VALID [2018-11-14 18:54:14,509 INFO L273 TraceCheckUtils]: 44: Hoare triple {7177#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4))))} ~i~0 := 0; {7178#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:54:14,509 INFO L273 TraceCheckUtils]: 45: Hoare triple {7178#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} assume true; {7178#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:54:14,510 INFO L273 TraceCheckUtils]: 46: Hoare triple {7178#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7178#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:54:14,510 INFO L256 TraceCheckUtils]: 47: Hoare triple {7178#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7167#true} is VALID [2018-11-14 18:54:14,511 INFO L273 TraceCheckUtils]: 48: Hoare triple {7167#true} ~cond := #in~cond; {7179#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-14 18:54:14,511 INFO L273 TraceCheckUtils]: 49: Hoare triple {7179#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(~cond == 0); {7180#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:54:14,512 INFO L273 TraceCheckUtils]: 50: Hoare triple {7180#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7180#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:54:14,513 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {7180#(not (= |__VERIFIER_assert_#in~cond| 0))} {7178#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} #69#return; {7178#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:54:14,514 INFO L273 TraceCheckUtils]: 52: Hoare triple {7178#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} havoc #t~mem4; {7178#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} is VALID [2018-11-14 18:54:14,515 INFO L273 TraceCheckUtils]: 53: Hoare triple {7178#(and (= main_~i~0 0) (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 1) 4)))))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {7181#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-14 18:54:14,515 INFO L273 TraceCheckUtils]: 54: Hoare triple {7181#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} assume true; {7181#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-14 18:54:14,516 INFO L273 TraceCheckUtils]: 55: Hoare triple {7181#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7181#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-14 18:54:14,516 INFO L256 TraceCheckUtils]: 56: Hoare triple {7181#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7167#true} is VALID [2018-11-14 18:54:14,516 INFO L273 TraceCheckUtils]: 57: Hoare triple {7167#true} ~cond := #in~cond; {7167#true} is VALID [2018-11-14 18:54:14,517 INFO L273 TraceCheckUtils]: 58: Hoare triple {7167#true} assume !(~cond == 0); {7167#true} is VALID [2018-11-14 18:54:14,517 INFO L273 TraceCheckUtils]: 59: Hoare triple {7167#true} assume true; {7167#true} is VALID [2018-11-14 18:54:14,518 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {7167#true} {7181#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} #69#return; {7181#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-14 18:54:14,518 INFO L273 TraceCheckUtils]: 61: Hoare triple {7181#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} havoc #t~mem4; {7181#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} is VALID [2018-11-14 18:54:14,519 INFO L273 TraceCheckUtils]: 62: Hoare triple {7181#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 main_~i~0) 4))))} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {7182#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-14 18:54:14,520 INFO L273 TraceCheckUtils]: 63: Hoare triple {7182#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume true; {7182#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-14 18:54:14,521 INFO L273 TraceCheckUtils]: 64: Hoare triple {7182#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7183#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-14 18:54:14,522 INFO L256 TraceCheckUtils]: 65: Hoare triple {7183#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7180#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:54:14,522 INFO L273 TraceCheckUtils]: 66: Hoare triple {7180#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {7184#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-14 18:54:14,523 INFO L273 TraceCheckUtils]: 67: Hoare triple {7184#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {7168#false} is VALID [2018-11-14 18:54:14,523 INFO L273 TraceCheckUtils]: 68: Hoare triple {7168#false} assume !false; {7168#false} is VALID [2018-11-14 18:54:14,537 INFO L134 CoverageAnalysis]: Checked inductivity of 138 backedges. 20 proven. 117 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-14 18:54:14,537 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:54:14,537 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-14 18:54:14,546 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-14 18:54:14,617 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 8 check-sat command(s) [2018-11-14 18:54:14,618 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:54:14,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:54:14,636 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:54:14,815 INFO L477 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-14 18:54:14,823 INFO L477 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-14 18:54:14,832 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:54:14,836 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:54:14,843 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:54:14,843 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:21, output treesize:17 [2018-11-14 18:54:15,001 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 21 [2018-11-14 18:54:15,012 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,013 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,014 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 43 [2018-11-14 18:54:15,019 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:54:15,030 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:54:15,039 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:54:15,039 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:29, output treesize:25 [2018-11-14 18:54:15,102 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 30 [2018-11-14 18:54:15,114 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,116 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,117 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,118 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,119 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 86 [2018-11-14 18:54:15,125 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:54:15,141 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:54:15,192 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:54:15,192 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:40, output treesize:36 [2018-11-14 18:54:15,355 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 49 treesize of output 40 [2018-11-14 18:54:15,367 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,368 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,370 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,371 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,373 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,374 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,376 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,377 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,379 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,380 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 9 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 157 [2018-11-14 18:54:15,386 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:54:15,414 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:54:15,431 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-14 18:54:15,432 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:57, output treesize:53 [2018-11-14 18:54:15,517 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 49 [2018-11-14 18:54:15,529 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,530 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,532 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,534 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,535 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,537 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,539 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,540 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,543 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,545 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,546 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,548 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:15,560 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 12 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 49 treesize of output 234 [2018-11-14 18:54:15,565 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-14 18:54:15,675 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-14 18:54:15,727 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-14 18:54:15,727 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:68, output treesize:115 [2018-11-14 18:54:15,751 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:54:16,228 INFO L477 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 85 treesize of output 72 [2018-11-14 18:54:16,238 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,240 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,242 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,244 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,246 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,247 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,249 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,251 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,253 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,254 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,256 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,258 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,259 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,261 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,263 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,264 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,266 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,268 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,270 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,271 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,273 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,275 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 21 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 59 treesize of output 343 [2018-11-14 18:54:16,279 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:54:16,369 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:54:16,438 INFO L477 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 71 treesize of output 60 [2018-11-14 18:54:16,469 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,470 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,472 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,473 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,475 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,476 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,478 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,480 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,481 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,483 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,485 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,486 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,488 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,490 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,491 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,493 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:16,495 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 16 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 52 treesize of output 276 [2018-11-14 18:54:16,501 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-14 18:54:16,557 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:54:16,616 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-2 vars, End of recursive call: 3 dim-0 vars, and 2 xjuncts. [2018-11-14 18:54:16,617 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 5 variables, input treesize:157, output treesize:149 [2018-11-14 18:54:17,123 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 96 treesize of output 81 [2018-11-14 18:54:17,140 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,142 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,144 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,146 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,148 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,149 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,151 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,153 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,155 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,158 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,159 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,162 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,185 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,186 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,188 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,189 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,191 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,195 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,197 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,199 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,201 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,203 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,205 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,207 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,213 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,215 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,229 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 26 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 68 treesize of output 454 [2018-11-14 18:54:17,236 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-14 18:54:17,526 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-14 18:54:17,659 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 82 treesize of output 69 [2018-11-14 18:54:17,671 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,672 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,673 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,675 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,677 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,678 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,698 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,699 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,701 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,703 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,704 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,707 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,708 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,710 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,712 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,713 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,715 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,717 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,719 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,721 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:17,736 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 20 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 61 treesize of output 375 [2018-11-14 18:54:17,743 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 2 xjuncts. [2018-11-14 18:54:17,960 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-14 18:54:18,161 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 2 dim-2 vars, End of recursive call: 8 dim-0 vars, and 4 xjuncts. [2018-11-14 18:54:18,161 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 7 variables, input treesize:179, output treesize:315 [2018-11-14 18:54:20,218 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:54:22,116 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 107 treesize of output 90 [2018-11-14 18:54:22,137 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,139 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,141 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,143 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,146 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,147 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,150 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,151 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,153 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,156 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,158 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,164 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,167 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,168 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,169 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,175 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,177 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,182 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,188 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,190 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,195 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,205 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,207 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,208 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,216 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,217 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,221 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:22,233 INFO L303 Elim1Store]: Index analysis took 101 ms [2018-11-14 18:54:22,336 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 27 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 14 case distinctions, treesize of input 77 treesize of output 411 [2018-11-14 18:54:22,350 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 8 xjuncts. [2018-11-14 18:54:23,084 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 4 xjuncts. [2018-11-14 18:54:27,266 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 93 treesize of output 78 [2018-11-14 18:54:27,280 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,282 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,283 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,285 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,288 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,292 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,295 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,297 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,299 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,303 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,305 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,307 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,311 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,313 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,319 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,325 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,326 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,329 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,333 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,335 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,340 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:27,416 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 21 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 12 case distinctions, treesize of input 70 treesize of output 322 [2018-11-14 18:54:27,428 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 4 xjuncts. [2018-11-14 18:54:27,759 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 3 xjuncts. [2018-11-14 18:54:29,350 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 93 treesize of output 78 [2018-11-14 18:54:29,366 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,368 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,369 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,370 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,372 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,377 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,378 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,379 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,381 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,385 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,386 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,389 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,392 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,394 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,398 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,406 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,408 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,410 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,413 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,416 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,419 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:29,499 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 21 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 12 case distinctions, treesize of input 70 treesize of output 322 [2018-11-14 18:54:29,507 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 4 xjuncts. [2018-11-14 18:54:29,824 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 3 xjuncts. [2018-11-14 18:54:30,781 INFO L477 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 81 treesize of output 68 [2018-11-14 18:54:30,795 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:30,797 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:30,798 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:30,800 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:30,804 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:30,806 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:30,808 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:30,812 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:30,814 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:30,819 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:30,826 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:30,829 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:30,831 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:30,835 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:30,837 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:30,842 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:30,901 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 16 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 10 case distinctions, treesize of input 65 treesize of output 247 [2018-11-14 18:54:30,909 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 2 xjuncts. [2018-11-14 18:54:31,089 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-14 18:54:31,764 INFO L267 ElimStorePlain]: Start of recursive call 1: 12 dim-0 vars, 4 dim-2 vars, End of recursive call: 30 dim-0 vars, and 12 xjuncts. [2018-11-14 18:54:31,765 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 16 variables, input treesize:375, output treesize:1073 [2018-11-14 18:54:33,964 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN.