java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerCInline_WitnessPrinter.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/array-tiling/pr5_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 12:21:18,866 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:21:18,871 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:21:18,888 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:21:18,889 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:21:18,891 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:21:18,893 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:21:18,895 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:21:18,898 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:21:18,905 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:21:18,907 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:21:18,908 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:21:18,909 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:21:18,910 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:21:18,913 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:21:18,914 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:21:18,915 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:21:18,918 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:21:18,923 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:21:18,924 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:21:18,925 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:21:18,927 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:21:18,928 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:21:18,929 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:21:18,929 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:21:18,930 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:21:18,931 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:21:18,931 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:21:18,932 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:21:18,933 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:21:18,933 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:21:18,934 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:21:18,934 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:21:18,934 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:21:18,935 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:21:18,936 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:21:18,936 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 12:21:18,956 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:21:18,957 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:21:18,957 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:21:18,958 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 12:21:18,958 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:21:18,959 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:21:18,959 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 12:21:18,959 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:21:18,959 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:21:18,959 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:21:18,960 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:21:18,960 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:21:18,960 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:21:18,960 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:21:18,960 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:21:18,961 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:21:18,961 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:21:18,961 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:21:18,961 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:21:18,961 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:21:18,962 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 12:21:18,962 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:21:18,962 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 12:21:18,962 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:21:18,962 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:21:18,963 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:21:18,963 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:21:18,963 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 12:21:18,963 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:21:18,963 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:21:18,964 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 12:21:19,016 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:21:19,029 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:21:19,032 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:21:19,034 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:21:19,034 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:21:19,035 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-tiling/pr5_true-unreach-call.i [2018-11-23 12:21:19,097 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a5f19c852/9636b145142143e393c0243c5a07697a/FLAG1f5ad1294 [2018-11-23 12:21:19,541 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:21:19,542 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-tiling/pr5_true-unreach-call.i [2018-11-23 12:21:19,553 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a5f19c852/9636b145142143e393c0243c5a07697a/FLAG1f5ad1294 [2018-11-23 12:21:19,899 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a5f19c852/9636b145142143e393c0243c5a07697a [2018-11-23 12:21:19,912 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:21:19,917 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:21:19,918 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:21:19,918 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:21:19,925 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:21:19,927 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:21:19" (1/1) ... [2018-11-23 12:21:19,930 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@15d94582 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:19, skipping insertion in model container [2018-11-23 12:21:19,931 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:21:19" (1/1) ... [2018-11-23 12:21:19,941 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:21:19,968 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:21:20,219 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:21:20,226 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:21:20,261 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:21:20,293 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:21:20,294 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:20 WrapperNode [2018-11-23 12:21:20,294 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:21:20,295 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:21:20,296 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:21:20,296 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:21:20,306 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:20" (1/1) ... [2018-11-23 12:21:20,317 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:20" (1/1) ... [2018-11-23 12:21:20,327 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:21:20,328 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:21:20,328 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:21:20,328 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:21:20,339 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:20" (1/1) ... [2018-11-23 12:21:20,339 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:20" (1/1) ... [2018-11-23 12:21:20,342 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:20" (1/1) ... [2018-11-23 12:21:20,342 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:20" (1/1) ... [2018-11-23 12:21:20,356 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:20" (1/1) ... [2018-11-23 12:21:20,367 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:20" (1/1) ... [2018-11-23 12:21:20,370 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:20" (1/1) ... [2018-11-23 12:21:20,373 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:21:20,373 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:21:20,373 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:21:20,374 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:21:20,375 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:20" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:21:20,510 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 12:21:20,511 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 12:21:20,511 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 12:21:20,511 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:21:20,511 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:21:20,511 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:21:20,512 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 12:21:20,512 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 12:21:20,512 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 12:21:20,512 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 12:21:20,512 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 12:21:20,513 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:21:21,428 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:21:21,428 INFO L280 CfgBuilder]: Removed 2 assue(true) statements. [2018-11-23 12:21:21,429 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:21:21 BoogieIcfgContainer [2018-11-23 12:21:21,429 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:21:21,430 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 12:21:21,430 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 12:21:21,434 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 12:21:21,434 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:21:19" (1/3) ... [2018-11-23 12:21:21,435 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6bc2195a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:21:21, skipping insertion in model container [2018-11-23 12:21:21,435 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:20" (2/3) ... [2018-11-23 12:21:21,436 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6bc2195a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:21:21, skipping insertion in model container [2018-11-23 12:21:21,436 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:21:21" (3/3) ... [2018-11-23 12:21:21,439 INFO L112 eAbstractionObserver]: Analyzing ICFG pr5_true-unreach-call.i [2018-11-23 12:21:21,449 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 12:21:21,460 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 12:21:21,480 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 12:21:21,518 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 12:21:21,519 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 12:21:21,519 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 12:21:21,519 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 12:21:21,520 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 12:21:21,520 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 12:21:21,520 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 12:21:21,520 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 12:21:21,520 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 12:21:21,538 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states. [2018-11-23 12:21:21,544 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 12:21:21,545 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:21,545 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:21,547 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:21,553 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:21,553 INFO L82 PathProgramCache]: Analyzing trace with hash 65656709, now seen corresponding path program 1 times [2018-11-23 12:21:21,555 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:21,555 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:21,603 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:21,604 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:21,604 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:21,682 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:21,868 INFO L256 TraceCheckUtils]: 0: Hoare triple {36#true} call ULTIMATE.init(); {36#true} is VALID [2018-11-23 12:21:21,872 INFO L273 TraceCheckUtils]: 1: Hoare triple {36#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {36#true} is VALID [2018-11-23 12:21:21,873 INFO L273 TraceCheckUtils]: 2: Hoare triple {36#true} assume true; {36#true} is VALID [2018-11-23 12:21:21,873 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {36#true} {36#true} #95#return; {36#true} is VALID [2018-11-23 12:21:21,873 INFO L256 TraceCheckUtils]: 4: Hoare triple {36#true} call #t~ret7 := main(); {36#true} is VALID [2018-11-23 12:21:21,874 INFO L273 TraceCheckUtils]: 5: Hoare triple {36#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {36#true} is VALID [2018-11-23 12:21:21,874 INFO L273 TraceCheckUtils]: 6: Hoare triple {36#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {36#true} is VALID [2018-11-23 12:21:21,874 INFO L273 TraceCheckUtils]: 7: Hoare triple {36#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {36#true} is VALID [2018-11-23 12:21:21,875 INFO L273 TraceCheckUtils]: 8: Hoare triple {36#true} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {36#true} is VALID [2018-11-23 12:21:21,875 INFO L273 TraceCheckUtils]: 9: Hoare triple {36#true} ~i~0 := 0; {36#true} is VALID [2018-11-23 12:21:21,875 INFO L273 TraceCheckUtils]: 10: Hoare triple {36#true} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {36#true} is VALID [2018-11-23 12:21:21,878 INFO L273 TraceCheckUtils]: 11: Hoare triple {36#true} assume #t~short6; {38#|main_#t~short6|} is VALID [2018-11-23 12:21:21,885 INFO L256 TraceCheckUtils]: 12: Hoare triple {38#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {39#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-23 12:21:21,887 INFO L273 TraceCheckUtils]: 13: Hoare triple {39#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {40#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:21:21,890 INFO L273 TraceCheckUtils]: 14: Hoare triple {40#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {37#false} is VALID [2018-11-23 12:21:21,891 INFO L273 TraceCheckUtils]: 15: Hoare triple {37#false} assume !false; {37#false} is VALID [2018-11-23 12:21:21,894 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:21,897 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:21:21,897 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 12:21:21,902 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 16 [2018-11-23 12:21:21,905 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:21,909 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 12:21:22,129 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:22,129 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 12:21:22,140 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 12:21:22,141 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:21:22,145 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 5 states. [2018-11-23 12:21:22,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:22,856 INFO L93 Difference]: Finished difference Result 57 states and 75 transitions. [2018-11-23 12:21:22,856 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 12:21:22,856 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 16 [2018-11-23 12:21:22,856 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:22,858 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:21:22,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2018-11-23 12:21:22,870 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:21:22,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2018-11-23 12:21:22,876 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2018-11-23 12:21:23,315 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:23,328 INFO L225 Difference]: With dead ends: 57 [2018-11-23 12:21:23,329 INFO L226 Difference]: Without dead ends: 33 [2018-11-23 12:21:23,332 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2018-11-23 12:21:23,349 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2018-11-23 12:21:23,379 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2018-11-23 12:21:23,380 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:23,380 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand 32 states. [2018-11-23 12:21:23,381 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 32 states. [2018-11-23 12:21:23,381 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 32 states. [2018-11-23 12:21:23,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:23,386 INFO L93 Difference]: Finished difference Result 33 states and 40 transitions. [2018-11-23 12:21:23,386 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 40 transitions. [2018-11-23 12:21:23,387 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:23,387 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:23,387 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 33 states. [2018-11-23 12:21:23,388 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 33 states. [2018-11-23 12:21:23,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:23,392 INFO L93 Difference]: Finished difference Result 33 states and 40 transitions. [2018-11-23 12:21:23,393 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 40 transitions. [2018-11-23 12:21:23,393 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:23,394 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:23,394 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:23,394 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:23,394 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-23 12:21:23,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 39 transitions. [2018-11-23 12:21:23,400 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 39 transitions. Word has length 16 [2018-11-23 12:21:23,400 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:23,400 INFO L480 AbstractCegarLoop]: Abstraction has 32 states and 39 transitions. [2018-11-23 12:21:23,400 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 12:21:23,401 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 39 transitions. [2018-11-23 12:21:23,401 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 12:21:23,402 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:23,402 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:23,402 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:23,403 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:23,403 INFO L82 PathProgramCache]: Analyzing trace with hash 67503751, now seen corresponding path program 1 times [2018-11-23 12:21:23,403 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:23,403 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:23,404 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:23,404 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:23,405 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:23,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:23,609 INFO L256 TraceCheckUtils]: 0: Hoare triple {223#true} call ULTIMATE.init(); {223#true} is VALID [2018-11-23 12:21:23,610 INFO L273 TraceCheckUtils]: 1: Hoare triple {223#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {223#true} is VALID [2018-11-23 12:21:23,610 INFO L273 TraceCheckUtils]: 2: Hoare triple {223#true} assume true; {223#true} is VALID [2018-11-23 12:21:23,611 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {223#true} {223#true} #95#return; {223#true} is VALID [2018-11-23 12:21:23,611 INFO L256 TraceCheckUtils]: 4: Hoare triple {223#true} call #t~ret7 := main(); {223#true} is VALID [2018-11-23 12:21:23,612 INFO L273 TraceCheckUtils]: 5: Hoare triple {223#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {223#true} is VALID [2018-11-23 12:21:23,613 INFO L273 TraceCheckUtils]: 6: Hoare triple {223#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {225#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:21:23,616 INFO L273 TraceCheckUtils]: 7: Hoare triple {225#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {226#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:21:23,627 INFO L273 TraceCheckUtils]: 8: Hoare triple {226#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {224#false} is VALID [2018-11-23 12:21:23,627 INFO L273 TraceCheckUtils]: 9: Hoare triple {224#false} ~i~0 := 0; {224#false} is VALID [2018-11-23 12:21:23,627 INFO L273 TraceCheckUtils]: 10: Hoare triple {224#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {224#false} is VALID [2018-11-23 12:21:23,628 INFO L273 TraceCheckUtils]: 11: Hoare triple {224#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {224#false} is VALID [2018-11-23 12:21:23,628 INFO L256 TraceCheckUtils]: 12: Hoare triple {224#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {224#false} is VALID [2018-11-23 12:21:23,629 INFO L273 TraceCheckUtils]: 13: Hoare triple {224#false} ~cond := #in~cond; {224#false} is VALID [2018-11-23 12:21:23,629 INFO L273 TraceCheckUtils]: 14: Hoare triple {224#false} assume 0 == ~cond; {224#false} is VALID [2018-11-23 12:21:23,629 INFO L273 TraceCheckUtils]: 15: Hoare triple {224#false} assume !false; {224#false} is VALID [2018-11-23 12:21:23,631 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:23,631 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:21:23,631 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:21:23,633 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 16 [2018-11-23 12:21:23,633 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:23,634 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:21:23,698 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:23,699 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:21:23,699 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:21:23,699 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:21:23,699 INFO L87 Difference]: Start difference. First operand 32 states and 39 transitions. Second operand 4 states. [2018-11-23 12:21:24,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:24,041 INFO L93 Difference]: Finished difference Result 56 states and 70 transitions. [2018-11-23 12:21:24,041 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:21:24,041 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 16 [2018-11-23 12:21:24,042 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:24,042 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:21:24,047 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 60 transitions. [2018-11-23 12:21:24,047 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:21:24,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 60 transitions. [2018-11-23 12:21:24,051 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 60 transitions. [2018-11-23 12:21:24,169 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:24,173 INFO L225 Difference]: With dead ends: 56 [2018-11-23 12:21:24,175 INFO L226 Difference]: Without dead ends: 39 [2018-11-23 12:21:24,176 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:21:24,176 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2018-11-23 12:21:24,244 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 33. [2018-11-23 12:21:24,244 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:24,244 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand 33 states. [2018-11-23 12:21:24,244 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 33 states. [2018-11-23 12:21:24,245 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 33 states. [2018-11-23 12:21:24,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:24,248 INFO L93 Difference]: Finished difference Result 39 states and 51 transitions. [2018-11-23 12:21:24,249 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 51 transitions. [2018-11-23 12:21:24,249 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:24,249 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:24,250 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 39 states. [2018-11-23 12:21:24,250 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 39 states. [2018-11-23 12:21:24,253 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:24,253 INFO L93 Difference]: Finished difference Result 39 states and 51 transitions. [2018-11-23 12:21:24,253 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 51 transitions. [2018-11-23 12:21:24,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:24,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:24,255 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:24,255 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:24,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 12:21:24,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 40 transitions. [2018-11-23 12:21:24,258 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 40 transitions. Word has length 16 [2018-11-23 12:21:24,258 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:24,258 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 40 transitions. [2018-11-23 12:21:24,258 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:21:24,258 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 40 transitions. [2018-11-23 12:21:24,259 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 12:21:24,259 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:24,260 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:24,260 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:24,260 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:24,260 INFO L82 PathProgramCache]: Analyzing trace with hash -335534155, now seen corresponding path program 1 times [2018-11-23 12:21:24,261 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:24,261 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:24,262 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:24,262 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:24,262 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:24,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:25,222 WARN L180 SmtUtils]: Spent 164.00 ms on a formula simplification. DAG size of input: 37 DAG size of output: 28 [2018-11-23 12:21:25,598 INFO L256 TraceCheckUtils]: 0: Hoare triple {423#true} call ULTIMATE.init(); {423#true} is VALID [2018-11-23 12:21:25,598 INFO L273 TraceCheckUtils]: 1: Hoare triple {423#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {423#true} is VALID [2018-11-23 12:21:25,598 INFO L273 TraceCheckUtils]: 2: Hoare triple {423#true} assume true; {423#true} is VALID [2018-11-23 12:21:25,599 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {423#true} {423#true} #95#return; {423#true} is VALID [2018-11-23 12:21:25,599 INFO L256 TraceCheckUtils]: 4: Hoare triple {423#true} call #t~ret7 := main(); {423#true} is VALID [2018-11-23 12:21:25,599 INFO L273 TraceCheckUtils]: 5: Hoare triple {423#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {423#true} is VALID [2018-11-23 12:21:25,600 INFO L273 TraceCheckUtils]: 6: Hoare triple {423#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {425#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,601 INFO L273 TraceCheckUtils]: 7: Hoare triple {425#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {426#(and (or (and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 19)) (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:25,602 INFO L273 TraceCheckUtils]: 8: Hoare triple {426#(and (or (and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 19)) (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {426#(and (or (and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 19)) (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:25,604 INFO L273 TraceCheckUtils]: 9: Hoare triple {426#(and (or (and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 19)) (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {427#(and (or (and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 19)) (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (not (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20))))))} is VALID [2018-11-23 12:21:25,623 INFO L273 TraceCheckUtils]: 10: Hoare triple {427#(and (or (and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 19)) (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (not (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20))))))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {427#(and (or (and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 19)) (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (not (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20))))))} is VALID [2018-11-23 12:21:25,630 INFO L273 TraceCheckUtils]: 11: Hoare triple {427#(and (or (and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 19)) (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (not (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20))))))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {427#(and (or (and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 19)) (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (not (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20))))))} is VALID [2018-11-23 12:21:25,632 INFO L273 TraceCheckUtils]: 12: Hoare triple {427#(and (or (and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 19)) (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (not (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20))))))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {427#(and (or (and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 19)) (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (not (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20))))))} is VALID [2018-11-23 12:21:25,633 INFO L273 TraceCheckUtils]: 13: Hoare triple {427#(and (or (and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 19)) (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (not (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20))))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {427#(and (or (and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 19)) (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (not (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20))))))} is VALID [2018-11-23 12:21:25,635 INFO L273 TraceCheckUtils]: 14: Hoare triple {427#(and (or (and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 19)) (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (not (= 20 (+ |main_~#volArray~0.offset| (* 20 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {428#(and (or (and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 39)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:25,637 INFO L273 TraceCheckUtils]: 15: Hoare triple {428#(and (or (and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 39)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {429#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} is VALID [2018-11-23 12:21:25,639 INFO L273 TraceCheckUtils]: 16: Hoare triple {429#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} ~i~0 := 0; {430#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:25,641 INFO L273 TraceCheckUtils]: 17: Hoare triple {430#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {431#(and |main_#t~short6| (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:25,642 INFO L273 TraceCheckUtils]: 18: Hoare triple {431#(and |main_#t~short6| (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {424#false} is VALID [2018-11-23 12:21:25,642 INFO L256 TraceCheckUtils]: 19: Hoare triple {424#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {424#false} is VALID [2018-11-23 12:21:25,643 INFO L273 TraceCheckUtils]: 20: Hoare triple {424#false} ~cond := #in~cond; {424#false} is VALID [2018-11-23 12:21:25,644 INFO L273 TraceCheckUtils]: 21: Hoare triple {424#false} assume 0 == ~cond; {424#false} is VALID [2018-11-23 12:21:25,644 INFO L273 TraceCheckUtils]: 22: Hoare triple {424#false} assume !false; {424#false} is VALID [2018-11-23 12:21:25,650 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:25,650 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:21:25,650 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:21:25,670 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:25,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:25,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:25,724 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:21:25,900 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:21:25,908 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:21:25,917 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:25,919 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:25,937 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:25,938 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:19 [2018-11-23 12:21:25,942 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:25,942 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_25|, main_~CCCELVOL5~0]. (and (<= main_~MINVAL~0 main_~CCCELVOL5~0) (= |#memory_int| (store |v_#memory_int_25| |main_~#volArray~0.base| (store (select |v_#memory_int_25| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)) main_~CCCELVOL5~0))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:21:25,943 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))))) [2018-11-23 12:21:26,156 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:21:26,165 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:26,171 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:21:26,182 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:26,191 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:26,210 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:26,211 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-23 12:21:26,216 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:26,216 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_26|, main_~CCCELVOL4~0]. (let ((.cse0 (select |v_#memory_int_26| |main_~#volArray~0.base|)) (.cse1 (* 20 main_~i~0))) (and (<= main_~MINVAL~0 (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 20)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (store |v_#memory_int_26| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 16)) main_~CCCELVOL4~0)) |#memory_int|))) [2018-11-23 12:21:26,216 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))))) [2018-11-23 12:21:26,265 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:21:26,270 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:26,277 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:21:26,279 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:26,288 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:26,300 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:26,301 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-23 12:21:26,317 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:26,317 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_27|, main_~CCCELVOL3~0]. (let ((.cse0 (select |v_#memory_int_27| |main_~#volArray~0.base|)) (.cse1 (* 20 main_~i~0))) (and (<= main_~MINVAL~0 (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 20)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (store |v_#memory_int_27| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 12)) main_~CCCELVOL3~0)) |#memory_int|))) [2018-11-23 12:21:26,318 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))))) [2018-11-23 12:21:26,415 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:21:26,422 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:26,427 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:21:26,429 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:26,450 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:26,463 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:26,464 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-23 12:21:26,466 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:26,466 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_28|, main_~CCCELVOL2~0]. (let ((.cse0 (select |v_#memory_int_28| |main_~#volArray~0.base|)) (.cse1 (* 20 main_~i~0))) (and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 20)))) (= (store |v_#memory_int_28| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 8)) main_~CCCELVOL2~0)) |#memory_int|))) [2018-11-23 12:21:26,467 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))))) [2018-11-23 12:21:26,483 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 16 [2018-11-23 12:21:26,492 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:26,496 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 23 [2018-11-23 12:21:26,518 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:26,543 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:26,551 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:26,552 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:24, output treesize:20 [2018-11-23 12:21:26,723 INFO L256 TraceCheckUtils]: 0: Hoare triple {423#true} call ULTIMATE.init(); {423#true} is VALID [2018-11-23 12:21:26,724 INFO L273 TraceCheckUtils]: 1: Hoare triple {423#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {423#true} is VALID [2018-11-23 12:21:26,724 INFO L273 TraceCheckUtils]: 2: Hoare triple {423#true} assume true; {423#true} is VALID [2018-11-23 12:21:26,725 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {423#true} {423#true} #95#return; {423#true} is VALID [2018-11-23 12:21:26,725 INFO L256 TraceCheckUtils]: 4: Hoare triple {423#true} call #t~ret7 := main(); {423#true} is VALID [2018-11-23 12:21:26,726 INFO L273 TraceCheckUtils]: 5: Hoare triple {423#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {423#true} is VALID [2018-11-23 12:21:26,726 INFO L273 TraceCheckUtils]: 6: Hoare triple {423#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {453#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:21:26,729 INFO L273 TraceCheckUtils]: 7: Hoare triple {453#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {457#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:26,730 INFO L273 TraceCheckUtils]: 8: Hoare triple {457#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {457#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:26,731 INFO L273 TraceCheckUtils]: 9: Hoare triple {457#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {464#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))))} is VALID [2018-11-23 12:21:26,732 INFO L273 TraceCheckUtils]: 10: Hoare triple {464#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {464#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))))} is VALID [2018-11-23 12:21:26,734 INFO L273 TraceCheckUtils]: 11: Hoare triple {464#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {464#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))))} is VALID [2018-11-23 12:21:26,736 INFO L273 TraceCheckUtils]: 12: Hoare triple {464#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {464#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))))} is VALID [2018-11-23 12:21:26,742 INFO L273 TraceCheckUtils]: 13: Hoare triple {464#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {477#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:21:26,743 INFO L273 TraceCheckUtils]: 14: Hoare triple {477#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {477#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:21:26,743 INFO L273 TraceCheckUtils]: 15: Hoare triple {477#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {477#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:21:26,744 INFO L273 TraceCheckUtils]: 16: Hoare triple {477#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} ~i~0 := 0; {487#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:26,745 INFO L273 TraceCheckUtils]: 17: Hoare triple {487#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {491#|main_#t~short6|} is VALID [2018-11-23 12:21:26,746 INFO L273 TraceCheckUtils]: 18: Hoare triple {491#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {424#false} is VALID [2018-11-23 12:21:26,746 INFO L256 TraceCheckUtils]: 19: Hoare triple {424#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {424#false} is VALID [2018-11-23 12:21:26,746 INFO L273 TraceCheckUtils]: 20: Hoare triple {424#false} ~cond := #in~cond; {424#false} is VALID [2018-11-23 12:21:26,747 INFO L273 TraceCheckUtils]: 21: Hoare triple {424#false} assume 0 == ~cond; {424#false} is VALID [2018-11-23 12:21:26,747 INFO L273 TraceCheckUtils]: 22: Hoare triple {424#false} assume !false; {424#false} is VALID [2018-11-23 12:21:26,750 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:26,770 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:21:26,770 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 15 [2018-11-23 12:21:26,771 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 23 [2018-11-23 12:21:26,771 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:26,771 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 12:21:26,895 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:26,895 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 12:21:26,895 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 12:21:26,896 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=162, Unknown=0, NotChecked=0, Total=210 [2018-11-23 12:21:26,896 INFO L87 Difference]: Start difference. First operand 33 states and 40 transitions. Second operand 15 states. [2018-11-23 12:21:30,223 WARN L180 SmtUtils]: Spent 214.00 ms on a formula simplification. DAG size of input: 48 DAG size of output: 29 [2018-11-23 12:21:30,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:30,910 INFO L93 Difference]: Finished difference Result 116 states and 161 transitions. [2018-11-23 12:21:30,910 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-23 12:21:30,910 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 23 [2018-11-23 12:21:30,910 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:30,910 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:21:30,918 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 153 transitions. [2018-11-23 12:21:30,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:21:30,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 153 transitions. [2018-11-23 12:21:30,928 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 153 transitions. [2018-11-23 12:21:31,212 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 153 edges. 153 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:31,219 INFO L225 Difference]: With dead ends: 116 [2018-11-23 12:21:31,219 INFO L226 Difference]: Without dead ends: 100 [2018-11-23 12:21:31,220 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 18 SyntacticMatches, 4 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 164 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=222, Invalid=648, Unknown=0, NotChecked=0, Total=870 [2018-11-23 12:21:31,220 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2018-11-23 12:21:31,283 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 43. [2018-11-23 12:21:31,283 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:31,283 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand 43 states. [2018-11-23 12:21:31,283 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 43 states. [2018-11-23 12:21:31,284 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 43 states. [2018-11-23 12:21:31,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:31,292 INFO L93 Difference]: Finished difference Result 100 states and 142 transitions. [2018-11-23 12:21:31,292 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 142 transitions. [2018-11-23 12:21:31,294 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:31,294 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:31,294 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 100 states. [2018-11-23 12:21:31,295 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 100 states. [2018-11-23 12:21:31,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:31,301 INFO L93 Difference]: Finished difference Result 100 states and 142 transitions. [2018-11-23 12:21:31,302 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 142 transitions. [2018-11-23 12:21:31,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:31,304 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:31,304 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:31,304 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:31,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 43 states. [2018-11-23 12:21:31,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 56 transitions. [2018-11-23 12:21:31,307 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 56 transitions. Word has length 23 [2018-11-23 12:21:31,307 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:31,307 INFO L480 AbstractCegarLoop]: Abstraction has 43 states and 56 transitions. [2018-11-23 12:21:31,307 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 12:21:31,307 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 56 transitions. [2018-11-23 12:21:31,308 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 12:21:31,308 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:31,308 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:31,309 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:31,309 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:31,309 INFO L82 PathProgramCache]: Analyzing trace with hash -1346651405, now seen corresponding path program 1 times [2018-11-23 12:21:31,309 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:31,309 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:31,310 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:31,310 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:31,311 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:31,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:31,932 INFO L256 TraceCheckUtils]: 0: Hoare triple {942#true} call ULTIMATE.init(); {942#true} is VALID [2018-11-23 12:21:31,932 INFO L273 TraceCheckUtils]: 1: Hoare triple {942#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {942#true} is VALID [2018-11-23 12:21:31,933 INFO L273 TraceCheckUtils]: 2: Hoare triple {942#true} assume true; {942#true} is VALID [2018-11-23 12:21:31,933 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {942#true} {942#true} #95#return; {942#true} is VALID [2018-11-23 12:21:31,934 INFO L256 TraceCheckUtils]: 4: Hoare triple {942#true} call #t~ret7 := main(); {942#true} is VALID [2018-11-23 12:21:31,934 INFO L273 TraceCheckUtils]: 5: Hoare triple {942#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {942#true} is VALID [2018-11-23 12:21:31,935 INFO L273 TraceCheckUtils]: 6: Hoare triple {942#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {944#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:31,936 INFO L273 TraceCheckUtils]: 7: Hoare triple {944#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {945#(and (= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 20) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:31,937 INFO L273 TraceCheckUtils]: 8: Hoare triple {945#(and (= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 20) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {945#(and (= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 20) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:31,938 INFO L273 TraceCheckUtils]: 9: Hoare triple {945#(and (= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 20) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL5~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {946#(and (= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 20) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:31,939 INFO L273 TraceCheckUtils]: 10: Hoare triple {946#(and (= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 20) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {946#(and (= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 20) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:31,941 INFO L273 TraceCheckUtils]: 11: Hoare triple {946#(and (= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 20) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {946#(and (= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 20) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:31,944 INFO L273 TraceCheckUtils]: 12: Hoare triple {946#(and (= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 20) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {946#(and (= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 20) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:31,945 INFO L273 TraceCheckUtils]: 13: Hoare triple {946#(and (= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 20) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {946#(and (= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 20) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:31,947 INFO L273 TraceCheckUtils]: 14: Hoare triple {946#(and (= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 20) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {947#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 39))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:31,948 INFO L273 TraceCheckUtils]: 15: Hoare triple {947#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (+ |main_~#volArray~0.offset| (* 20 main_~i~0)) 39))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {948#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:31,949 INFO L273 TraceCheckUtils]: 16: Hoare triple {948#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (= |main_~#volArray~0.offset| 0))} ~i~0 := 0; {949#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:31,950 INFO L273 TraceCheckUtils]: 17: Hoare triple {949#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {949#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:31,952 INFO L273 TraceCheckUtils]: 18: Hoare triple {949#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))) (= main_~i~0 0))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {950#|main_#t~short6|} is VALID [2018-11-23 12:21:31,953 INFO L256 TraceCheckUtils]: 19: Hoare triple {950#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {951#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-23 12:21:31,953 INFO L273 TraceCheckUtils]: 20: Hoare triple {951#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {952#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:21:31,954 INFO L273 TraceCheckUtils]: 21: Hoare triple {952#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {943#false} is VALID [2018-11-23 12:21:31,955 INFO L273 TraceCheckUtils]: 22: Hoare triple {943#false} assume !false; {943#false} is VALID [2018-11-23 12:21:31,958 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:31,958 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:21:31,958 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:21:31,967 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:31,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:32,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:32,026 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:21:32,110 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:21:32,115 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:21:32,118 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:32,120 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:32,128 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:32,129 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-23 12:21:32,171 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:21:32,181 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:32,183 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:21:32,186 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:32,193 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:32,202 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:32,203 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-23 12:21:32,205 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:32,206 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_31|, main_~CCCELVOL4~0]. (let ((.cse0 (select |v_#memory_int_31| |main_~#volArray~0.base|)) (.cse1 (* 20 main_~i~0))) (and (= (store |v_#memory_int_31| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 16)) main_~CCCELVOL4~0)) |#memory_int|) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 20))) 0))) [2018-11-23 12:21:32,206 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:21:32,231 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:21:32,236 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:32,239 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:21:32,241 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:32,248 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:32,257 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:32,257 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-23 12:21:32,260 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:32,260 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_32|, main_~CCCELVOL3~0]. (let ((.cse0 (select |v_#memory_int_32| |main_~#volArray~0.base|)) (.cse1 (* 20 main_~i~0))) (and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 20)))) (= |#memory_int| (store |v_#memory_int_32| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 12)) main_~CCCELVOL3~0))))) [2018-11-23 12:21:32,261 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:21:32,276 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:21:32,281 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:32,283 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:21:32,293 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:32,303 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:32,314 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:32,314 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-23 12:21:32,317 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:32,317 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_33|, main_~CCCELVOL2~0]. (let ((.cse0 (select |v_#memory_int_33| |main_~#volArray~0.base|)) (.cse1 (* 20 main_~i~0))) (and (= |#memory_int| (store |v_#memory_int_33| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 8)) main_~CCCELVOL2~0))) (= (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 20))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))) [2018-11-23 12:21:32,318 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:21:32,332 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 16 [2018-11-23 12:21:32,342 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:32,343 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 23 [2018-11-23 12:21:32,346 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:32,351 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:32,359 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:32,359 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:24, output treesize:20 [2018-11-23 12:21:32,523 INFO L256 TraceCheckUtils]: 0: Hoare triple {942#true} call ULTIMATE.init(); {942#true} is VALID [2018-11-23 12:21:32,524 INFO L273 TraceCheckUtils]: 1: Hoare triple {942#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {942#true} is VALID [2018-11-23 12:21:32,524 INFO L273 TraceCheckUtils]: 2: Hoare triple {942#true} assume true; {942#true} is VALID [2018-11-23 12:21:32,524 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {942#true} {942#true} #95#return; {942#true} is VALID [2018-11-23 12:21:32,524 INFO L256 TraceCheckUtils]: 4: Hoare triple {942#true} call #t~ret7 := main(); {942#true} is VALID [2018-11-23 12:21:32,524 INFO L273 TraceCheckUtils]: 5: Hoare triple {942#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {942#true} is VALID [2018-11-23 12:21:32,530 INFO L273 TraceCheckUtils]: 6: Hoare triple {942#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {974#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:21:32,531 INFO L273 TraceCheckUtils]: 7: Hoare triple {974#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {978#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:32,532 INFO L273 TraceCheckUtils]: 8: Hoare triple {978#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {978#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:32,532 INFO L273 TraceCheckUtils]: 9: Hoare triple {978#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL5~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {985#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:32,533 INFO L273 TraceCheckUtils]: 10: Hoare triple {985#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {985#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:32,534 INFO L273 TraceCheckUtils]: 11: Hoare triple {985#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {985#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:32,535 INFO L273 TraceCheckUtils]: 12: Hoare triple {985#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {985#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:32,536 INFO L273 TraceCheckUtils]: 13: Hoare triple {985#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {998#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:21:32,537 INFO L273 TraceCheckUtils]: 14: Hoare triple {998#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {998#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:21:32,538 INFO L273 TraceCheckUtils]: 15: Hoare triple {998#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {998#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:21:32,539 INFO L273 TraceCheckUtils]: 16: Hoare triple {998#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} ~i~0 := 0; {1008#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:32,540 INFO L273 TraceCheckUtils]: 17: Hoare triple {1008#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {1008#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:32,542 INFO L273 TraceCheckUtils]: 18: Hoare triple {1008#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {950#|main_#t~short6|} is VALID [2018-11-23 12:21:32,542 INFO L256 TraceCheckUtils]: 19: Hoare triple {950#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {1018#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:21:32,557 INFO L273 TraceCheckUtils]: 20: Hoare triple {1018#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1022#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:21:32,558 INFO L273 TraceCheckUtils]: 21: Hoare triple {1022#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {943#false} is VALID [2018-11-23 12:21:32,558 INFO L273 TraceCheckUtils]: 22: Hoare triple {943#false} assume !false; {943#false} is VALID [2018-11-23 12:21:32,559 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:32,578 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:21:32,578 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 18 [2018-11-23 12:21:32,578 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 23 [2018-11-23 12:21:32,579 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:32,579 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 12:21:32,627 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:32,628 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 12:21:32,628 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 12:21:32,628 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=248, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:21:32,629 INFO L87 Difference]: Start difference. First operand 43 states and 56 transitions. Second operand 18 states. [2018-11-23 12:21:36,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:36,073 INFO L93 Difference]: Finished difference Result 118 states and 169 transitions. [2018-11-23 12:21:36,073 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2018-11-23 12:21:36,073 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 23 [2018-11-23 12:21:36,073 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:36,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:21:36,079 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 146 transitions. [2018-11-23 12:21:36,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:21:36,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 146 transitions. [2018-11-23 12:21:36,086 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 146 transitions. [2018-11-23 12:21:36,324 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 146 edges. 146 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:36,329 INFO L225 Difference]: With dead ends: 118 [2018-11-23 12:21:36,330 INFO L226 Difference]: Without dead ends: 116 [2018-11-23 12:21:36,330 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 17 SyntacticMatches, 5 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 245 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=236, Invalid=886, Unknown=0, NotChecked=0, Total=1122 [2018-11-23 12:21:36,331 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2018-11-23 12:21:36,446 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 54. [2018-11-23 12:21:36,447 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:36,447 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand 54 states. [2018-11-23 12:21:36,447 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand 54 states. [2018-11-23 12:21:36,447 INFO L87 Difference]: Start difference. First operand 116 states. Second operand 54 states. [2018-11-23 12:21:36,455 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:36,455 INFO L93 Difference]: Finished difference Result 116 states and 167 transitions. [2018-11-23 12:21:36,455 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 167 transitions. [2018-11-23 12:21:36,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:36,457 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:36,457 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 116 states. [2018-11-23 12:21:36,457 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 116 states. [2018-11-23 12:21:36,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:36,464 INFO L93 Difference]: Finished difference Result 116 states and 167 transitions. [2018-11-23 12:21:36,464 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 167 transitions. [2018-11-23 12:21:36,465 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:36,466 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:36,466 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:36,466 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:36,466 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2018-11-23 12:21:36,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 75 transitions. [2018-11-23 12:21:36,469 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 75 transitions. Word has length 23 [2018-11-23 12:21:36,469 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:36,469 INFO L480 AbstractCegarLoop]: Abstraction has 54 states and 75 transitions. [2018-11-23 12:21:36,469 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 12:21:36,469 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 75 transitions. [2018-11-23 12:21:36,470 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 12:21:36,470 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:36,471 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:36,471 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:36,471 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:36,471 INFO L82 PathProgramCache]: Analyzing trace with hash 1807780357, now seen corresponding path program 1 times [2018-11-23 12:21:36,471 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:36,472 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:36,472 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:36,473 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:36,473 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:36,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:36,604 INFO L256 TraceCheckUtils]: 0: Hoare triple {1513#true} call ULTIMATE.init(); {1513#true} is VALID [2018-11-23 12:21:36,605 INFO L273 TraceCheckUtils]: 1: Hoare triple {1513#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {1513#true} is VALID [2018-11-23 12:21:36,605 INFO L273 TraceCheckUtils]: 2: Hoare triple {1513#true} assume true; {1513#true} is VALID [2018-11-23 12:21:36,605 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1513#true} {1513#true} #95#return; {1513#true} is VALID [2018-11-23 12:21:36,606 INFO L256 TraceCheckUtils]: 4: Hoare triple {1513#true} call #t~ret7 := main(); {1513#true} is VALID [2018-11-23 12:21:36,606 INFO L273 TraceCheckUtils]: 5: Hoare triple {1513#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {1513#true} is VALID [2018-11-23 12:21:36,606 INFO L273 TraceCheckUtils]: 6: Hoare triple {1513#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {1513#true} is VALID [2018-11-23 12:21:36,606 INFO L273 TraceCheckUtils]: 7: Hoare triple {1513#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {1513#true} is VALID [2018-11-23 12:21:36,607 INFO L273 TraceCheckUtils]: 8: Hoare triple {1513#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {1513#true} is VALID [2018-11-23 12:21:36,608 INFO L273 TraceCheckUtils]: 9: Hoare triple {1513#true} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {1515#(< main_~MINVAL~0 (+ main_~CCCELVOL5~0 1))} is VALID [2018-11-23 12:21:36,608 INFO L273 TraceCheckUtils]: 10: Hoare triple {1515#(< main_~MINVAL~0 (+ main_~CCCELVOL5~0 1))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {1515#(< main_~MINVAL~0 (+ main_~CCCELVOL5~0 1))} is VALID [2018-11-23 12:21:36,609 INFO L273 TraceCheckUtils]: 11: Hoare triple {1515#(< main_~MINVAL~0 (+ main_~CCCELVOL5~0 1))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {1515#(< main_~MINVAL~0 (+ main_~CCCELVOL5~0 1))} is VALID [2018-11-23 12:21:36,609 INFO L273 TraceCheckUtils]: 12: Hoare triple {1515#(< main_~MINVAL~0 (+ main_~CCCELVOL5~0 1))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {1515#(< main_~MINVAL~0 (+ main_~CCCELVOL5~0 1))} is VALID [2018-11-23 12:21:36,610 INFO L273 TraceCheckUtils]: 13: Hoare triple {1515#(< main_~MINVAL~0 (+ main_~CCCELVOL5~0 1))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {1515#(< main_~MINVAL~0 (+ main_~CCCELVOL5~0 1))} is VALID [2018-11-23 12:21:36,610 INFO L273 TraceCheckUtils]: 14: Hoare triple {1515#(< main_~MINVAL~0 (+ main_~CCCELVOL5~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1515#(< main_~MINVAL~0 (+ main_~CCCELVOL5~0 1))} is VALID [2018-11-23 12:21:36,610 INFO L273 TraceCheckUtils]: 15: Hoare triple {1515#(< main_~MINVAL~0 (+ main_~CCCELVOL5~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {1515#(< main_~MINVAL~0 (+ main_~CCCELVOL5~0 1))} is VALID [2018-11-23 12:21:36,614 INFO L273 TraceCheckUtils]: 16: Hoare triple {1515#(< main_~MINVAL~0 (+ main_~CCCELVOL5~0 1))} assume !(~CCCELVOL5~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {1514#false} is VALID [2018-11-23 12:21:36,614 INFO L273 TraceCheckUtils]: 17: Hoare triple {1514#false} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {1514#false} is VALID [2018-11-23 12:21:36,615 INFO L273 TraceCheckUtils]: 18: Hoare triple {1514#false} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {1514#false} is VALID [2018-11-23 12:21:36,615 INFO L273 TraceCheckUtils]: 19: Hoare triple {1514#false} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {1514#false} is VALID [2018-11-23 12:21:36,615 INFO L273 TraceCheckUtils]: 20: Hoare triple {1514#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {1514#false} is VALID [2018-11-23 12:21:36,615 INFO L273 TraceCheckUtils]: 21: Hoare triple {1514#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1514#false} is VALID [2018-11-23 12:21:36,616 INFO L273 TraceCheckUtils]: 22: Hoare triple {1514#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {1514#false} is VALID [2018-11-23 12:21:36,616 INFO L273 TraceCheckUtils]: 23: Hoare triple {1514#false} ~i~0 := 0; {1514#false} is VALID [2018-11-23 12:21:36,616 INFO L273 TraceCheckUtils]: 24: Hoare triple {1514#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {1514#false} is VALID [2018-11-23 12:21:36,616 INFO L273 TraceCheckUtils]: 25: Hoare triple {1514#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {1514#false} is VALID [2018-11-23 12:21:36,617 INFO L256 TraceCheckUtils]: 26: Hoare triple {1514#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {1514#false} is VALID [2018-11-23 12:21:36,617 INFO L273 TraceCheckUtils]: 27: Hoare triple {1514#false} ~cond := #in~cond; {1514#false} is VALID [2018-11-23 12:21:36,617 INFO L273 TraceCheckUtils]: 28: Hoare triple {1514#false} assume 0 == ~cond; {1514#false} is VALID [2018-11-23 12:21:36,617 INFO L273 TraceCheckUtils]: 29: Hoare triple {1514#false} assume !false; {1514#false} is VALID [2018-11-23 12:21:36,618 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 9 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:36,618 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:21:36,619 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:21:36,619 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 30 [2018-11-23 12:21:36,619 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:36,619 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:21:36,697 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:36,698 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:21:36,698 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:21:36,698 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:21:36,699 INFO L87 Difference]: Start difference. First operand 54 states and 75 transitions. Second operand 3 states. [2018-11-23 12:21:36,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:36,882 INFO L93 Difference]: Finished difference Result 84 states and 115 transitions. [2018-11-23 12:21:36,882 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:21:36,882 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 30 [2018-11-23 12:21:36,883 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:36,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:21:36,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 81 transitions. [2018-11-23 12:21:36,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:21:36,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 81 transitions. [2018-11-23 12:21:36,887 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 81 transitions. [2018-11-23 12:21:36,967 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:36,970 INFO L225 Difference]: With dead ends: 84 [2018-11-23 12:21:36,970 INFO L226 Difference]: Without dead ends: 60 [2018-11-23 12:21:36,970 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:21:36,971 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2018-11-23 12:21:37,041 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 54. [2018-11-23 12:21:37,042 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:37,042 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand 54 states. [2018-11-23 12:21:37,042 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand 54 states. [2018-11-23 12:21:37,043 INFO L87 Difference]: Start difference. First operand 60 states. Second operand 54 states. [2018-11-23 12:21:37,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:37,046 INFO L93 Difference]: Finished difference Result 60 states and 82 transitions. [2018-11-23 12:21:37,047 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 82 transitions. [2018-11-23 12:21:37,047 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:37,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:37,047 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 60 states. [2018-11-23 12:21:37,048 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 60 states. [2018-11-23 12:21:37,050 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:37,050 INFO L93 Difference]: Finished difference Result 60 states and 82 transitions. [2018-11-23 12:21:37,051 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 82 transitions. [2018-11-23 12:21:37,051 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:37,051 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:37,051 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:37,051 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:37,052 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2018-11-23 12:21:37,055 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 73 transitions. [2018-11-23 12:21:37,055 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 73 transitions. Word has length 30 [2018-11-23 12:21:37,055 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:37,056 INFO L480 AbstractCegarLoop]: Abstraction has 54 states and 73 transitions. [2018-11-23 12:21:37,056 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:21:37,056 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 73 transitions. [2018-11-23 12:21:37,056 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 12:21:37,056 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:37,057 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:37,057 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:37,057 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:37,057 INFO L82 PathProgramCache]: Analyzing trace with hash -1053367863, now seen corresponding path program 2 times [2018-11-23 12:21:37,057 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:37,057 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:37,058 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:37,058 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:37,058 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:37,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:37,156 INFO L256 TraceCheckUtils]: 0: Hoare triple {1815#true} call ULTIMATE.init(); {1815#true} is VALID [2018-11-23 12:21:37,156 INFO L273 TraceCheckUtils]: 1: Hoare triple {1815#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {1815#true} is VALID [2018-11-23 12:21:37,156 INFO L273 TraceCheckUtils]: 2: Hoare triple {1815#true} assume true; {1815#true} is VALID [2018-11-23 12:21:37,156 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1815#true} {1815#true} #95#return; {1815#true} is VALID [2018-11-23 12:21:37,157 INFO L256 TraceCheckUtils]: 4: Hoare triple {1815#true} call #t~ret7 := main(); {1815#true} is VALID [2018-11-23 12:21:37,157 INFO L273 TraceCheckUtils]: 5: Hoare triple {1815#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {1815#true} is VALID [2018-11-23 12:21:37,157 INFO L273 TraceCheckUtils]: 6: Hoare triple {1815#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {1815#true} is VALID [2018-11-23 12:21:37,157 INFO L273 TraceCheckUtils]: 7: Hoare triple {1815#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {1815#true} is VALID [2018-11-23 12:21:37,157 INFO L273 TraceCheckUtils]: 8: Hoare triple {1815#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {1815#true} is VALID [2018-11-23 12:21:37,158 INFO L273 TraceCheckUtils]: 9: Hoare triple {1815#true} assume !(~CCCELVOL5~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {1817#(<= (+ main_~CCCELVOL5~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:37,159 INFO L273 TraceCheckUtils]: 10: Hoare triple {1817#(<= (+ main_~CCCELVOL5~0 1) main_~MINVAL~0)} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {1817#(<= (+ main_~CCCELVOL5~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:37,159 INFO L273 TraceCheckUtils]: 11: Hoare triple {1817#(<= (+ main_~CCCELVOL5~0 1) main_~MINVAL~0)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {1817#(<= (+ main_~CCCELVOL5~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:37,161 INFO L273 TraceCheckUtils]: 12: Hoare triple {1817#(<= (+ main_~CCCELVOL5~0 1) main_~MINVAL~0)} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {1817#(<= (+ main_~CCCELVOL5~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:37,161 INFO L273 TraceCheckUtils]: 13: Hoare triple {1817#(<= (+ main_~CCCELVOL5~0 1) main_~MINVAL~0)} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {1817#(<= (+ main_~CCCELVOL5~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:37,163 INFO L273 TraceCheckUtils]: 14: Hoare triple {1817#(<= (+ main_~CCCELVOL5~0 1) main_~MINVAL~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1817#(<= (+ main_~CCCELVOL5~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:37,163 INFO L273 TraceCheckUtils]: 15: Hoare triple {1817#(<= (+ main_~CCCELVOL5~0 1) main_~MINVAL~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {1817#(<= (+ main_~CCCELVOL5~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:37,165 INFO L273 TraceCheckUtils]: 16: Hoare triple {1817#(<= (+ main_~CCCELVOL5~0 1) main_~MINVAL~0)} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {1816#false} is VALID [2018-11-23 12:21:37,165 INFO L273 TraceCheckUtils]: 17: Hoare triple {1816#false} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {1816#false} is VALID [2018-11-23 12:21:37,165 INFO L273 TraceCheckUtils]: 18: Hoare triple {1816#false} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {1816#false} is VALID [2018-11-23 12:21:37,165 INFO L273 TraceCheckUtils]: 19: Hoare triple {1816#false} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {1816#false} is VALID [2018-11-23 12:21:37,165 INFO L273 TraceCheckUtils]: 20: Hoare triple {1816#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {1816#false} is VALID [2018-11-23 12:21:37,165 INFO L273 TraceCheckUtils]: 21: Hoare triple {1816#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1816#false} is VALID [2018-11-23 12:21:37,166 INFO L273 TraceCheckUtils]: 22: Hoare triple {1816#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {1816#false} is VALID [2018-11-23 12:21:37,166 INFO L273 TraceCheckUtils]: 23: Hoare triple {1816#false} ~i~0 := 0; {1816#false} is VALID [2018-11-23 12:21:37,166 INFO L273 TraceCheckUtils]: 24: Hoare triple {1816#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {1816#false} is VALID [2018-11-23 12:21:37,166 INFO L273 TraceCheckUtils]: 25: Hoare triple {1816#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {1816#false} is VALID [2018-11-23 12:21:37,166 INFO L256 TraceCheckUtils]: 26: Hoare triple {1816#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {1816#false} is VALID [2018-11-23 12:21:37,166 INFO L273 TraceCheckUtils]: 27: Hoare triple {1816#false} ~cond := #in~cond; {1816#false} is VALID [2018-11-23 12:21:37,167 INFO L273 TraceCheckUtils]: 28: Hoare triple {1816#false} assume 0 == ~cond; {1816#false} is VALID [2018-11-23 12:21:37,167 INFO L273 TraceCheckUtils]: 29: Hoare triple {1816#false} assume !false; {1816#false} is VALID [2018-11-23 12:21:37,168 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 9 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:37,168 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:21:37,168 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:21:37,168 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 30 [2018-11-23 12:21:37,169 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:37,169 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:21:37,201 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:37,202 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:21:37,202 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:21:37,202 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:21:37,202 INFO L87 Difference]: Start difference. First operand 54 states and 73 transitions. Second operand 3 states. [2018-11-23 12:21:37,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:37,415 INFO L93 Difference]: Finished difference Result 76 states and 99 transitions. [2018-11-23 12:21:37,415 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:21:37,415 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 30 [2018-11-23 12:21:37,416 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:37,416 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:21:37,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 80 transitions. [2018-11-23 12:21:37,418 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:21:37,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 80 transitions. [2018-11-23 12:21:37,420 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 80 transitions. [2018-11-23 12:21:37,497 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:37,499 INFO L225 Difference]: With dead ends: 76 [2018-11-23 12:21:37,500 INFO L226 Difference]: Without dead ends: 52 [2018-11-23 12:21:37,500 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:21:37,500 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-23 12:21:37,582 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 46. [2018-11-23 12:21:37,583 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:37,583 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 46 states. [2018-11-23 12:21:37,583 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 46 states. [2018-11-23 12:21:37,583 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 46 states. [2018-11-23 12:21:37,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:37,586 INFO L93 Difference]: Finished difference Result 52 states and 68 transitions. [2018-11-23 12:21:37,586 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 68 transitions. [2018-11-23 12:21:37,587 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:37,587 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:37,587 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 52 states. [2018-11-23 12:21:37,587 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 52 states. [2018-11-23 12:21:37,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:37,589 INFO L93 Difference]: Finished difference Result 52 states and 68 transitions. [2018-11-23 12:21:37,589 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 68 transitions. [2018-11-23 12:21:37,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:37,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:37,590 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:37,590 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:37,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-11-23 12:21:37,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 59 transitions. [2018-11-23 12:21:37,592 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 59 transitions. Word has length 30 [2018-11-23 12:21:37,592 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:37,592 INFO L480 AbstractCegarLoop]: Abstraction has 46 states and 59 transitions. [2018-11-23 12:21:37,593 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:21:37,593 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 59 transitions. [2018-11-23 12:21:37,593 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 12:21:37,593 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:37,593 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:37,594 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:37,594 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:37,594 INFO L82 PathProgramCache]: Analyzing trace with hash 290616554, now seen corresponding path program 1 times [2018-11-23 12:21:37,594 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:37,594 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:37,595 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:37,595 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:21:37,595 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:37,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:38,449 INFO L256 TraceCheckUtils]: 0: Hoare triple {2083#true} call ULTIMATE.init(); {2083#true} is VALID [2018-11-23 12:21:38,450 INFO L273 TraceCheckUtils]: 1: Hoare triple {2083#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {2083#true} is VALID [2018-11-23 12:21:38,450 INFO L273 TraceCheckUtils]: 2: Hoare triple {2083#true} assume true; {2083#true} is VALID [2018-11-23 12:21:38,451 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2083#true} {2083#true} #95#return; {2083#true} is VALID [2018-11-23 12:21:38,451 INFO L256 TraceCheckUtils]: 4: Hoare triple {2083#true} call #t~ret7 := main(); {2083#true} is VALID [2018-11-23 12:21:38,451 INFO L273 TraceCheckUtils]: 5: Hoare triple {2083#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {2083#true} is VALID [2018-11-23 12:21:38,452 INFO L273 TraceCheckUtils]: 6: Hoare triple {2083#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {2085#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:21:38,453 INFO L273 TraceCheckUtils]: 7: Hoare triple {2085#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {2086#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:21:38,456 INFO L273 TraceCheckUtils]: 8: Hoare triple {2086#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {2086#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:21:38,457 INFO L273 TraceCheckUtils]: 9: Hoare triple {2086#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {2086#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:21:38,458 INFO L273 TraceCheckUtils]: 10: Hoare triple {2086#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {2087#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:21:38,459 INFO L273 TraceCheckUtils]: 11: Hoare triple {2087#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {2087#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:21:38,460 INFO L273 TraceCheckUtils]: 12: Hoare triple {2087#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {2087#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:21:38,461 INFO L273 TraceCheckUtils]: 13: Hoare triple {2087#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {2087#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:21:38,462 INFO L273 TraceCheckUtils]: 14: Hoare triple {2087#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2088#(and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (or (<= (* 5 main_~i~0) 9) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 5 main_~i~0) (- 5))) (+ |main_~#volArray~0.offset| (- 16)))))) (<= (* 5 main_~i~0) 10))} is VALID [2018-11-23 12:21:38,464 INFO L273 TraceCheckUtils]: 15: Hoare triple {2088#(and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (or (<= (* 5 main_~i~0) 9) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 5 main_~i~0) (- 5))) (+ |main_~#volArray~0.offset| (- 16)))))) (<= (* 5 main_~i~0) 10))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {2089#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} is VALID [2018-11-23 12:21:38,465 INFO L273 TraceCheckUtils]: 16: Hoare triple {2089#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} ~i~0 := 0; {2090#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} is VALID [2018-11-23 12:21:38,467 INFO L273 TraceCheckUtils]: 17: Hoare triple {2090#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {2090#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} is VALID [2018-11-23 12:21:38,467 INFO L273 TraceCheckUtils]: 18: Hoare triple {2090#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} assume #t~short6; {2090#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} is VALID [2018-11-23 12:21:38,468 INFO L256 TraceCheckUtils]: 19: Hoare triple {2090#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2083#true} is VALID [2018-11-23 12:21:38,468 INFO L273 TraceCheckUtils]: 20: Hoare triple {2083#true} ~cond := #in~cond; {2083#true} is VALID [2018-11-23 12:21:38,469 INFO L273 TraceCheckUtils]: 21: Hoare triple {2083#true} assume !(0 == ~cond); {2083#true} is VALID [2018-11-23 12:21:38,469 INFO L273 TraceCheckUtils]: 22: Hoare triple {2083#true} assume true; {2083#true} is VALID [2018-11-23 12:21:38,483 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {2083#true} {2090#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} #99#return; {2090#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} is VALID [2018-11-23 12:21:38,484 INFO L273 TraceCheckUtils]: 24: Hoare triple {2090#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {2090#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} is VALID [2018-11-23 12:21:38,488 INFO L273 TraceCheckUtils]: 25: Hoare triple {2090#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2091#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:21:38,488 INFO L273 TraceCheckUtils]: 26: Hoare triple {2091#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {2092#|main_#t~short6|} is VALID [2018-11-23 12:21:38,489 INFO L273 TraceCheckUtils]: 27: Hoare triple {2092#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {2084#false} is VALID [2018-11-23 12:21:38,489 INFO L256 TraceCheckUtils]: 28: Hoare triple {2084#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2084#false} is VALID [2018-11-23 12:21:38,489 INFO L273 TraceCheckUtils]: 29: Hoare triple {2084#false} ~cond := #in~cond; {2084#false} is VALID [2018-11-23 12:21:38,489 INFO L273 TraceCheckUtils]: 30: Hoare triple {2084#false} assume 0 == ~cond; {2084#false} is VALID [2018-11-23 12:21:38,489 INFO L273 TraceCheckUtils]: 31: Hoare triple {2084#false} assume !false; {2084#false} is VALID [2018-11-23 12:21:38,493 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:38,493 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:21:38,493 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:21:38,502 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:38,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:38,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:38,553 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:21:38,651 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:21:38,657 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:21:38,660 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:38,662 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:38,676 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:38,677 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:22 [2018-11-23 12:21:38,681 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:38,681 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_35|, main_~CCCELVOL4~0]. (and (= |#memory_int| (store |v_#memory_int_35| |main_~#volArray~0.base| (store (select |v_#memory_int_35| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0)) [2018-11-23 12:21:38,682 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= main_~MINVAL~0 2) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:21:38,786 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:21:38,799 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:38,801 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:21:38,803 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:38,810 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:38,823 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:38,823 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:22 [2018-11-23 12:21:38,827 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:38,828 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_36|, main_~CCCELVOL3~0]. (let ((.cse0 (select |v_#memory_int_36| |main_~#volArray~0.base|)) (.cse1 (* 20 main_~i~0))) (and (= |#memory_int| (store |v_#memory_int_36| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 12)) main_~CCCELVOL3~0))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (<= 5 (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 16)))) (= |main_~#volArray~0.offset| 0))) [2018-11-23 12:21:38,828 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= main_~MINVAL~0 2) (= main_~i~0 1) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:21:38,849 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:21:38,856 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:38,860 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:21:38,862 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:38,869 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:38,882 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:38,882 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:22 [2018-11-23 12:21:38,887 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:38,887 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_37|, main_~CCCELVOL2~0]. (let ((.cse0 (select |v_#memory_int_37| |main_~#volArray~0.base|)) (.cse1 (* 20 main_~i~0))) (and (<= 5 (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 16)))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= (store |v_#memory_int_37| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 8)) main_~CCCELVOL2~0)) |#memory_int|) (= |main_~#volArray~0.offset| 0))) [2018-11-23 12:21:38,887 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= main_~MINVAL~0 2) (= main_~i~0 1) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:21:38,905 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 18 [2018-11-23 12:21:38,910 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:38,911 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:38,913 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 37 [2018-11-23 12:21:38,915 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:38,924 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:38,934 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:38,934 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:29, output treesize:25 [2018-11-23 12:21:39,162 INFO L256 TraceCheckUtils]: 0: Hoare triple {2083#true} call ULTIMATE.init(); {2083#true} is VALID [2018-11-23 12:21:39,163 INFO L273 TraceCheckUtils]: 1: Hoare triple {2083#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {2083#true} is VALID [2018-11-23 12:21:39,163 INFO L273 TraceCheckUtils]: 2: Hoare triple {2083#true} assume true; {2083#true} is VALID [2018-11-23 12:21:39,163 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2083#true} {2083#true} #95#return; {2083#true} is VALID [2018-11-23 12:21:39,164 INFO L256 TraceCheckUtils]: 4: Hoare triple {2083#true} call #t~ret7 := main(); {2083#true} is VALID [2018-11-23 12:21:39,164 INFO L273 TraceCheckUtils]: 5: Hoare triple {2083#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {2083#true} is VALID [2018-11-23 12:21:39,168 INFO L273 TraceCheckUtils]: 6: Hoare triple {2083#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {2114#(and (<= main_~CCCELVOL5~0 2) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:21:39,169 INFO L273 TraceCheckUtils]: 7: Hoare triple {2114#(and (<= main_~CCCELVOL5~0 2) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {2118#(and (<= main_~CCCELVOL5~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:21:39,170 INFO L273 TraceCheckUtils]: 8: Hoare triple {2118#(and (<= main_~CCCELVOL5~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {2118#(and (<= main_~CCCELVOL5~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:21:39,170 INFO L273 TraceCheckUtils]: 9: Hoare triple {2118#(and (<= main_~CCCELVOL5~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {2125#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:21:39,171 INFO L273 TraceCheckUtils]: 10: Hoare triple {2125#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {2129#(and (<= main_~MINVAL~0 2) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:39,178 INFO L273 TraceCheckUtils]: 11: Hoare triple {2129#(and (<= main_~MINVAL~0 2) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {2129#(and (<= main_~MINVAL~0 2) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:39,179 INFO L273 TraceCheckUtils]: 12: Hoare triple {2129#(and (<= main_~MINVAL~0 2) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {2129#(and (<= main_~MINVAL~0 2) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:39,180 INFO L273 TraceCheckUtils]: 13: Hoare triple {2129#(and (<= main_~MINVAL~0 2) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {2139#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:21:39,181 INFO L273 TraceCheckUtils]: 14: Hoare triple {2139#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2139#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:21:39,182 INFO L273 TraceCheckUtils]: 15: Hoare triple {2139#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {2139#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:21:39,182 INFO L273 TraceCheckUtils]: 16: Hoare triple {2139#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} ~i~0 := 0; {2149#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:39,183 INFO L273 TraceCheckUtils]: 17: Hoare triple {2149#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {2149#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:39,184 INFO L273 TraceCheckUtils]: 18: Hoare triple {2149#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} assume #t~short6; {2149#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:39,186 INFO L256 TraceCheckUtils]: 19: Hoare triple {2149#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2159#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 16) 0)))} is VALID [2018-11-23 12:21:39,194 INFO L273 TraceCheckUtils]: 20: Hoare triple {2159#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 16) 0)))} ~cond := #in~cond; {2159#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 16) 0)))} is VALID [2018-11-23 12:21:39,195 INFO L273 TraceCheckUtils]: 21: Hoare triple {2159#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 16) 0)))} assume !(0 == ~cond); {2159#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 16) 0)))} is VALID [2018-11-23 12:21:39,195 INFO L273 TraceCheckUtils]: 22: Hoare triple {2159#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 16) 0)))} assume true; {2159#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 16) 0)))} is VALID [2018-11-23 12:21:39,196 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {2159#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 16) 0)))} {2149#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} #99#return; {2149#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:39,197 INFO L273 TraceCheckUtils]: 24: Hoare triple {2149#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {2149#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:39,197 INFO L273 TraceCheckUtils]: 25: Hoare triple {2149#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2178#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:21:39,198 INFO L273 TraceCheckUtils]: 26: Hoare triple {2178#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {2092#|main_#t~short6|} is VALID [2018-11-23 12:21:39,199 INFO L273 TraceCheckUtils]: 27: Hoare triple {2092#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {2084#false} is VALID [2018-11-23 12:21:39,199 INFO L256 TraceCheckUtils]: 28: Hoare triple {2084#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2084#false} is VALID [2018-11-23 12:21:39,199 INFO L273 TraceCheckUtils]: 29: Hoare triple {2084#false} ~cond := #in~cond; {2084#false} is VALID [2018-11-23 12:21:39,199 INFO L273 TraceCheckUtils]: 30: Hoare triple {2084#false} assume 0 == ~cond; {2084#false} is VALID [2018-11-23 12:21:39,199 INFO L273 TraceCheckUtils]: 31: Hoare triple {2084#false} assume !false; {2084#false} is VALID [2018-11-23 12:21:39,206 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:39,234 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:21:39,234 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11] total 18 [2018-11-23 12:21:39,234 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 32 [2018-11-23 12:21:39,235 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:39,236 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 12:21:39,329 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:39,329 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 12:21:39,329 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 12:21:39,330 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=254, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:21:39,330 INFO L87 Difference]: Start difference. First operand 46 states and 59 transitions. Second operand 18 states. [2018-11-23 12:21:46,635 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:46,636 INFO L93 Difference]: Finished difference Result 200 states and 275 transitions. [2018-11-23 12:21:46,636 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2018-11-23 12:21:46,636 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 32 [2018-11-23 12:21:46,636 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:46,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:21:46,642 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 229 transitions. [2018-11-23 12:21:46,642 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:21:46,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 229 transitions. [2018-11-23 12:21:46,648 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 35 states and 229 transitions. [2018-11-23 12:21:47,093 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 229 edges. 229 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:47,098 INFO L225 Difference]: With dead ends: 200 [2018-11-23 12:21:47,098 INFO L226 Difference]: Without dead ends: 174 [2018-11-23 12:21:47,100 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 25 SyntacticMatches, 4 SemanticMatches, 48 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 631 ImplicationChecksByTransitivity, 2.7s TimeCoverageRelationStatistics Valid=521, Invalid=1929, Unknown=0, NotChecked=0, Total=2450 [2018-11-23 12:21:47,100 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 174 states. [2018-11-23 12:21:47,301 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 174 to 74. [2018-11-23 12:21:47,302 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:47,302 INFO L82 GeneralOperation]: Start isEquivalent. First operand 174 states. Second operand 74 states. [2018-11-23 12:21:47,302 INFO L74 IsIncluded]: Start isIncluded. First operand 174 states. Second operand 74 states. [2018-11-23 12:21:47,302 INFO L87 Difference]: Start difference. First operand 174 states. Second operand 74 states. [2018-11-23 12:21:47,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:47,310 INFO L93 Difference]: Finished difference Result 174 states and 237 transitions. [2018-11-23 12:21:47,310 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 237 transitions. [2018-11-23 12:21:47,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:47,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:47,311 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 174 states. [2018-11-23 12:21:47,311 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 174 states. [2018-11-23 12:21:47,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:47,319 INFO L93 Difference]: Finished difference Result 174 states and 237 transitions. [2018-11-23 12:21:47,319 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 237 transitions. [2018-11-23 12:21:47,320 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:47,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:47,320 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:47,320 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:47,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2018-11-23 12:21:47,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 102 transitions. [2018-11-23 12:21:47,323 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 102 transitions. Word has length 32 [2018-11-23 12:21:47,323 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:47,323 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 102 transitions. [2018-11-23 12:21:47,324 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 12:21:47,324 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 102 transitions. [2018-11-23 12:21:47,324 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 12:21:47,324 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:47,325 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:47,325 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:47,325 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:47,325 INFO L82 PathProgramCache]: Analyzing trace with hash -1295967062, now seen corresponding path program 1 times [2018-11-23 12:21:47,325 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:47,325 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:47,326 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:47,326 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:47,326 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:47,337 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:47,457 INFO L256 TraceCheckUtils]: 0: Hoare triple {2960#true} call ULTIMATE.init(); {2960#true} is VALID [2018-11-23 12:21:47,457 INFO L273 TraceCheckUtils]: 1: Hoare triple {2960#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {2960#true} is VALID [2018-11-23 12:21:47,458 INFO L273 TraceCheckUtils]: 2: Hoare triple {2960#true} assume true; {2960#true} is VALID [2018-11-23 12:21:47,458 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2960#true} {2960#true} #95#return; {2960#true} is VALID [2018-11-23 12:21:47,458 INFO L256 TraceCheckUtils]: 4: Hoare triple {2960#true} call #t~ret7 := main(); {2960#true} is VALID [2018-11-23 12:21:47,459 INFO L273 TraceCheckUtils]: 5: Hoare triple {2960#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {2960#true} is VALID [2018-11-23 12:21:47,461 INFO L273 TraceCheckUtils]: 6: Hoare triple {2960#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {2962#(<= (+ main_~CCCELVOL2~0 2) main_~CCCELVOL4~0)} is VALID [2018-11-23 12:21:47,464 INFO L273 TraceCheckUtils]: 7: Hoare triple {2962#(<= (+ main_~CCCELVOL2~0 2) main_~CCCELVOL4~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {2962#(<= (+ main_~CCCELVOL2~0 2) main_~CCCELVOL4~0)} is VALID [2018-11-23 12:21:47,465 INFO L273 TraceCheckUtils]: 8: Hoare triple {2962#(<= (+ main_~CCCELVOL2~0 2) main_~CCCELVOL4~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {2962#(<= (+ main_~CCCELVOL2~0 2) main_~CCCELVOL4~0)} is VALID [2018-11-23 12:21:47,466 INFO L273 TraceCheckUtils]: 9: Hoare triple {2962#(<= (+ main_~CCCELVOL2~0 2) main_~CCCELVOL4~0)} assume !(~CCCELVOL5~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {2962#(<= (+ main_~CCCELVOL2~0 2) main_~CCCELVOL4~0)} is VALID [2018-11-23 12:21:47,466 INFO L273 TraceCheckUtils]: 10: Hoare triple {2962#(<= (+ main_~CCCELVOL2~0 2) main_~CCCELVOL4~0)} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {2963#(<= (+ main_~CCCELVOL2~0 3) main_~MINVAL~0)} is VALID [2018-11-23 12:21:47,467 INFO L273 TraceCheckUtils]: 11: Hoare triple {2963#(<= (+ main_~CCCELVOL2~0 3) main_~MINVAL~0)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {2963#(<= (+ main_~CCCELVOL2~0 3) main_~MINVAL~0)} is VALID [2018-11-23 12:21:47,468 INFO L273 TraceCheckUtils]: 12: Hoare triple {2963#(<= (+ main_~CCCELVOL2~0 3) main_~MINVAL~0)} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {2961#false} is VALID [2018-11-23 12:21:47,468 INFO L273 TraceCheckUtils]: 13: Hoare triple {2961#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {2961#false} is VALID [2018-11-23 12:21:47,468 INFO L273 TraceCheckUtils]: 14: Hoare triple {2961#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2961#false} is VALID [2018-11-23 12:21:47,468 INFO L273 TraceCheckUtils]: 15: Hoare triple {2961#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {2961#false} is VALID [2018-11-23 12:21:47,468 INFO L273 TraceCheckUtils]: 16: Hoare triple {2961#false} ~i~0 := 0; {2961#false} is VALID [2018-11-23 12:21:47,468 INFO L273 TraceCheckUtils]: 17: Hoare triple {2961#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {2961#false} is VALID [2018-11-23 12:21:47,468 INFO L273 TraceCheckUtils]: 18: Hoare triple {2961#false} assume #t~short6; {2961#false} is VALID [2018-11-23 12:21:47,469 INFO L256 TraceCheckUtils]: 19: Hoare triple {2961#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2960#true} is VALID [2018-11-23 12:21:47,469 INFO L273 TraceCheckUtils]: 20: Hoare triple {2960#true} ~cond := #in~cond; {2960#true} is VALID [2018-11-23 12:21:47,469 INFO L273 TraceCheckUtils]: 21: Hoare triple {2960#true} assume !(0 == ~cond); {2960#true} is VALID [2018-11-23 12:21:47,469 INFO L273 TraceCheckUtils]: 22: Hoare triple {2960#true} assume true; {2960#true} is VALID [2018-11-23 12:21:47,469 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {2960#true} {2961#false} #99#return; {2961#false} is VALID [2018-11-23 12:21:47,469 INFO L273 TraceCheckUtils]: 24: Hoare triple {2961#false} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {2961#false} is VALID [2018-11-23 12:21:47,470 INFO L273 TraceCheckUtils]: 25: Hoare triple {2961#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2961#false} is VALID [2018-11-23 12:21:47,470 INFO L273 TraceCheckUtils]: 26: Hoare triple {2961#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {2961#false} is VALID [2018-11-23 12:21:47,470 INFO L273 TraceCheckUtils]: 27: Hoare triple {2961#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {2961#false} is VALID [2018-11-23 12:21:47,470 INFO L256 TraceCheckUtils]: 28: Hoare triple {2961#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2961#false} is VALID [2018-11-23 12:21:47,470 INFO L273 TraceCheckUtils]: 29: Hoare triple {2961#false} ~cond := #in~cond; {2961#false} is VALID [2018-11-23 12:21:47,470 INFO L273 TraceCheckUtils]: 30: Hoare triple {2961#false} assume 0 == ~cond; {2961#false} is VALID [2018-11-23 12:21:47,470 INFO L273 TraceCheckUtils]: 31: Hoare triple {2961#false} assume !false; {2961#false} is VALID [2018-11-23 12:21:47,472 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 12:21:47,472 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:21:47,472 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:21:47,473 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 32 [2018-11-23 12:21:47,473 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:47,473 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:21:47,527 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:47,527 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:21:47,528 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:21:47,528 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:21:47,528 INFO L87 Difference]: Start difference. First operand 74 states and 102 transitions. Second operand 4 states. [2018-11-23 12:21:48,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:48,040 INFO L93 Difference]: Finished difference Result 136 states and 190 transitions. [2018-11-23 12:21:48,040 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:21:48,040 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 32 [2018-11-23 12:21:48,040 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:48,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:21:48,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 81 transitions. [2018-11-23 12:21:48,042 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:21:48,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 81 transitions. [2018-11-23 12:21:48,044 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 81 transitions. [2018-11-23 12:21:48,143 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:48,146 INFO L225 Difference]: With dead ends: 136 [2018-11-23 12:21:48,146 INFO L226 Difference]: Without dead ends: 100 [2018-11-23 12:21:48,147 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:21:48,148 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2018-11-23 12:21:49,007 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 88. [2018-11-23 12:21:49,007 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:49,007 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand 88 states. [2018-11-23 12:21:49,008 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 88 states. [2018-11-23 12:21:49,008 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 88 states. [2018-11-23 12:21:49,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:49,013 INFO L93 Difference]: Finished difference Result 100 states and 140 transitions. [2018-11-23 12:21:49,013 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 140 transitions. [2018-11-23 12:21:49,013 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:49,014 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:49,014 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand 100 states. [2018-11-23 12:21:49,014 INFO L87 Difference]: Start difference. First operand 88 states. Second operand 100 states. [2018-11-23 12:21:49,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:49,017 INFO L93 Difference]: Finished difference Result 100 states and 140 transitions. [2018-11-23 12:21:49,017 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 140 transitions. [2018-11-23 12:21:49,018 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:49,018 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:49,018 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:49,018 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:49,018 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 88 states. [2018-11-23 12:21:49,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 124 transitions. [2018-11-23 12:21:49,022 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 124 transitions. Word has length 32 [2018-11-23 12:21:49,022 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:49,022 INFO L480 AbstractCegarLoop]: Abstraction has 88 states and 124 transitions. [2018-11-23 12:21:49,022 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:21:49,022 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 124 transitions. [2018-11-23 12:21:49,023 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 12:21:49,023 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:49,023 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:49,023 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:49,024 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:49,024 INFO L82 PathProgramCache]: Analyzing trace with hash -2113615512, now seen corresponding path program 1 times [2018-11-23 12:21:49,024 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:49,024 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:49,025 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:49,025 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:49,025 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:49,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:49,615 INFO L256 TraceCheckUtils]: 0: Hoare triple {3450#true} call ULTIMATE.init(); {3450#true} is VALID [2018-11-23 12:21:49,615 INFO L273 TraceCheckUtils]: 1: Hoare triple {3450#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {3450#true} is VALID [2018-11-23 12:21:49,616 INFO L273 TraceCheckUtils]: 2: Hoare triple {3450#true} assume true; {3450#true} is VALID [2018-11-23 12:21:49,616 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3450#true} {3450#true} #95#return; {3450#true} is VALID [2018-11-23 12:21:49,616 INFO L256 TraceCheckUtils]: 4: Hoare triple {3450#true} call #t~ret7 := main(); {3450#true} is VALID [2018-11-23 12:21:49,616 INFO L273 TraceCheckUtils]: 5: Hoare triple {3450#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {3450#true} is VALID [2018-11-23 12:21:49,617 INFO L273 TraceCheckUtils]: 6: Hoare triple {3450#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {3452#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:21:49,618 INFO L273 TraceCheckUtils]: 7: Hoare triple {3452#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {3453#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:21:49,619 INFO L273 TraceCheckUtils]: 8: Hoare triple {3453#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {3453#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:21:49,619 INFO L273 TraceCheckUtils]: 9: Hoare triple {3453#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume !(~CCCELVOL5~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {3453#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:21:49,620 INFO L273 TraceCheckUtils]: 10: Hoare triple {3453#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {3454#(and (<= 2 ~CELLCOUNT~0) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:21:49,622 INFO L273 TraceCheckUtils]: 11: Hoare triple {3454#(and (<= 2 ~CELLCOUNT~0) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {3454#(and (<= 2 ~CELLCOUNT~0) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:21:49,623 INFO L273 TraceCheckUtils]: 12: Hoare triple {3454#(and (<= 2 ~CELLCOUNT~0) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {3454#(and (<= 2 ~CELLCOUNT~0) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:21:49,625 INFO L273 TraceCheckUtils]: 13: Hoare triple {3454#(and (<= 2 ~CELLCOUNT~0) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {3454#(and (<= 2 ~CELLCOUNT~0) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:21:49,626 INFO L273 TraceCheckUtils]: 14: Hoare triple {3454#(and (<= 2 ~CELLCOUNT~0) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3455#(and (or (<= (* 5 main_~i~0) 9) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 5 main_~i~0) (- 5))) (+ |main_~#volArray~0.offset| (- 16)))))) (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (* 5 main_~i~0) 10))} is VALID [2018-11-23 12:21:49,628 INFO L273 TraceCheckUtils]: 15: Hoare triple {3455#(and (or (<= (* 5 main_~i~0) 9) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 5 main_~i~0) (- 5))) (+ |main_~#volArray~0.offset| (- 16)))))) (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (* 5 main_~i~0) 10))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {3456#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))))} is VALID [2018-11-23 12:21:49,629 INFO L273 TraceCheckUtils]: 16: Hoare triple {3456#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))))} ~i~0 := 0; {3457#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:49,630 INFO L273 TraceCheckUtils]: 17: Hoare triple {3457#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {3457#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:49,656 INFO L273 TraceCheckUtils]: 18: Hoare triple {3457#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} assume #t~short6; {3457#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:49,656 INFO L256 TraceCheckUtils]: 19: Hoare triple {3457#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3450#true} is VALID [2018-11-23 12:21:49,656 INFO L273 TraceCheckUtils]: 20: Hoare triple {3450#true} ~cond := #in~cond; {3450#true} is VALID [2018-11-23 12:21:49,657 INFO L273 TraceCheckUtils]: 21: Hoare triple {3450#true} assume !(0 == ~cond); {3450#true} is VALID [2018-11-23 12:21:49,657 INFO L273 TraceCheckUtils]: 22: Hoare triple {3450#true} assume true; {3450#true} is VALID [2018-11-23 12:21:49,672 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {3450#true} {3457#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} #99#return; {3457#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:49,681 INFO L273 TraceCheckUtils]: 24: Hoare triple {3457#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {3457#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:49,695 INFO L273 TraceCheckUtils]: 25: Hoare triple {3457#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3458#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:21:49,704 INFO L273 TraceCheckUtils]: 26: Hoare triple {3458#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {3458#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:21:49,705 INFO L273 TraceCheckUtils]: 27: Hoare triple {3458#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {3459#|main_#t~short6|} is VALID [2018-11-23 12:21:49,707 INFO L256 TraceCheckUtils]: 28: Hoare triple {3459#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3460#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-23 12:21:49,709 INFO L273 TraceCheckUtils]: 29: Hoare triple {3460#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {3461#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:21:49,709 INFO L273 TraceCheckUtils]: 30: Hoare triple {3461#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {3451#false} is VALID [2018-11-23 12:21:49,709 INFO L273 TraceCheckUtils]: 31: Hoare triple {3451#false} assume !false; {3451#false} is VALID [2018-11-23 12:21:49,714 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:49,714 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:21:49,714 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:21:49,724 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:49,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:49,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:49,776 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:21:49,910 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:21:49,916 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:21:49,918 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:49,922 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:49,935 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:49,935 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-23 12:21:50,080 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:21:50,094 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:50,096 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:21:50,104 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:50,113 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:50,125 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:50,125 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-23 12:21:50,129 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:50,129 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_40|, main_~CCCELVOL3~0]. (let ((.cse0 (select |v_#memory_int_40| |main_~#volArray~0.base|)) (.cse1 (* 20 main_~i~0))) (and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 16)))) (= |#memory_int| (store |v_#memory_int_40| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 12)) main_~CCCELVOL3~0))))) [2018-11-23 12:21:50,129 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:21:50,148 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:21:50,158 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:50,159 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:21:50,164 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:50,177 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:50,185 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:50,186 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-23 12:21:50,299 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 25 [2018-11-23 12:21:50,309 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:50,310 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:50,311 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:50,312 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 52 [2018-11-23 12:21:50,317 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:50,327 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:50,336 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:50,336 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-23 12:21:50,649 INFO L256 TraceCheckUtils]: 0: Hoare triple {3450#true} call ULTIMATE.init(); {3450#true} is VALID [2018-11-23 12:21:50,649 INFO L273 TraceCheckUtils]: 1: Hoare triple {3450#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {3450#true} is VALID [2018-11-23 12:21:50,649 INFO L273 TraceCheckUtils]: 2: Hoare triple {3450#true} assume true; {3450#true} is VALID [2018-11-23 12:21:50,650 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3450#true} {3450#true} #95#return; {3450#true} is VALID [2018-11-23 12:21:50,650 INFO L256 TraceCheckUtils]: 4: Hoare triple {3450#true} call #t~ret7 := main(); {3450#true} is VALID [2018-11-23 12:21:50,650 INFO L273 TraceCheckUtils]: 5: Hoare triple {3450#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {3450#true} is VALID [2018-11-23 12:21:50,651 INFO L273 TraceCheckUtils]: 6: Hoare triple {3450#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {3483#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:21:50,652 INFO L273 TraceCheckUtils]: 7: Hoare triple {3483#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {3487#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:50,652 INFO L273 TraceCheckUtils]: 8: Hoare triple {3487#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {3487#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:50,653 INFO L273 TraceCheckUtils]: 9: Hoare triple {3487#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL5~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {3487#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:50,654 INFO L273 TraceCheckUtils]: 10: Hoare triple {3487#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {3497#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:50,655 INFO L273 TraceCheckUtils]: 11: Hoare triple {3497#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {3497#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:50,656 INFO L273 TraceCheckUtils]: 12: Hoare triple {3497#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {3504#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8))) 0))} is VALID [2018-11-23 12:21:50,657 INFO L273 TraceCheckUtils]: 13: Hoare triple {3504#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8))) 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {3508#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:21:50,658 INFO L273 TraceCheckUtils]: 14: Hoare triple {3508#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3508#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:21:50,659 INFO L273 TraceCheckUtils]: 15: Hoare triple {3508#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {3508#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:21:50,667 INFO L273 TraceCheckUtils]: 16: Hoare triple {3508#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} ~i~0 := 0; {3518#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:50,667 INFO L273 TraceCheckUtils]: 17: Hoare triple {3518#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {3518#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:50,668 INFO L273 TraceCheckUtils]: 18: Hoare triple {3518#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} assume #t~short6; {3518#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:50,670 INFO L256 TraceCheckUtils]: 19: Hoare triple {3518#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3528#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0)))} is VALID [2018-11-23 12:21:50,670 INFO L273 TraceCheckUtils]: 20: Hoare triple {3528#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0)))} ~cond := #in~cond; {3528#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0)))} is VALID [2018-11-23 12:21:50,671 INFO L273 TraceCheckUtils]: 21: Hoare triple {3528#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0)))} assume !(0 == ~cond); {3528#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0)))} is VALID [2018-11-23 12:21:50,671 INFO L273 TraceCheckUtils]: 22: Hoare triple {3528#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0)))} assume true; {3528#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0)))} is VALID [2018-11-23 12:21:50,672 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {3528#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0)))} {3518#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} #99#return; {3518#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:50,673 INFO L273 TraceCheckUtils]: 24: Hoare triple {3518#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {3518#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:50,674 INFO L273 TraceCheckUtils]: 25: Hoare triple {3518#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3547#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:21:50,675 INFO L273 TraceCheckUtils]: 26: Hoare triple {3547#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {3547#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:21:50,676 INFO L273 TraceCheckUtils]: 27: Hoare triple {3547#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {3459#|main_#t~short6|} is VALID [2018-11-23 12:21:50,677 INFO L256 TraceCheckUtils]: 28: Hoare triple {3459#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3557#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:21:50,678 INFO L273 TraceCheckUtils]: 29: Hoare triple {3557#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {3561#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:21:50,679 INFO L273 TraceCheckUtils]: 30: Hoare triple {3561#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3451#false} is VALID [2018-11-23 12:21:50,679 INFO L273 TraceCheckUtils]: 31: Hoare triple {3451#false} assume !false; {3451#false} is VALID [2018-11-23 12:21:50,684 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:50,703 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:21:50,703 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 22 [2018-11-23 12:21:50,703 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 32 [2018-11-23 12:21:50,704 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:50,704 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-23 12:21:50,778 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:50,779 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-23 12:21:50,779 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-23 12:21:50,779 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:21:50,780 INFO L87 Difference]: Start difference. First operand 88 states and 124 transitions. Second operand 22 states. [2018-11-23 12:21:57,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:57,594 INFO L93 Difference]: Finished difference Result 224 states and 304 transitions. [2018-11-23 12:21:57,594 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 40 states. [2018-11-23 12:21:57,594 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 32 [2018-11-23 12:21:57,594 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:57,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:21:57,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 207 transitions. [2018-11-23 12:21:57,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:21:57,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 207 transitions. [2018-11-23 12:21:57,604 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 40 states and 207 transitions. [2018-11-23 12:21:58,329 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 207 edges. 207 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:58,336 INFO L225 Difference]: With dead ends: 224 [2018-11-23 12:21:58,336 INFO L226 Difference]: Without dead ends: 222 [2018-11-23 12:21:58,338 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 25 SyntacticMatches, 5 SemanticMatches, 57 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 970 ImplicationChecksByTransitivity, 2.5s TimeCoverageRelationStatistics Valid=577, Invalid=2845, Unknown=0, NotChecked=0, Total=3422 [2018-11-23 12:21:58,338 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 222 states. [2018-11-23 12:21:59,100 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 222 to 145. [2018-11-23 12:21:59,100 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:59,100 INFO L82 GeneralOperation]: Start isEquivalent. First operand 222 states. Second operand 145 states. [2018-11-23 12:21:59,100 INFO L74 IsIncluded]: Start isIncluded. First operand 222 states. Second operand 145 states. [2018-11-23 12:21:59,101 INFO L87 Difference]: Start difference. First operand 222 states. Second operand 145 states. [2018-11-23 12:21:59,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:59,112 INFO L93 Difference]: Finished difference Result 222 states and 301 transitions. [2018-11-23 12:21:59,112 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 301 transitions. [2018-11-23 12:21:59,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:59,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:59,114 INFO L74 IsIncluded]: Start isIncluded. First operand 145 states. Second operand 222 states. [2018-11-23 12:21:59,114 INFO L87 Difference]: Start difference. First operand 145 states. Second operand 222 states. [2018-11-23 12:21:59,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:59,122 INFO L93 Difference]: Finished difference Result 222 states and 301 transitions. [2018-11-23 12:21:59,122 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 301 transitions. [2018-11-23 12:21:59,123 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:59,124 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:59,124 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:59,124 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:59,124 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 145 states. [2018-11-23 12:21:59,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 145 states to 145 states and 196 transitions. [2018-11-23 12:21:59,128 INFO L78 Accepts]: Start accepts. Automaton has 145 states and 196 transitions. Word has length 32 [2018-11-23 12:21:59,129 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:59,129 INFO L480 AbstractCegarLoop]: Abstraction has 145 states and 196 transitions. [2018-11-23 12:21:59,129 INFO L481 AbstractCegarLoop]: Interpolant automaton has 22 states. [2018-11-23 12:21:59,129 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 196 transitions. [2018-11-23 12:21:59,130 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-23 12:21:59,130 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:59,130 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 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, 1, 1, 1] [2018-11-23 12:21:59,131 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:59,131 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:59,131 INFO L82 PathProgramCache]: Analyzing trace with hash -1910786410, now seen corresponding path program 1 times [2018-11-23 12:21:59,131 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:59,131 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:59,132 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:59,132 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:59,132 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:59,141 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:59,246 INFO L256 TraceCheckUtils]: 0: Hoare triple {4564#true} call ULTIMATE.init(); {4564#true} is VALID [2018-11-23 12:21:59,247 INFO L273 TraceCheckUtils]: 1: Hoare triple {4564#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {4564#true} is VALID [2018-11-23 12:21:59,247 INFO L273 TraceCheckUtils]: 2: Hoare triple {4564#true} assume true; {4564#true} is VALID [2018-11-23 12:21:59,247 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4564#true} {4564#true} #95#return; {4564#true} is VALID [2018-11-23 12:21:59,248 INFO L256 TraceCheckUtils]: 4: Hoare triple {4564#true} call #t~ret7 := main(); {4564#true} is VALID [2018-11-23 12:21:59,248 INFO L273 TraceCheckUtils]: 5: Hoare triple {4564#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {4564#true} is VALID [2018-11-23 12:21:59,248 INFO L273 TraceCheckUtils]: 6: Hoare triple {4564#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {4564#true} is VALID [2018-11-23 12:21:59,248 INFO L273 TraceCheckUtils]: 7: Hoare triple {4564#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {4564#true} is VALID [2018-11-23 12:21:59,249 INFO L273 TraceCheckUtils]: 8: Hoare triple {4564#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {4564#true} is VALID [2018-11-23 12:21:59,249 INFO L273 TraceCheckUtils]: 9: Hoare triple {4564#true} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {4564#true} is VALID [2018-11-23 12:21:59,249 INFO L273 TraceCheckUtils]: 10: Hoare triple {4564#true} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {4564#true} is VALID [2018-11-23 12:21:59,249 INFO L273 TraceCheckUtils]: 11: Hoare triple {4564#true} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {4564#true} is VALID [2018-11-23 12:21:59,249 INFO L273 TraceCheckUtils]: 12: Hoare triple {4564#true} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {4564#true} is VALID [2018-11-23 12:21:59,250 INFO L273 TraceCheckUtils]: 13: Hoare triple {4564#true} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {4566#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:59,253 INFO L273 TraceCheckUtils]: 14: Hoare triple {4566#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4566#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:59,253 INFO L273 TraceCheckUtils]: 15: Hoare triple {4566#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {4566#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:59,255 INFO L273 TraceCheckUtils]: 16: Hoare triple {4566#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {4566#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:59,255 INFO L273 TraceCheckUtils]: 17: Hoare triple {4566#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {4566#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:59,258 INFO L273 TraceCheckUtils]: 18: Hoare triple {4566#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {4566#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:59,258 INFO L273 TraceCheckUtils]: 19: Hoare triple {4566#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {4566#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:59,260 INFO L273 TraceCheckUtils]: 20: Hoare triple {4566#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {4565#false} is VALID [2018-11-23 12:21:59,260 INFO L273 TraceCheckUtils]: 21: Hoare triple {4565#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4565#false} is VALID [2018-11-23 12:21:59,260 INFO L273 TraceCheckUtils]: 22: Hoare triple {4565#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {4565#false} is VALID [2018-11-23 12:21:59,260 INFO L273 TraceCheckUtils]: 23: Hoare triple {4565#false} ~i~0 := 0; {4565#false} is VALID [2018-11-23 12:21:59,261 INFO L273 TraceCheckUtils]: 24: Hoare triple {4565#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {4565#false} is VALID [2018-11-23 12:21:59,261 INFO L273 TraceCheckUtils]: 25: Hoare triple {4565#false} assume #t~short6; {4565#false} is VALID [2018-11-23 12:21:59,261 INFO L256 TraceCheckUtils]: 26: Hoare triple {4565#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {4564#true} is VALID [2018-11-23 12:21:59,261 INFO L273 TraceCheckUtils]: 27: Hoare triple {4564#true} ~cond := #in~cond; {4564#true} is VALID [2018-11-23 12:21:59,261 INFO L273 TraceCheckUtils]: 28: Hoare triple {4564#true} assume !(0 == ~cond); {4564#true} is VALID [2018-11-23 12:21:59,261 INFO L273 TraceCheckUtils]: 29: Hoare triple {4564#true} assume true; {4564#true} is VALID [2018-11-23 12:21:59,262 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {4564#true} {4565#false} #99#return; {4565#false} is VALID [2018-11-23 12:21:59,262 INFO L273 TraceCheckUtils]: 31: Hoare triple {4565#false} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {4565#false} is VALID [2018-11-23 12:21:59,262 INFO L273 TraceCheckUtils]: 32: Hoare triple {4565#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4565#false} is VALID [2018-11-23 12:21:59,262 INFO L273 TraceCheckUtils]: 33: Hoare triple {4565#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {4565#false} is VALID [2018-11-23 12:21:59,262 INFO L273 TraceCheckUtils]: 34: Hoare triple {4565#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {4565#false} is VALID [2018-11-23 12:21:59,263 INFO L256 TraceCheckUtils]: 35: Hoare triple {4565#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {4565#false} is VALID [2018-11-23 12:21:59,263 INFO L273 TraceCheckUtils]: 36: Hoare triple {4565#false} ~cond := #in~cond; {4565#false} is VALID [2018-11-23 12:21:59,263 INFO L273 TraceCheckUtils]: 37: Hoare triple {4565#false} assume 0 == ~cond; {4565#false} is VALID [2018-11-23 12:21:59,264 INFO L273 TraceCheckUtils]: 38: Hoare triple {4565#false} assume !false; {4565#false} is VALID [2018-11-23 12:21:59,266 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 11 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 12:21:59,266 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:21:59,266 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:21:59,266 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 39 [2018-11-23 12:21:59,267 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:59,267 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:21:59,361 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:59,362 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:21:59,362 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:21:59,362 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:21:59,363 INFO L87 Difference]: Start difference. First operand 145 states and 196 transitions. Second operand 3 states. [2018-11-23 12:22:00,594 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:00,594 INFO L93 Difference]: Finished difference Result 246 states and 342 transitions. [2018-11-23 12:22:00,594 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:22:00,594 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 39 [2018-11-23 12:22:00,594 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:00,595 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:22:00,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 81 transitions. [2018-11-23 12:22:00,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:22:00,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 81 transitions. [2018-11-23 12:22:00,596 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 81 transitions. [2018-11-23 12:22:00,673 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:00,678 INFO L225 Difference]: With dead ends: 246 [2018-11-23 12:22:00,679 INFO L226 Difference]: Without dead ends: 196 [2018-11-23 12:22:00,679 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:22:00,680 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 196 states. [2018-11-23 12:22:01,242 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 196 to 175. [2018-11-23 12:22:01,242 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:01,242 INFO L82 GeneralOperation]: Start isEquivalent. First operand 196 states. Second operand 175 states. [2018-11-23 12:22:01,242 INFO L74 IsIncluded]: Start isIncluded. First operand 196 states. Second operand 175 states. [2018-11-23 12:22:01,243 INFO L87 Difference]: Start difference. First operand 196 states. Second operand 175 states. [2018-11-23 12:22:01,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:01,248 INFO L93 Difference]: Finished difference Result 196 states and 266 transitions. [2018-11-23 12:22:01,248 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 266 transitions. [2018-11-23 12:22:01,249 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:01,249 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:01,249 INFO L74 IsIncluded]: Start isIncluded. First operand 175 states. Second operand 196 states. [2018-11-23 12:22:01,249 INFO L87 Difference]: Start difference. First operand 175 states. Second operand 196 states. [2018-11-23 12:22:01,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:01,255 INFO L93 Difference]: Finished difference Result 196 states and 266 transitions. [2018-11-23 12:22:01,255 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 266 transitions. [2018-11-23 12:22:01,256 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:01,256 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:01,256 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:01,256 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:01,256 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 175 states. [2018-11-23 12:22:01,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 175 states to 175 states and 239 transitions. [2018-11-23 12:22:01,261 INFO L78 Accepts]: Start accepts. Automaton has 175 states and 239 transitions. Word has length 39 [2018-11-23 12:22:01,261 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:01,261 INFO L480 AbstractCegarLoop]: Abstraction has 175 states and 239 transitions. [2018-11-23 12:22:01,261 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:22:01,261 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 239 transitions. [2018-11-23 12:22:01,262 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-23 12:22:01,262 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:01,262 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 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, 1, 1, 1] [2018-11-23 12:22:01,263 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:01,263 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:01,263 INFO L82 PathProgramCache]: Analyzing trace with hash 633197530, now seen corresponding path program 2 times [2018-11-23 12:22:01,263 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:01,263 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:01,264 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:01,264 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:01,264 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:01,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:01,489 INFO L256 TraceCheckUtils]: 0: Hoare triple {5493#true} call ULTIMATE.init(); {5493#true} is VALID [2018-11-23 12:22:01,490 INFO L273 TraceCheckUtils]: 1: Hoare triple {5493#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {5493#true} is VALID [2018-11-23 12:22:01,490 INFO L273 TraceCheckUtils]: 2: Hoare triple {5493#true} assume true; {5493#true} is VALID [2018-11-23 12:22:01,490 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5493#true} {5493#true} #95#return; {5493#true} is VALID [2018-11-23 12:22:01,490 INFO L256 TraceCheckUtils]: 4: Hoare triple {5493#true} call #t~ret7 := main(); {5493#true} is VALID [2018-11-23 12:22:01,493 INFO L273 TraceCheckUtils]: 5: Hoare triple {5493#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {5493#true} is VALID [2018-11-23 12:22:01,493 INFO L273 TraceCheckUtils]: 6: Hoare triple {5493#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {5493#true} is VALID [2018-11-23 12:22:01,494 INFO L273 TraceCheckUtils]: 7: Hoare triple {5493#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {5493#true} is VALID [2018-11-23 12:22:01,494 INFO L273 TraceCheckUtils]: 8: Hoare triple {5493#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {5493#true} is VALID [2018-11-23 12:22:01,494 INFO L273 TraceCheckUtils]: 9: Hoare triple {5493#true} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {5493#true} is VALID [2018-11-23 12:22:01,494 INFO L273 TraceCheckUtils]: 10: Hoare triple {5493#true} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {5493#true} is VALID [2018-11-23 12:22:01,495 INFO L273 TraceCheckUtils]: 11: Hoare triple {5493#true} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {5493#true} is VALID [2018-11-23 12:22:01,495 INFO L273 TraceCheckUtils]: 12: Hoare triple {5493#true} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {5493#true} is VALID [2018-11-23 12:22:01,510 INFO L273 TraceCheckUtils]: 13: Hoare triple {5493#true} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {5495#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} is VALID [2018-11-23 12:22:01,519 INFO L273 TraceCheckUtils]: 14: Hoare triple {5495#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5495#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} is VALID [2018-11-23 12:22:01,528 INFO L273 TraceCheckUtils]: 15: Hoare triple {5495#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {5495#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} is VALID [2018-11-23 12:22:01,536 INFO L273 TraceCheckUtils]: 16: Hoare triple {5495#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {5495#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} is VALID [2018-11-23 12:22:01,549 INFO L273 TraceCheckUtils]: 17: Hoare triple {5495#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {5495#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} is VALID [2018-11-23 12:22:01,562 INFO L273 TraceCheckUtils]: 18: Hoare triple {5495#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {5495#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} is VALID [2018-11-23 12:22:01,575 INFO L273 TraceCheckUtils]: 19: Hoare triple {5495#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {5495#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} is VALID [2018-11-23 12:22:01,587 INFO L273 TraceCheckUtils]: 20: Hoare triple {5495#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {5494#false} is VALID [2018-11-23 12:22:01,588 INFO L273 TraceCheckUtils]: 21: Hoare triple {5494#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5494#false} is VALID [2018-11-23 12:22:01,588 INFO L273 TraceCheckUtils]: 22: Hoare triple {5494#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {5494#false} is VALID [2018-11-23 12:22:01,588 INFO L273 TraceCheckUtils]: 23: Hoare triple {5494#false} ~i~0 := 0; {5494#false} is VALID [2018-11-23 12:22:01,588 INFO L273 TraceCheckUtils]: 24: Hoare triple {5494#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {5494#false} is VALID [2018-11-23 12:22:01,589 INFO L273 TraceCheckUtils]: 25: Hoare triple {5494#false} assume #t~short6; {5494#false} is VALID [2018-11-23 12:22:01,589 INFO L256 TraceCheckUtils]: 26: Hoare triple {5494#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5493#true} is VALID [2018-11-23 12:22:01,589 INFO L273 TraceCheckUtils]: 27: Hoare triple {5493#true} ~cond := #in~cond; {5493#true} is VALID [2018-11-23 12:22:01,589 INFO L273 TraceCheckUtils]: 28: Hoare triple {5493#true} assume !(0 == ~cond); {5493#true} is VALID [2018-11-23 12:22:01,589 INFO L273 TraceCheckUtils]: 29: Hoare triple {5493#true} assume true; {5493#true} is VALID [2018-11-23 12:22:01,589 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {5493#true} {5494#false} #99#return; {5494#false} is VALID [2018-11-23 12:22:01,590 INFO L273 TraceCheckUtils]: 31: Hoare triple {5494#false} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {5494#false} is VALID [2018-11-23 12:22:01,590 INFO L273 TraceCheckUtils]: 32: Hoare triple {5494#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5494#false} is VALID [2018-11-23 12:22:01,590 INFO L273 TraceCheckUtils]: 33: Hoare triple {5494#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {5494#false} is VALID [2018-11-23 12:22:01,590 INFO L273 TraceCheckUtils]: 34: Hoare triple {5494#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {5494#false} is VALID [2018-11-23 12:22:01,590 INFO L256 TraceCheckUtils]: 35: Hoare triple {5494#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5494#false} is VALID [2018-11-23 12:22:01,591 INFO L273 TraceCheckUtils]: 36: Hoare triple {5494#false} ~cond := #in~cond; {5494#false} is VALID [2018-11-23 12:22:01,591 INFO L273 TraceCheckUtils]: 37: Hoare triple {5494#false} assume 0 == ~cond; {5494#false} is VALID [2018-11-23 12:22:01,591 INFO L273 TraceCheckUtils]: 38: Hoare triple {5494#false} assume !false; {5494#false} is VALID [2018-11-23 12:22:01,592 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 11 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 12:22:01,592 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:22:01,593 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:22:01,593 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 39 [2018-11-23 12:22:01,593 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:01,593 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:22:01,721 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:01,721 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:22:01,722 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:22:01,722 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:22:01,722 INFO L87 Difference]: Start difference. First operand 175 states and 239 transitions. Second operand 3 states. [2018-11-23 12:22:02,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:02,613 INFO L93 Difference]: Finished difference Result 231 states and 310 transitions. [2018-11-23 12:22:02,613 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:22:02,613 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 39 [2018-11-23 12:22:02,613 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:02,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:22:02,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 80 transitions. [2018-11-23 12:22:02,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:22:02,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 80 transitions. [2018-11-23 12:22:02,616 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 80 transitions. [2018-11-23 12:22:03,024 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:03,029 INFO L225 Difference]: With dead ends: 231 [2018-11-23 12:22:03,029 INFO L226 Difference]: Without dead ends: 181 [2018-11-23 12:22:03,029 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:22:03,030 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 181 states. [2018-11-23 12:22:03,731 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 181 to 161. [2018-11-23 12:22:03,732 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:03,732 INFO L82 GeneralOperation]: Start isEquivalent. First operand 181 states. Second operand 161 states. [2018-11-23 12:22:03,732 INFO L74 IsIncluded]: Start isIncluded. First operand 181 states. Second operand 161 states. [2018-11-23 12:22:03,732 INFO L87 Difference]: Start difference. First operand 181 states. Second operand 161 states. [2018-11-23 12:22:03,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:03,737 INFO L93 Difference]: Finished difference Result 181 states and 240 transitions. [2018-11-23 12:22:03,737 INFO L276 IsEmpty]: Start isEmpty. Operand 181 states and 240 transitions. [2018-11-23 12:22:03,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:03,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:03,739 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand 181 states. [2018-11-23 12:22:03,739 INFO L87 Difference]: Start difference. First operand 161 states. Second operand 181 states. [2018-11-23 12:22:03,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:03,744 INFO L93 Difference]: Finished difference Result 181 states and 240 transitions. [2018-11-23 12:22:03,744 INFO L276 IsEmpty]: Start isEmpty. Operand 181 states and 240 transitions. [2018-11-23 12:22:03,745 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:03,745 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:03,745 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:03,745 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:03,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 161 states. [2018-11-23 12:22:03,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 161 states to 161 states and 214 transitions. [2018-11-23 12:22:03,750 INFO L78 Accepts]: Start accepts. Automaton has 161 states and 214 transitions. Word has length 39 [2018-11-23 12:22:03,750 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:03,750 INFO L480 AbstractCegarLoop]: Abstraction has 161 states and 214 transitions. [2018-11-23 12:22:03,750 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:22:03,751 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 214 transitions. [2018-11-23 12:22:03,751 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-23 12:22:03,751 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:03,752 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 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, 1] [2018-11-23 12:22:03,752 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:03,752 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:03,752 INFO L82 PathProgramCache]: Analyzing trace with hash -1972826024, now seen corresponding path program 1 times [2018-11-23 12:22:03,752 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:03,752 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:03,753 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:03,753 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:22:03,753 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:03,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:04,650 WARN L180 SmtUtils]: Spent 238.00 ms on a formula simplification. DAG size of input: 26 DAG size of output: 23 [2018-11-23 12:22:05,509 WARN L180 SmtUtils]: Spent 130.00 ms on a formula simplification. DAG size of input: 22 DAG size of output: 19 [2018-11-23 12:22:05,816 INFO L256 TraceCheckUtils]: 0: Hoare triple {6359#true} call ULTIMATE.init(); {6359#true} is VALID [2018-11-23 12:22:05,816 INFO L273 TraceCheckUtils]: 1: Hoare triple {6359#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {6359#true} is VALID [2018-11-23 12:22:05,817 INFO L273 TraceCheckUtils]: 2: Hoare triple {6359#true} assume true; {6359#true} is VALID [2018-11-23 12:22:05,817 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6359#true} {6359#true} #95#return; {6359#true} is VALID [2018-11-23 12:22:05,817 INFO L256 TraceCheckUtils]: 4: Hoare triple {6359#true} call #t~ret7 := main(); {6359#true} is VALID [2018-11-23 12:22:05,817 INFO L273 TraceCheckUtils]: 5: Hoare triple {6359#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {6359#true} is VALID [2018-11-23 12:22:05,818 INFO L273 TraceCheckUtils]: 6: Hoare triple {6359#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {6361#(<= (+ main_~CCCELVOL1~0 4) main_~CCCELVOL4~0)} is VALID [2018-11-23 12:22:05,819 INFO L273 TraceCheckUtils]: 7: Hoare triple {6361#(<= (+ main_~CCCELVOL1~0 4) main_~CCCELVOL4~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {6362#(and (= main_~i~0 1) (<= (+ main_~CCCELVOL1~0 4) main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:05,820 INFO L273 TraceCheckUtils]: 8: Hoare triple {6362#(and (= main_~i~0 1) (<= (+ main_~CCCELVOL1~0 4) main_~CCCELVOL4~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {6362#(and (= main_~i~0 1) (<= (+ main_~CCCELVOL1~0 4) main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:05,820 INFO L273 TraceCheckUtils]: 9: Hoare triple {6362#(and (= main_~i~0 1) (<= (+ main_~CCCELVOL1~0 4) main_~CCCELVOL4~0))} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {6362#(and (= main_~i~0 1) (<= (+ main_~CCCELVOL1~0 4) main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:05,821 INFO L273 TraceCheckUtils]: 10: Hoare triple {6362#(and (= main_~i~0 1) (<= (+ main_~CCCELVOL1~0 4) main_~CCCELVOL4~0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {6363#(and (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (<= (+ main_~CCCELVOL1~0 4) main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:05,822 INFO L273 TraceCheckUtils]: 11: Hoare triple {6363#(and (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (<= (+ main_~CCCELVOL1~0 4) main_~CCCELVOL4~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {6363#(and (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (<= (+ main_~CCCELVOL1~0 4) main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:05,823 INFO L273 TraceCheckUtils]: 12: Hoare triple {6363#(and (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (<= (+ main_~CCCELVOL1~0 4) main_~CCCELVOL4~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {6363#(and (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (<= (+ main_~CCCELVOL1~0 4) main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:05,824 INFO L273 TraceCheckUtils]: 13: Hoare triple {6363#(and (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (<= (+ main_~CCCELVOL1~0 4) main_~CCCELVOL4~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {6364#(and (= main_~CCCELVOL4~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (<= (+ main_~MINVAL~0 4) main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:05,825 INFO L273 TraceCheckUtils]: 14: Hoare triple {6364#(and (= main_~CCCELVOL4~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (<= (+ main_~MINVAL~0 4) main_~CCCELVOL4~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6365#(and (not (= (* 20 main_~i~0) 20)) (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)) main_~CCCELVOL5~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (<= (+ main_~MINVAL~0 4) main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:05,827 INFO L273 TraceCheckUtils]: 15: Hoare triple {6365#(and (not (= (* 20 main_~i~0) 20)) (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)) main_~CCCELVOL5~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (<= (+ main_~MINVAL~0 4) main_~CCCELVOL4~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {6365#(and (not (= (* 20 main_~i~0) 20)) (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)) main_~CCCELVOL5~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (<= (+ main_~MINVAL~0 4) main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:05,828 INFO L273 TraceCheckUtils]: 16: Hoare triple {6365#(and (not (= (* 20 main_~i~0) 20)) (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)) main_~CCCELVOL5~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (<= (+ main_~MINVAL~0 4) main_~CCCELVOL4~0))} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {6366#(and (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (<= (+ main_~MINVAL~0 4) main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:05,830 INFO L273 TraceCheckUtils]: 17: Hoare triple {6366#(and (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (<= (+ main_~MINVAL~0 4) main_~CCCELVOL4~0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {6367#(<= (+ main_~MINVAL~0 4) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} is VALID [2018-11-23 12:22:05,831 INFO L273 TraceCheckUtils]: 18: Hoare triple {6367#(<= (+ main_~MINVAL~0 4) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {6367#(<= (+ main_~MINVAL~0 4) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} is VALID [2018-11-23 12:22:05,832 INFO L273 TraceCheckUtils]: 19: Hoare triple {6367#(<= (+ main_~MINVAL~0 4) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {6367#(<= (+ main_~MINVAL~0 4) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} is VALID [2018-11-23 12:22:05,834 INFO L273 TraceCheckUtils]: 20: Hoare triple {6367#(<= (+ main_~MINVAL~0 4) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {6367#(<= (+ main_~MINVAL~0 4) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} is VALID [2018-11-23 12:22:05,835 INFO L273 TraceCheckUtils]: 21: Hoare triple {6367#(<= (+ main_~MINVAL~0 4) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6367#(<= (+ main_~MINVAL~0 4) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} is VALID [2018-11-23 12:22:05,835 INFO L273 TraceCheckUtils]: 22: Hoare triple {6367#(<= (+ main_~MINVAL~0 4) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {6367#(<= (+ main_~MINVAL~0 4) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} is VALID [2018-11-23 12:22:05,836 INFO L273 TraceCheckUtils]: 23: Hoare triple {6367#(<= (+ main_~MINVAL~0 4) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} ~i~0 := 0; {6368#(and (<= (+ main_~MINVAL~0 4) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:05,837 INFO L273 TraceCheckUtils]: 24: Hoare triple {6368#(and (<= (+ main_~MINVAL~0 4) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {6368#(and (<= (+ main_~MINVAL~0 4) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:05,838 INFO L273 TraceCheckUtils]: 25: Hoare triple {6368#(and (<= (+ main_~MINVAL~0 4) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} assume #t~short6; {6368#(and (<= (+ main_~MINVAL~0 4) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:05,838 INFO L256 TraceCheckUtils]: 26: Hoare triple {6368#(and (<= (+ main_~MINVAL~0 4) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6359#true} is VALID [2018-11-23 12:22:05,839 INFO L273 TraceCheckUtils]: 27: Hoare triple {6359#true} ~cond := #in~cond; {6359#true} is VALID [2018-11-23 12:22:05,839 INFO L273 TraceCheckUtils]: 28: Hoare triple {6359#true} assume !(0 == ~cond); {6359#true} is VALID [2018-11-23 12:22:05,839 INFO L273 TraceCheckUtils]: 29: Hoare triple {6359#true} assume true; {6359#true} is VALID [2018-11-23 12:22:05,840 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {6359#true} {6368#(and (<= (+ main_~MINVAL~0 4) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} #99#return; {6368#(and (<= (+ main_~MINVAL~0 4) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:05,841 INFO L273 TraceCheckUtils]: 31: Hoare triple {6368#(and (<= (+ main_~MINVAL~0 4) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {6368#(and (<= (+ main_~MINVAL~0 4) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:05,842 INFO L273 TraceCheckUtils]: 32: Hoare triple {6368#(and (<= (+ main_~MINVAL~0 4) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6369#(<= (+ main_~MINVAL~0 4) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:22:05,842 INFO L273 TraceCheckUtils]: 33: Hoare triple {6369#(<= (+ main_~MINVAL~0 4) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {6370#|main_#t~short6|} is VALID [2018-11-23 12:22:05,843 INFO L273 TraceCheckUtils]: 34: Hoare triple {6370#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {6360#false} is VALID [2018-11-23 12:22:05,843 INFO L256 TraceCheckUtils]: 35: Hoare triple {6360#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6360#false} is VALID [2018-11-23 12:22:05,843 INFO L273 TraceCheckUtils]: 36: Hoare triple {6360#false} ~cond := #in~cond; {6360#false} is VALID [2018-11-23 12:22:05,843 INFO L273 TraceCheckUtils]: 37: Hoare triple {6360#false} assume 0 == ~cond; {6360#false} is VALID [2018-11-23 12:22:05,843 INFO L273 TraceCheckUtils]: 38: Hoare triple {6360#false} assume !false; {6360#false} is VALID [2018-11-23 12:22:05,849 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 3 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:22:05,849 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:05,849 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:22:05,859 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:05,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:05,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:05,895 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:06,086 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:22:06,093 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:22:06,097 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,100 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,116 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,116 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:32, output treesize:28 [2018-11-23 12:22:06,183 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:22:06,191 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,194 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:22:06,199 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,207 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,225 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,226 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:44, output treesize:40 [2018-11-23 12:22:06,307 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 34 [2018-11-23 12:22:06,318 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,320 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,321 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,326 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 34 treesize of output 79 [2018-11-23 12:22:06,332 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,346 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,366 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,366 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:56, output treesize:52 [2018-11-23 12:22:06,468 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 53 treesize of output 44 [2018-11-23 12:22:06,480 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,482 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,483 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,484 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,486 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,488 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,501 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 44 treesize of output 133 [2018-11-23 12:22:06,509 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,530 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,555 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,556 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:68, output treesize:64 [2018-11-23 12:22:06,769 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 53 treesize of output 42 [2018-11-23 12:22:06,785 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,785 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,786 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,787 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,789 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,790 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,791 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,792 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,794 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,795 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,807 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,813 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 11 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 42 treesize of output 151 [2018-11-23 12:22:06,819 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,854 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,887 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,887 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:68, output treesize:70 [2018-11-23 12:22:06,894 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:06,894 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_47|, main_~CCCELVOL5~0]. (let ((.cse0 (select |v_#memory_int_47| |main_~#volArray~0.base|))) (and (= (select .cse0 (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL4~0) (<= 2 main_~i~0) (= main_~CCCELVOL2~0 (select .cse0 (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 main_~CCCELVOL5~0) (<= main_~CCCELVOL5~0 2) (= (select .cse0 (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0) (= |#memory_int| (store |v_#memory_int_47| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)) main_~CCCELVOL5~0))) (= (select .cse0 (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (<= 5 main_~CCCELVOL4~0))) [2018-11-23 12:22:06,895 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#volArray~0.base|))) (let ((.cse1 (select .cse0 (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))))) (and (<= 2 main_~i~0) (= (select .cse0 (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL4~0) (<= .cse1 2) (= |main_~#volArray~0.offset| 0) (= (select .cse0 (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= (select .cse0 (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (= (select .cse0 (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (<= main_~MINVAL~0 .cse1) (<= 5 main_~CCCELVOL4~0)))) [2018-11-23 12:22:07,016 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 83 treesize of output 66 [2018-11-23 12:22:07,033 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,034 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,035 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,036 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,038 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,039 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,040 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,041 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,042 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,043 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,045 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,046 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,049 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,050 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,051 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,053 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,072 INFO L478 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 66 treesize of output 248 [2018-11-23 12:22:07,080 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:07,133 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:07,160 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:07,160 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:89, output treesize:85 [2018-11-23 12:22:07,307 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 92 treesize of output 73 [2018-11-23 12:22:07,325 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,326 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,328 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,329 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,331 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,332 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,334 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,335 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,336 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,338 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,339 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,341 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,342 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,343 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,345 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,346 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,348 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,349 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,351 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,352 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,354 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,360 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,393 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 22 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 73 treesize of output 329 [2018-11-23 12:22:07,400 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:07,468 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:07,493 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:07,493 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:98, output treesize:94 [2018-11-23 12:22:07,615 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 101 treesize of output 80 [2018-11-23 12:22:07,634 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,635 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,637 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,639 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,640 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,642 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,643 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,645 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,646 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,648 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,650 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,651 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,653 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,654 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,656 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,657 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,659 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,661 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,662 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,664 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,665 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,667 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,669 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,670 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,672 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,673 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,675 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,677 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,685 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:07,746 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 29 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 80 treesize of output 424 [2018-11-23 12:22:07,758 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:07,849 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:07,875 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:07,875 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:107, output treesize:103 [2018-11-23 12:22:08,030 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 110 treesize of output 87 [2018-11-23 12:22:08,067 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,068 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,069 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,070 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,071 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,072 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,085 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,086 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,086 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,087 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,088 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,089 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,090 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,091 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,092 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,094 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,095 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,096 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,097 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,099 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,100 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,101 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,102 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,103 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,104 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,106 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,107 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,108 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,110 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,111 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,112 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,113 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,115 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,117 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,118 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,120 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,126 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:08,165 INFO L303 Elim1Store]: Index analysis took 102 ms [2018-11-23 12:22:08,173 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 8 select indices, 8 select index equivalence classes, 37 disjoint index pairs (out of 28 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 87 treesize of output 533 [2018-11-23 12:22:08,182 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:08,297 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:08,323 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 12:22:08,324 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:116, output treesize:112 [2018-11-23 12:22:09,215 INFO L256 TraceCheckUtils]: 0: Hoare triple {6359#true} call ULTIMATE.init(); {6359#true} is VALID [2018-11-23 12:22:09,216 INFO L273 TraceCheckUtils]: 1: Hoare triple {6359#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {6359#true} is VALID [2018-11-23 12:22:09,216 INFO L273 TraceCheckUtils]: 2: Hoare triple {6359#true} assume true; {6359#true} is VALID [2018-11-23 12:22:09,216 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6359#true} {6359#true} #95#return; {6359#true} is VALID [2018-11-23 12:22:09,216 INFO L256 TraceCheckUtils]: 4: Hoare triple {6359#true} call #t~ret7 := main(); {6359#true} is VALID [2018-11-23 12:22:09,216 INFO L273 TraceCheckUtils]: 5: Hoare triple {6359#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {6359#true} is VALID [2018-11-23 12:22:09,217 INFO L273 TraceCheckUtils]: 6: Hoare triple {6359#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {6392#(and (<= main_~CCCELVOL5~0 2) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:09,218 INFO L273 TraceCheckUtils]: 7: Hoare triple {6392#(and (<= main_~CCCELVOL5~0 2) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {6396#(and (<= main_~CCCELVOL5~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:09,218 INFO L273 TraceCheckUtils]: 8: Hoare triple {6396#(and (<= main_~CCCELVOL5~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {6396#(and (<= main_~CCCELVOL5~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:09,219 INFO L273 TraceCheckUtils]: 9: Hoare triple {6396#(and (<= main_~CCCELVOL5~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {6403#(and (<= main_~MINVAL~0 main_~CCCELVOL5~0) (<= main_~CCCELVOL5~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:09,220 INFO L273 TraceCheckUtils]: 10: Hoare triple {6403#(and (<= main_~MINVAL~0 main_~CCCELVOL5~0) (<= main_~CCCELVOL5~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {6407#(and (= main_~CCCELVOL4~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (<= main_~MINVAL~0 main_~CCCELVOL5~0) (<= main_~CCCELVOL5~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:09,221 INFO L273 TraceCheckUtils]: 11: Hoare triple {6407#(and (= main_~CCCELVOL4~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (<= main_~MINVAL~0 main_~CCCELVOL5~0) (<= main_~CCCELVOL5~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {6411#(and (= main_~CCCELVOL4~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (<= main_~MINVAL~0 main_~CCCELVOL5~0) (<= main_~CCCELVOL5~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:09,222 INFO L273 TraceCheckUtils]: 12: Hoare triple {6411#(and (= main_~CCCELVOL4~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (<= main_~MINVAL~0 main_~CCCELVOL5~0) (<= main_~CCCELVOL5~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {6415#(and (= main_~CCCELVOL4~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (<= main_~MINVAL~0 main_~CCCELVOL5~0) (<= main_~CCCELVOL5~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8))) main_~CCCELVOL2~0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:09,224 INFO L273 TraceCheckUtils]: 13: Hoare triple {6415#(and (= main_~CCCELVOL4~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (<= main_~MINVAL~0 main_~CCCELVOL5~0) (<= main_~CCCELVOL5~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8))) main_~CCCELVOL2~0) (<= 5 main_~CCCELVOL4~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {6419#(and (= main_~CCCELVOL4~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (<= main_~MINVAL~0 main_~CCCELVOL5~0) (<= main_~CCCELVOL5~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= main_~CCCELVOL1~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8))) main_~CCCELVOL2~0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:09,226 INFO L273 TraceCheckUtils]: 14: Hoare triple {6419#(and (= main_~CCCELVOL4~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (<= main_~MINVAL~0 main_~CCCELVOL5~0) (<= main_~CCCELVOL5~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= main_~CCCELVOL1~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8))) main_~CCCELVOL2~0) (<= 5 main_~CCCELVOL4~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6423#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL4~0) (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL5~0) (<= main_~CCCELVOL5~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:09,227 INFO L273 TraceCheckUtils]: 15: Hoare triple {6423#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL4~0) (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL5~0) (<= main_~CCCELVOL5~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= 5 main_~CCCELVOL4~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {6423#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL4~0) (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL5~0) (<= main_~CCCELVOL5~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:09,229 INFO L273 TraceCheckUtils]: 16: Hoare triple {6423#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL4~0) (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL5~0) (<= main_~CCCELVOL5~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= 5 main_~CCCELVOL4~0))} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {6430#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL4~0) (<= 2 main_~i~0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:09,231 INFO L273 TraceCheckUtils]: 17: Hoare triple {6430#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL4~0) (<= 2 main_~i~0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))) (<= 5 main_~CCCELVOL4~0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {6434#(and (<= 2 main_~i~0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))))} is VALID [2018-11-23 12:22:09,234 INFO L273 TraceCheckUtils]: 18: Hoare triple {6434#(and (<= 2 main_~i~0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {6438#(and (<= 2 main_~i~0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:22:09,236 INFO L273 TraceCheckUtils]: 19: Hoare triple {6438#(and (<= 2 main_~i~0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {6442#(and (<= 2 main_~i~0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:22:09,239 INFO L273 TraceCheckUtils]: 20: Hoare triple {6442#(and (<= 2 main_~i~0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {6446#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:09,242 INFO L273 TraceCheckUtils]: 21: Hoare triple {6446#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6446#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:09,244 INFO L273 TraceCheckUtils]: 22: Hoare triple {6446#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))) (= |main_~#volArray~0.offset| 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {6446#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:09,246 INFO L273 TraceCheckUtils]: 23: Hoare triple {6446#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))) (= |main_~#volArray~0.offset| 0))} ~i~0 := 0; {6456#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 8)))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:09,248 INFO L273 TraceCheckUtils]: 24: Hoare triple {6456#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 8)))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 4)))))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {6456#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 8)))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:09,250 INFO L273 TraceCheckUtils]: 25: Hoare triple {6456#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 8)))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 4)))))) (= main_~i~0 0))} assume #t~short6; {6456#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 8)))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:09,252 INFO L256 TraceCheckUtils]: 26: Hoare triple {6456#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 8)))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 4)))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6466#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 4))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 16)))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 12))))))} is VALID [2018-11-23 12:22:09,253 INFO L273 TraceCheckUtils]: 27: Hoare triple {6466#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 4))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 16)))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 12))))))} ~cond := #in~cond; {6466#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 4))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 16)))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 12))))))} is VALID [2018-11-23 12:22:09,254 INFO L273 TraceCheckUtils]: 28: Hoare triple {6466#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 4))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 16)))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 12))))))} assume !(0 == ~cond); {6466#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 4))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 16)))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 12))))))} is VALID [2018-11-23 12:22:09,255 INFO L273 TraceCheckUtils]: 29: Hoare triple {6466#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 4))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 16)))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 12))))))} assume true; {6466#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 4))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 16)))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 12))))))} is VALID [2018-11-23 12:22:09,256 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {6466#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 4))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 16)))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) (+ (* 20 v_prenex_1) (- 12))))))} {6456#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 8)))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 4)))))) (= main_~i~0 0))} #99#return; {6456#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 8)))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:09,257 INFO L273 TraceCheckUtils]: 31: Hoare triple {6456#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 8)))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 4)))))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {6456#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 8)))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:09,259 INFO L273 TraceCheckUtils]: 32: Hoare triple {6456#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 8)))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 4)))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6485#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 8)))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 4)))))))} is VALID [2018-11-23 12:22:09,261 INFO L273 TraceCheckUtils]: 33: Hoare triple {6485#(and (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= 2 v_prenex_1) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20))) 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 8)))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 20)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_1) (- 4)))))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {6370#|main_#t~short6|} is VALID [2018-11-23 12:22:09,261 INFO L273 TraceCheckUtils]: 34: Hoare triple {6370#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {6360#false} is VALID [2018-11-23 12:22:09,262 INFO L256 TraceCheckUtils]: 35: Hoare triple {6360#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6360#false} is VALID [2018-11-23 12:22:09,262 INFO L273 TraceCheckUtils]: 36: Hoare triple {6360#false} ~cond := #in~cond; {6360#false} is VALID [2018-11-23 12:22:09,262 INFO L273 TraceCheckUtils]: 37: Hoare triple {6360#false} assume 0 == ~cond; {6360#false} is VALID [2018-11-23 12:22:09,262 INFO L273 TraceCheckUtils]: 38: Hoare triple {6360#false} assume !false; {6360#false} is VALID [2018-11-23 12:22:09,308 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 3 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:22:09,326 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:09,327 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 19] total 28 [2018-11-23 12:22:09,327 INFO L78 Accepts]: Start accepts. Automaton has 28 states. Word has length 39 [2018-11-23 12:22:09,327 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:09,328 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 28 states. [2018-11-23 12:22:09,448 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:09,448 INFO L459 AbstractCegarLoop]: Interpolant automaton has 28 states [2018-11-23 12:22:09,449 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2018-11-23 12:22:09,449 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=667, Unknown=0, NotChecked=0, Total=756 [2018-11-23 12:22:09,450 INFO L87 Difference]: Start difference. First operand 161 states and 214 transitions. Second operand 28 states. [2018-11-23 12:22:14,605 WARN L180 SmtUtils]: Spent 282.00 ms on a formula simplification. DAG size of input: 69 DAG size of output: 65 [2018-11-23 12:22:15,085 WARN L180 SmtUtils]: Spent 131.00 ms on a formula simplification. DAG size of input: 75 DAG size of output: 71 [2018-11-23 12:22:18,404 WARN L180 SmtUtils]: Spent 217.00 ms on a formula simplification. DAG size of input: 73 DAG size of output: 68 [2018-11-23 12:22:18,712 WARN L180 SmtUtils]: Spent 107.00 ms on a formula simplification. DAG size of input: 75 DAG size of output: 71 [2018-11-23 12:22:19,272 WARN L180 SmtUtils]: Spent 109.00 ms on a formula simplification. DAG size of input: 75 DAG size of output: 71 [2018-11-23 12:22:19,968 WARN L180 SmtUtils]: Spent 141.00 ms on a formula simplification. DAG size of input: 75 DAG size of output: 71 [2018-11-23 12:22:27,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:27,102 INFO L93 Difference]: Finished difference Result 371 states and 496 transitions. [2018-11-23 12:22:27,102 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 49 states. [2018-11-23 12:22:27,102 INFO L78 Accepts]: Start accepts. Automaton has 28 states. Word has length 39 [2018-11-23 12:22:27,102 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:27,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-23 12:22:27,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 274 transitions. [2018-11-23 12:22:27,107 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-23 12:22:27,112 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 274 transitions. [2018-11-23 12:22:27,112 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 49 states and 274 transitions. [2018-11-23 12:22:28,091 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 274 edges. 274 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:28,101 INFO L225 Difference]: With dead ends: 371 [2018-11-23 12:22:28,101 INFO L226 Difference]: Without dead ends: 335 [2018-11-23 12:22:28,103 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 102 GetRequests, 23 SyntacticMatches, 7 SemanticMatches, 72 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1437 ImplicationChecksByTransitivity, 7.9s TimeCoverageRelationStatistics Valid=836, Invalid=4566, Unknown=0, NotChecked=0, Total=5402 [2018-11-23 12:22:28,104 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 335 states. [2018-11-23 12:22:29,360 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 335 to 224. [2018-11-23 12:22:29,361 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:29,361 INFO L82 GeneralOperation]: Start isEquivalent. First operand 335 states. Second operand 224 states. [2018-11-23 12:22:29,361 INFO L74 IsIncluded]: Start isIncluded. First operand 335 states. Second operand 224 states. [2018-11-23 12:22:29,361 INFO L87 Difference]: Start difference. First operand 335 states. Second operand 224 states. [2018-11-23 12:22:29,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:29,373 INFO L93 Difference]: Finished difference Result 335 states and 443 transitions. [2018-11-23 12:22:29,373 INFO L276 IsEmpty]: Start isEmpty. Operand 335 states and 443 transitions. [2018-11-23 12:22:29,374 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:29,374 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:29,374 INFO L74 IsIncluded]: Start isIncluded. First operand 224 states. Second operand 335 states. [2018-11-23 12:22:29,374 INFO L87 Difference]: Start difference. First operand 224 states. Second operand 335 states. [2018-11-23 12:22:29,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:29,384 INFO L93 Difference]: Finished difference Result 335 states and 443 transitions. [2018-11-23 12:22:29,385 INFO L276 IsEmpty]: Start isEmpty. Operand 335 states and 443 transitions. [2018-11-23 12:22:29,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:29,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:29,386 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:29,386 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:29,386 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 224 states. [2018-11-23 12:22:29,392 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 224 states to 224 states and 299 transitions. [2018-11-23 12:22:29,392 INFO L78 Accepts]: Start accepts. Automaton has 224 states and 299 transitions. Word has length 39 [2018-11-23 12:22:29,392 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:29,392 INFO L480 AbstractCegarLoop]: Abstraction has 224 states and 299 transitions. [2018-11-23 12:22:29,392 INFO L481 AbstractCegarLoop]: Interpolant automaton has 28 states. [2018-11-23 12:22:29,392 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 299 transitions. [2018-11-23 12:22:29,393 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-23 12:22:29,393 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:29,394 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 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, 1] [2018-11-23 12:22:29,394 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:29,394 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:29,394 INFO L82 PathProgramCache]: Analyzing trace with hash -1087568936, now seen corresponding path program 1 times [2018-11-23 12:22:29,394 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:29,394 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:29,395 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:29,395 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:29,395 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:29,409 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:30,105 WARN L180 SmtUtils]: Spent 295.00 ms on a formula simplification. DAG size of input: 25 DAG size of output: 22 [2018-11-23 12:22:31,055 INFO L256 TraceCheckUtils]: 0: Hoare triple {8020#true} call ULTIMATE.init(); {8020#true} is VALID [2018-11-23 12:22:31,055 INFO L273 TraceCheckUtils]: 1: Hoare triple {8020#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {8020#true} is VALID [2018-11-23 12:22:31,055 INFO L273 TraceCheckUtils]: 2: Hoare triple {8020#true} assume true; {8020#true} is VALID [2018-11-23 12:22:31,056 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8020#true} {8020#true} #95#return; {8020#true} is VALID [2018-11-23 12:22:31,056 INFO L256 TraceCheckUtils]: 4: Hoare triple {8020#true} call #t~ret7 := main(); {8020#true} is VALID [2018-11-23 12:22:31,056 INFO L273 TraceCheckUtils]: 5: Hoare triple {8020#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {8020#true} is VALID [2018-11-23 12:22:31,056 INFO L273 TraceCheckUtils]: 6: Hoare triple {8020#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {8020#true} is VALID [2018-11-23 12:22:31,057 INFO L273 TraceCheckUtils]: 7: Hoare triple {8020#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {8022#(= main_~i~0 1)} is VALID [2018-11-23 12:22:31,057 INFO L273 TraceCheckUtils]: 8: Hoare triple {8022#(= main_~i~0 1)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {8022#(= main_~i~0 1)} is VALID [2018-11-23 12:22:31,058 INFO L273 TraceCheckUtils]: 9: Hoare triple {8022#(= main_~i~0 1)} assume !(~CCCELVOL5~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {8022#(= main_~i~0 1)} is VALID [2018-11-23 12:22:31,059 INFO L273 TraceCheckUtils]: 10: Hoare triple {8022#(= main_~i~0 1)} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {8023#(and (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:31,059 INFO L273 TraceCheckUtils]: 11: Hoare triple {8023#(and (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {8023#(and (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:31,074 INFO L273 TraceCheckUtils]: 12: Hoare triple {8023#(and (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {8023#(and (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:31,075 INFO L273 TraceCheckUtils]: 13: Hoare triple {8023#(and (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {8023#(and (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:31,076 INFO L273 TraceCheckUtils]: 14: Hoare triple {8023#(and (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8024#(and (not (= (* 20 main_~i~0) 20)) (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)) 0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:31,078 INFO L273 TraceCheckUtils]: 15: Hoare triple {8024#(and (not (= (* 20 main_~i~0) 20)) (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)) 0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {8024#(and (not (= (* 20 main_~i~0) 20)) (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)) 0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:31,079 INFO L273 TraceCheckUtils]: 16: Hoare triple {8024#(and (not (= (* 20 main_~i~0) 20)) (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)) 0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} assume !(~CCCELVOL5~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {8025#(and (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:31,079 INFO L273 TraceCheckUtils]: 17: Hoare triple {8025#(and (= main_~CCCELVOL4~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {8026#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} is VALID [2018-11-23 12:22:31,081 INFO L273 TraceCheckUtils]: 18: Hoare triple {8026#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {8026#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} is VALID [2018-11-23 12:22:31,082 INFO L273 TraceCheckUtils]: 19: Hoare triple {8026#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {8026#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} is VALID [2018-11-23 12:22:31,083 INFO L273 TraceCheckUtils]: 20: Hoare triple {8026#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {8026#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} is VALID [2018-11-23 12:22:31,084 INFO L273 TraceCheckUtils]: 21: Hoare triple {8026#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8026#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} is VALID [2018-11-23 12:22:31,085 INFO L273 TraceCheckUtils]: 22: Hoare triple {8026#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {8026#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} is VALID [2018-11-23 12:22:31,086 INFO L273 TraceCheckUtils]: 23: Hoare triple {8026#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16)))))} ~i~0 := 0; {8027#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:31,087 INFO L273 TraceCheckUtils]: 24: Hoare triple {8027#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {8027#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:31,088 INFO L273 TraceCheckUtils]: 25: Hoare triple {8027#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} assume #t~short6; {8027#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:31,088 INFO L256 TraceCheckUtils]: 26: Hoare triple {8027#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {8020#true} is VALID [2018-11-23 12:22:31,088 INFO L273 TraceCheckUtils]: 27: Hoare triple {8020#true} ~cond := #in~cond; {8020#true} is VALID [2018-11-23 12:22:31,088 INFO L273 TraceCheckUtils]: 28: Hoare triple {8020#true} assume !(0 == ~cond); {8020#true} is VALID [2018-11-23 12:22:31,088 INFO L273 TraceCheckUtils]: 29: Hoare triple {8020#true} assume true; {8020#true} is VALID [2018-11-23 12:22:31,090 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {8020#true} {8027#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} #99#return; {8027#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:31,091 INFO L273 TraceCheckUtils]: 31: Hoare triple {8027#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {8027#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:31,092 INFO L273 TraceCheckUtils]: 32: Hoare triple {8027#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 16))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8028#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:22:31,093 INFO L273 TraceCheckUtils]: 33: Hoare triple {8028#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {8029#|main_#t~short6|} is VALID [2018-11-23 12:22:31,093 INFO L273 TraceCheckUtils]: 34: Hoare triple {8029#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {8021#false} is VALID [2018-11-23 12:22:31,094 INFO L256 TraceCheckUtils]: 35: Hoare triple {8021#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {8021#false} is VALID [2018-11-23 12:22:31,094 INFO L273 TraceCheckUtils]: 36: Hoare triple {8021#false} ~cond := #in~cond; {8021#false} is VALID [2018-11-23 12:22:31,094 INFO L273 TraceCheckUtils]: 37: Hoare triple {8021#false} assume 0 == ~cond; {8021#false} is VALID [2018-11-23 12:22:31,094 INFO L273 TraceCheckUtils]: 38: Hoare triple {8021#false} assume !false; {8021#false} is VALID [2018-11-23 12:22:31,099 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 3 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:22:31,099 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:31,099 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:22:31,108 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:31,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:31,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:31,142 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:31,262 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:22:31,267 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:22:31,273 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:31,276 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:31,285 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:31,285 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:26, output treesize:22 [2018-11-23 12:22:31,321 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:22:31,327 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,330 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:22:31,332 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:31,340 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:31,352 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:31,352 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:38, output treesize:34 [2018-11-23 12:22:31,404 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 34 [2018-11-23 12:22:31,410 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,412 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,413 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,418 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 34 treesize of output 79 [2018-11-23 12:22:31,420 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:31,433 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:31,448 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:31,448 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:50, output treesize:46 [2018-11-23 12:22:31,514 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 53 treesize of output 44 [2018-11-23 12:22:31,520 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,522 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,523 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,524 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,526 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,527 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,541 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 44 treesize of output 133 [2018-11-23 12:22:31,543 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:31,563 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:31,581 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:31,582 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:62, output treesize:58 [2018-11-23 12:22:31,711 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 53 treesize of output 42 [2018-11-23 12:22:31,722 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,724 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,725 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,726 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,728 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,729 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,730 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,731 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,733 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,734 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,750 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 42 treesize of output 141 [2018-11-23 12:22:31,754 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:31,785 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:31,805 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:31,805 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:62, output treesize:58 [2018-11-23 12:22:31,901 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 71 treesize of output 56 [2018-11-23 12:22:31,916 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,918 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,919 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,920 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,922 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,923 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,925 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,926 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,927 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,929 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,930 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,932 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,933 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,935 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,936 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:31,964 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 56 treesize of output 217 [2018-11-23 12:22:31,967 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:32,010 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:32,030 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:32,031 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:77, output treesize:73 [2018-11-23 12:22:32,170 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 80 treesize of output 63 [2018-11-23 12:22:32,256 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,258 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,260 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,261 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,262 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,265 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,266 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,267 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,268 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,269 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,269 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,270 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,272 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,273 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,275 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,276 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,278 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,279 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,281 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,282 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,284 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,322 INFO L478 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 0 case distinctions, treesize of input 63 treesize of output 298 [2018-11-23 12:22:32,325 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:32,388 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:32,408 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:32,408 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:86, output treesize:82 [2018-11-23 12:22:32,491 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 89 treesize of output 70 [2018-11-23 12:22:32,504 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,506 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,507 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,509 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,510 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,512 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,513 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,515 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,516 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,518 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,519 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,521 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,522 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,524 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,525 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,526 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,528 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,529 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,531 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,535 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,536 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,537 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,538 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,540 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,541 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,543 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,544 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,546 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,594 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 28 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 70 treesize of output 393 [2018-11-23 12:22:32,598 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:32,682 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:32,703 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:32,704 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:95, output treesize:91 [2018-11-23 12:22:32,796 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 101 treesize of output 80 [2018-11-23 12:22:32,811 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,812 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,814 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,815 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,817 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,819 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,820 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,824 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,826 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,827 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,828 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,829 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,831 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,833 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,834 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,836 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,837 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,839 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,841 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,842 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,844 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,845 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,847 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,848 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,850 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,852 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,854 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,855 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,857 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,858 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,860 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,861 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,863 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,865 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,866 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,868 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:32,930 INFO L303 Elim1Store]: Index analysis took 123 ms [2018-11-23 12:22:32,936 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 8 select indices, 8 select index equivalence classes, 36 disjoint index pairs (out of 28 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 80 treesize of output 505 [2018-11-23 12:22:32,941 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:33,067 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:33,091 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 12:22:33,091 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:107, output treesize:103 [2018-11-23 12:22:33,692 INFO L256 TraceCheckUtils]: 0: Hoare triple {8020#true} call ULTIMATE.init(); {8020#true} is VALID [2018-11-23 12:22:33,692 INFO L273 TraceCheckUtils]: 1: Hoare triple {8020#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {8020#true} is VALID [2018-11-23 12:22:33,692 INFO L273 TraceCheckUtils]: 2: Hoare triple {8020#true} assume true; {8020#true} is VALID [2018-11-23 12:22:33,692 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8020#true} {8020#true} #95#return; {8020#true} is VALID [2018-11-23 12:22:33,693 INFO L256 TraceCheckUtils]: 4: Hoare triple {8020#true} call #t~ret7 := main(); {8020#true} is VALID [2018-11-23 12:22:33,693 INFO L273 TraceCheckUtils]: 5: Hoare triple {8020#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {8020#true} is VALID [2018-11-23 12:22:33,693 INFO L273 TraceCheckUtils]: 6: Hoare triple {8020#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {8051#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:22:33,694 INFO L273 TraceCheckUtils]: 7: Hoare triple {8051#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {8055#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:33,695 INFO L273 TraceCheckUtils]: 8: Hoare triple {8055#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {8055#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:33,695 INFO L273 TraceCheckUtils]: 9: Hoare triple {8055#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL5~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {8055#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:33,696 INFO L273 TraceCheckUtils]: 10: Hoare triple {8055#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {8065#(and (= main_~CCCELVOL4~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:33,697 INFO L273 TraceCheckUtils]: 11: Hoare triple {8065#(and (= main_~CCCELVOL4~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {8069#(and (= main_~CCCELVOL4~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:33,699 INFO L273 TraceCheckUtils]: 12: Hoare triple {8069#(and (= main_~CCCELVOL4~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {8073#(and (= main_~CCCELVOL4~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8))) main_~CCCELVOL2~0) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:33,700 INFO L273 TraceCheckUtils]: 13: Hoare triple {8073#(and (= main_~CCCELVOL4~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8))) main_~CCCELVOL2~0) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {8077#(and (= main_~CCCELVOL4~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) main_~CCCELVOL3~0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8))) main_~CCCELVOL2~0) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:33,702 INFO L273 TraceCheckUtils]: 14: Hoare triple {8077#(and (= main_~CCCELVOL4~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) main_~CCCELVOL3~0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8))) main_~CCCELVOL2~0) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8081#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL4~0) (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:33,703 INFO L273 TraceCheckUtils]: 15: Hoare triple {8081#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL4~0) (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {8081#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL4~0) (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:33,705 INFO L273 TraceCheckUtils]: 16: Hoare triple {8081#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL4~0) (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} assume !(~CCCELVOL5~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {8088#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL4~0) (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:22:33,707 INFO L273 TraceCheckUtils]: 17: Hoare triple {8088#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL4~0) (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {8092#(and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:22:33,709 INFO L273 TraceCheckUtils]: 18: Hoare triple {8092#(and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {8096#(and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:22:33,711 INFO L273 TraceCheckUtils]: 19: Hoare triple {8096#(and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {8100#(and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:22:33,714 INFO L273 TraceCheckUtils]: 20: Hoare triple {8100#(and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {8104#(and (exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:22:33,716 INFO L273 TraceCheckUtils]: 21: Hoare triple {8104#(and (exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8104#(and (exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:22:33,717 INFO L273 TraceCheckUtils]: 22: Hoare triple {8104#(and (exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {8104#(and (exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:22:33,718 INFO L273 TraceCheckUtils]: 23: Hoare triple {8104#(and (exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} ~i~0 := 0; {8114#(and (exists ((v_prenex_3 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 8)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 4)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 20))) 0))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:33,720 INFO L273 TraceCheckUtils]: 24: Hoare triple {8114#(and (exists ((v_prenex_3 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 8)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 4)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 20))) 0))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {8114#(and (exists ((v_prenex_3 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 8)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 4)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 20))) 0))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:33,721 INFO L273 TraceCheckUtils]: 25: Hoare triple {8114#(and (exists ((v_prenex_3 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 8)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 4)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 20))) 0))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} assume #t~short6; {8114#(and (exists ((v_prenex_3 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 8)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 4)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 20))) 0))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:33,724 INFO L256 TraceCheckUtils]: 26: Hoare triple {8114#(and (exists ((v_prenex_3 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 8)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 4)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 20))) 0))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {8124#(exists ((v_prenex_3 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 20))) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 4))) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 8)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 4) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 16))))))} is VALID [2018-11-23 12:22:33,725 INFO L273 TraceCheckUtils]: 27: Hoare triple {8124#(exists ((v_prenex_3 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 20))) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 4))) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 8)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 4) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 16))))))} ~cond := #in~cond; {8124#(exists ((v_prenex_3 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 20))) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 4))) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 8)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 4) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 16))))))} is VALID [2018-11-23 12:22:33,725 INFO L273 TraceCheckUtils]: 28: Hoare triple {8124#(exists ((v_prenex_3 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 20))) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 4))) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 8)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 4) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 16))))))} assume !(0 == ~cond); {8124#(exists ((v_prenex_3 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 20))) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 4))) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 8)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 4) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 16))))))} is VALID [2018-11-23 12:22:33,726 INFO L273 TraceCheckUtils]: 29: Hoare triple {8124#(exists ((v_prenex_3 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 20))) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 4))) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 8)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 4) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 16))))))} assume true; {8124#(exists ((v_prenex_3 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 20))) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 4))) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 8)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 4) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 16))))))} is VALID [2018-11-23 12:22:33,727 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {8124#(exists ((v_prenex_3 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 20))) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 4))) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 8)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 4) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) (+ (* 20 v_prenex_3) (- 16))))))} {8114#(and (exists ((v_prenex_3 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 8)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 4)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 20))) 0))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} #99#return; {8114#(and (exists ((v_prenex_3 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 8)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 4)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 20))) 0))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:33,729 INFO L273 TraceCheckUtils]: 31: Hoare triple {8114#(and (exists ((v_prenex_3 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 8)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 4)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 20))) 0))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {8114#(and (exists ((v_prenex_3 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 8)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 4)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 20))) 0))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:33,730 INFO L273 TraceCheckUtils]: 32: Hoare triple {8114#(and (exists ((v_prenex_3 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 8)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 4)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 20))) 0))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8143#(and (exists ((v_prenex_3 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 8)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 4)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 20))) 0))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:22:33,732 INFO L273 TraceCheckUtils]: 33: Hoare triple {8143#(and (exists ((v_prenex_3 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 8)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 4)))) (<= 2 v_prenex_3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_3) (- 20))) 0))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {8029#|main_#t~short6|} is VALID [2018-11-23 12:22:33,733 INFO L273 TraceCheckUtils]: 34: Hoare triple {8029#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {8021#false} is VALID [2018-11-23 12:22:33,733 INFO L256 TraceCheckUtils]: 35: Hoare triple {8021#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {8021#false} is VALID [2018-11-23 12:22:33,733 INFO L273 TraceCheckUtils]: 36: Hoare triple {8021#false} ~cond := #in~cond; {8021#false} is VALID [2018-11-23 12:22:33,733 INFO L273 TraceCheckUtils]: 37: Hoare triple {8021#false} assume 0 == ~cond; {8021#false} is VALID [2018-11-23 12:22:33,734 INFO L273 TraceCheckUtils]: 38: Hoare triple {8021#false} assume !false; {8021#false} is VALID [2018-11-23 12:22:33,747 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 3 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:22:33,765 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:33,765 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 18] total 25 [2018-11-23 12:22:33,766 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 39 [2018-11-23 12:22:33,766 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:33,766 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states. [2018-11-23 12:22:33,877 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:33,877 INFO L459 AbstractCegarLoop]: Interpolant automaton has 25 states [2018-11-23 12:22:33,877 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2018-11-23 12:22:33,878 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=480, Unknown=0, NotChecked=0, Total=600 [2018-11-23 12:22:33,878 INFO L87 Difference]: Start difference. First operand 224 states and 299 transitions. Second operand 25 states. [2018-11-23 12:22:45,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:45,199 INFO L93 Difference]: Finished difference Result 465 states and 622 transitions. [2018-11-23 12:22:45,199 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 43 states. [2018-11-23 12:22:45,199 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 39 [2018-11-23 12:22:45,200 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:45,200 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 12:22:45,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 281 transitions. [2018-11-23 12:22:45,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 12:22:45,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 281 transitions. [2018-11-23 12:22:45,210 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 43 states and 281 transitions. [2018-11-23 12:22:45,739 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 281 edges. 281 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:45,749 INFO L225 Difference]: With dead ends: 465 [2018-11-23 12:22:45,750 INFO L226 Difference]: Without dead ends: 439 [2018-11-23 12:22:45,751 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 24 SyntacticMatches, 8 SemanticMatches, 54 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 883 ImplicationChecksByTransitivity, 4.1s TimeCoverageRelationStatistics Valid=573, Invalid=2507, Unknown=0, NotChecked=0, Total=3080 [2018-11-23 12:22:45,751 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 439 states. [2018-11-23 12:22:47,415 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 439 to 239. [2018-11-23 12:22:47,416 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:47,416 INFO L82 GeneralOperation]: Start isEquivalent. First operand 439 states. Second operand 239 states. [2018-11-23 12:22:47,416 INFO L74 IsIncluded]: Start isIncluded. First operand 439 states. Second operand 239 states. [2018-11-23 12:22:47,416 INFO L87 Difference]: Start difference. First operand 439 states. Second operand 239 states. [2018-11-23 12:22:47,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:47,432 INFO L93 Difference]: Finished difference Result 439 states and 584 transitions. [2018-11-23 12:22:47,432 INFO L276 IsEmpty]: Start isEmpty. Operand 439 states and 584 transitions. [2018-11-23 12:22:47,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:47,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:47,433 INFO L74 IsIncluded]: Start isIncluded. First operand 239 states. Second operand 439 states. [2018-11-23 12:22:47,434 INFO L87 Difference]: Start difference. First operand 239 states. Second operand 439 states. [2018-11-23 12:22:47,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:47,448 INFO L93 Difference]: Finished difference Result 439 states and 584 transitions. [2018-11-23 12:22:47,448 INFO L276 IsEmpty]: Start isEmpty. Operand 439 states and 584 transitions. [2018-11-23 12:22:47,450 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:47,450 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:47,450 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:47,450 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:47,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 239 states. [2018-11-23 12:22:47,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 239 states to 239 states and 319 transitions. [2018-11-23 12:22:47,456 INFO L78 Accepts]: Start accepts. Automaton has 239 states and 319 transitions. Word has length 39 [2018-11-23 12:22:47,456 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:47,457 INFO L480 AbstractCegarLoop]: Abstraction has 239 states and 319 transitions. [2018-11-23 12:22:47,457 INFO L481 AbstractCegarLoop]: Interpolant automaton has 25 states. [2018-11-23 12:22:47,457 INFO L276 IsEmpty]: Start isEmpty. Operand 239 states and 319 transitions. [2018-11-23 12:22:47,458 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-23 12:22:47,458 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:47,458 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 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, 1, 1, 1] [2018-11-23 12:22:47,458 INFO L423 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:47,458 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:47,458 INFO L82 PathProgramCache]: Analyzing trace with hash 1404214042, now seen corresponding path program 1 times [2018-11-23 12:22:47,459 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:47,459 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:47,459 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:47,460 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:47,460 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:47,466 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:47,662 INFO L256 TraceCheckUtils]: 0: Hoare triple {9986#true} call ULTIMATE.init(); {9986#true} is VALID [2018-11-23 12:22:47,662 INFO L273 TraceCheckUtils]: 1: Hoare triple {9986#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {9986#true} is VALID [2018-11-23 12:22:47,662 INFO L273 TraceCheckUtils]: 2: Hoare triple {9986#true} assume true; {9986#true} is VALID [2018-11-23 12:22:47,663 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9986#true} {9986#true} #95#return; {9986#true} is VALID [2018-11-23 12:22:47,663 INFO L256 TraceCheckUtils]: 4: Hoare triple {9986#true} call #t~ret7 := main(); {9986#true} is VALID [2018-11-23 12:22:47,663 INFO L273 TraceCheckUtils]: 5: Hoare triple {9986#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {9986#true} is VALID [2018-11-23 12:22:47,663 INFO L273 TraceCheckUtils]: 6: Hoare triple {9986#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {9986#true} is VALID [2018-11-23 12:22:47,663 INFO L273 TraceCheckUtils]: 7: Hoare triple {9986#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {9986#true} is VALID [2018-11-23 12:22:47,663 INFO L273 TraceCheckUtils]: 8: Hoare triple {9986#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {9986#true} is VALID [2018-11-23 12:22:47,663 INFO L273 TraceCheckUtils]: 9: Hoare triple {9986#true} assume !(~CCCELVOL5~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {9986#true} is VALID [2018-11-23 12:22:47,668 INFO L273 TraceCheckUtils]: 10: Hoare triple {9986#true} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {9988#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:22:47,668 INFO L273 TraceCheckUtils]: 11: Hoare triple {9988#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {9988#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:22:47,669 INFO L273 TraceCheckUtils]: 12: Hoare triple {9988#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {9988#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:22:47,669 INFO L273 TraceCheckUtils]: 13: Hoare triple {9988#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {9988#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:22:47,670 INFO L273 TraceCheckUtils]: 14: Hoare triple {9988#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9988#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:22:47,671 INFO L273 TraceCheckUtils]: 15: Hoare triple {9988#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {9988#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:22:47,671 INFO L273 TraceCheckUtils]: 16: Hoare triple {9988#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} assume !(~CCCELVOL5~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {9988#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:22:47,672 INFO L273 TraceCheckUtils]: 17: Hoare triple {9988#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {9987#false} is VALID [2018-11-23 12:22:47,672 INFO L273 TraceCheckUtils]: 18: Hoare triple {9987#false} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {9987#false} is VALID [2018-11-23 12:22:47,672 INFO L273 TraceCheckUtils]: 19: Hoare triple {9987#false} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {9987#false} is VALID [2018-11-23 12:22:47,673 INFO L273 TraceCheckUtils]: 20: Hoare triple {9987#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {9987#false} is VALID [2018-11-23 12:22:47,673 INFO L273 TraceCheckUtils]: 21: Hoare triple {9987#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9987#false} is VALID [2018-11-23 12:22:47,673 INFO L273 TraceCheckUtils]: 22: Hoare triple {9987#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {9987#false} is VALID [2018-11-23 12:22:47,673 INFO L273 TraceCheckUtils]: 23: Hoare triple {9987#false} ~i~0 := 0; {9987#false} is VALID [2018-11-23 12:22:47,673 INFO L273 TraceCheckUtils]: 24: Hoare triple {9987#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {9987#false} is VALID [2018-11-23 12:22:47,674 INFO L273 TraceCheckUtils]: 25: Hoare triple {9987#false} assume #t~short6; {9987#false} is VALID [2018-11-23 12:22:47,674 INFO L256 TraceCheckUtils]: 26: Hoare triple {9987#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9986#true} is VALID [2018-11-23 12:22:47,674 INFO L273 TraceCheckUtils]: 27: Hoare triple {9986#true} ~cond := #in~cond; {9986#true} is VALID [2018-11-23 12:22:47,674 INFO L273 TraceCheckUtils]: 28: Hoare triple {9986#true} assume !(0 == ~cond); {9986#true} is VALID [2018-11-23 12:22:47,674 INFO L273 TraceCheckUtils]: 29: Hoare triple {9986#true} assume true; {9986#true} is VALID [2018-11-23 12:22:47,674 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {9986#true} {9987#false} #99#return; {9987#false} is VALID [2018-11-23 12:22:47,675 INFO L273 TraceCheckUtils]: 31: Hoare triple {9987#false} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {9987#false} is VALID [2018-11-23 12:22:47,675 INFO L273 TraceCheckUtils]: 32: Hoare triple {9987#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9987#false} is VALID [2018-11-23 12:22:47,675 INFO L273 TraceCheckUtils]: 33: Hoare triple {9987#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {9987#false} is VALID [2018-11-23 12:22:47,675 INFO L273 TraceCheckUtils]: 34: Hoare triple {9987#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {9987#false} is VALID [2018-11-23 12:22:47,675 INFO L256 TraceCheckUtils]: 35: Hoare triple {9987#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9987#false} is VALID [2018-11-23 12:22:47,675 INFO L273 TraceCheckUtils]: 36: Hoare triple {9987#false} ~cond := #in~cond; {9987#false} is VALID [2018-11-23 12:22:47,675 INFO L273 TraceCheckUtils]: 37: Hoare triple {9987#false} assume 0 == ~cond; {9987#false} is VALID [2018-11-23 12:22:47,675 INFO L273 TraceCheckUtils]: 38: Hoare triple {9987#false} assume !false; {9987#false} is VALID [2018-11-23 12:22:47,676 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 11 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 12:22:47,677 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:22:47,677 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:22:47,677 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 39 [2018-11-23 12:22:47,677 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:47,677 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:22:47,760 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:47,760 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:22:47,760 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:22:47,761 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:22:47,761 INFO L87 Difference]: Start difference. First operand 239 states and 319 transitions. Second operand 3 states. [2018-11-23 12:22:50,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:50,168 INFO L93 Difference]: Finished difference Result 290 states and 384 transitions. [2018-11-23 12:22:50,168 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:22:50,168 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 39 [2018-11-23 12:22:50,168 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:50,168 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:22:50,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 79 transitions. [2018-11-23 12:22:50,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:22:50,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 79 transitions. [2018-11-23 12:22:50,169 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 79 transitions. [2018-11-23 12:22:50,249 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:50,257 INFO L225 Difference]: With dead ends: 290 [2018-11-23 12:22:50,257 INFO L226 Difference]: Without dead ends: 247 [2018-11-23 12:22:50,257 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:22:50,258 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 247 states. [2018-11-23 12:22:51,895 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 247 to 239. [2018-11-23 12:22:51,895 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:51,895 INFO L82 GeneralOperation]: Start isEquivalent. First operand 247 states. Second operand 239 states. [2018-11-23 12:22:51,895 INFO L74 IsIncluded]: Start isIncluded. First operand 247 states. Second operand 239 states. [2018-11-23 12:22:51,896 INFO L87 Difference]: Start difference. First operand 247 states. Second operand 239 states. [2018-11-23 12:22:51,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:51,901 INFO L93 Difference]: Finished difference Result 247 states and 326 transitions. [2018-11-23 12:22:51,901 INFO L276 IsEmpty]: Start isEmpty. Operand 247 states and 326 transitions. [2018-11-23 12:22:51,902 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:51,902 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:51,902 INFO L74 IsIncluded]: Start isIncluded. First operand 239 states. Second operand 247 states. [2018-11-23 12:22:51,903 INFO L87 Difference]: Start difference. First operand 239 states. Second operand 247 states. [2018-11-23 12:22:51,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:51,909 INFO L93 Difference]: Finished difference Result 247 states and 326 transitions. [2018-11-23 12:22:51,909 INFO L276 IsEmpty]: Start isEmpty. Operand 247 states and 326 transitions. [2018-11-23 12:22:51,910 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:51,910 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:51,910 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:51,910 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:51,911 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 239 states. [2018-11-23 12:22:51,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 239 states to 239 states and 315 transitions. [2018-11-23 12:22:51,917 INFO L78 Accepts]: Start accepts. Automaton has 239 states and 315 transitions. Word has length 39 [2018-11-23 12:22:51,917 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:51,917 INFO L480 AbstractCegarLoop]: Abstraction has 239 states and 315 transitions. [2018-11-23 12:22:51,917 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:22:51,917 INFO L276 IsEmpty]: Start isEmpty. Operand 239 states and 315 transitions. [2018-11-23 12:22:51,918 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-23 12:22:51,918 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:51,918 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 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, 1] [2018-11-23 12:22:51,919 INFO L423 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:51,919 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:51,919 INFO L82 PathProgramCache]: Analyzing trace with hash -1044994408, now seen corresponding path program 1 times [2018-11-23 12:22:51,919 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:51,919 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:51,920 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:51,920 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:51,920 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:51,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:52,095 INFO L256 TraceCheckUtils]: 0: Hoare triple {11148#true} call ULTIMATE.init(); {11148#true} is VALID [2018-11-23 12:22:52,096 INFO L273 TraceCheckUtils]: 1: Hoare triple {11148#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {11148#true} is VALID [2018-11-23 12:22:52,096 INFO L273 TraceCheckUtils]: 2: Hoare triple {11148#true} assume true; {11148#true} is VALID [2018-11-23 12:22:52,096 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11148#true} {11148#true} #95#return; {11148#true} is VALID [2018-11-23 12:22:52,096 INFO L256 TraceCheckUtils]: 4: Hoare triple {11148#true} call #t~ret7 := main(); {11148#true} is VALID [2018-11-23 12:22:52,097 INFO L273 TraceCheckUtils]: 5: Hoare triple {11148#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {11148#true} is VALID [2018-11-23 12:22:52,098 INFO L273 TraceCheckUtils]: 6: Hoare triple {11148#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {11150#(<= (+ main_~CCCELVOL1~0 1) main_~CCCELVOL5~0)} is VALID [2018-11-23 12:22:52,098 INFO L273 TraceCheckUtils]: 7: Hoare triple {11150#(<= (+ main_~CCCELVOL1~0 1) main_~CCCELVOL5~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {11150#(<= (+ main_~CCCELVOL1~0 1) main_~CCCELVOL5~0)} is VALID [2018-11-23 12:22:52,099 INFO L273 TraceCheckUtils]: 8: Hoare triple {11150#(<= (+ main_~CCCELVOL1~0 1) main_~CCCELVOL5~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {11150#(<= (+ main_~CCCELVOL1~0 1) main_~CCCELVOL5~0)} is VALID [2018-11-23 12:22:52,100 INFO L273 TraceCheckUtils]: 9: Hoare triple {11150#(<= (+ main_~CCCELVOL1~0 1) main_~CCCELVOL5~0)} assume !(~CCCELVOL5~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {11151#(<= (+ main_~CCCELVOL1~0 2) main_~MINVAL~0)} is VALID [2018-11-23 12:22:52,100 INFO L273 TraceCheckUtils]: 10: Hoare triple {11151#(<= (+ main_~CCCELVOL1~0 2) main_~MINVAL~0)} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {11151#(<= (+ main_~CCCELVOL1~0 2) main_~MINVAL~0)} is VALID [2018-11-23 12:22:52,101 INFO L273 TraceCheckUtils]: 11: Hoare triple {11151#(<= (+ main_~CCCELVOL1~0 2) main_~MINVAL~0)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {11151#(<= (+ main_~CCCELVOL1~0 2) main_~MINVAL~0)} is VALID [2018-11-23 12:22:52,101 INFO L273 TraceCheckUtils]: 12: Hoare triple {11151#(<= (+ main_~CCCELVOL1~0 2) main_~MINVAL~0)} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {11151#(<= (+ main_~CCCELVOL1~0 2) main_~MINVAL~0)} is VALID [2018-11-23 12:22:52,108 INFO L273 TraceCheckUtils]: 13: Hoare triple {11151#(<= (+ main_~CCCELVOL1~0 2) main_~MINVAL~0)} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {11149#false} is VALID [2018-11-23 12:22:52,108 INFO L273 TraceCheckUtils]: 14: Hoare triple {11149#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11149#false} is VALID [2018-11-23 12:22:52,109 INFO L273 TraceCheckUtils]: 15: Hoare triple {11149#false} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {11149#false} is VALID [2018-11-23 12:22:52,109 INFO L273 TraceCheckUtils]: 16: Hoare triple {11149#false} assume !(~CCCELVOL5~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {11149#false} is VALID [2018-11-23 12:22:52,109 INFO L273 TraceCheckUtils]: 17: Hoare triple {11149#false} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {11149#false} is VALID [2018-11-23 12:22:52,109 INFO L273 TraceCheckUtils]: 18: Hoare triple {11149#false} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {11149#false} is VALID [2018-11-23 12:22:52,109 INFO L273 TraceCheckUtils]: 19: Hoare triple {11149#false} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {11149#false} is VALID [2018-11-23 12:22:52,109 INFO L273 TraceCheckUtils]: 20: Hoare triple {11149#false} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {11149#false} is VALID [2018-11-23 12:22:52,109 INFO L273 TraceCheckUtils]: 21: Hoare triple {11149#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11149#false} is VALID [2018-11-23 12:22:52,109 INFO L273 TraceCheckUtils]: 22: Hoare triple {11149#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {11149#false} is VALID [2018-11-23 12:22:52,110 INFO L273 TraceCheckUtils]: 23: Hoare triple {11149#false} ~i~0 := 0; {11149#false} is VALID [2018-11-23 12:22:52,110 INFO L273 TraceCheckUtils]: 24: Hoare triple {11149#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {11149#false} is VALID [2018-11-23 12:22:52,110 INFO L273 TraceCheckUtils]: 25: Hoare triple {11149#false} assume #t~short6; {11149#false} is VALID [2018-11-23 12:22:52,110 INFO L256 TraceCheckUtils]: 26: Hoare triple {11149#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {11148#true} is VALID [2018-11-23 12:22:52,110 INFO L273 TraceCheckUtils]: 27: Hoare triple {11148#true} ~cond := #in~cond; {11148#true} is VALID [2018-11-23 12:22:52,110 INFO L273 TraceCheckUtils]: 28: Hoare triple {11148#true} assume !(0 == ~cond); {11148#true} is VALID [2018-11-23 12:22:52,110 INFO L273 TraceCheckUtils]: 29: Hoare triple {11148#true} assume true; {11148#true} is VALID [2018-11-23 12:22:52,110 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {11148#true} {11149#false} #99#return; {11149#false} is VALID [2018-11-23 12:22:52,111 INFO L273 TraceCheckUtils]: 31: Hoare triple {11149#false} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {11149#false} is VALID [2018-11-23 12:22:52,111 INFO L273 TraceCheckUtils]: 32: Hoare triple {11149#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11149#false} is VALID [2018-11-23 12:22:52,111 INFO L273 TraceCheckUtils]: 33: Hoare triple {11149#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {11149#false} is VALID [2018-11-23 12:22:52,111 INFO L273 TraceCheckUtils]: 34: Hoare triple {11149#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {11149#false} is VALID [2018-11-23 12:22:52,111 INFO L256 TraceCheckUtils]: 35: Hoare triple {11149#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {11149#false} is VALID [2018-11-23 12:22:52,111 INFO L273 TraceCheckUtils]: 36: Hoare triple {11149#false} ~cond := #in~cond; {11149#false} is VALID [2018-11-23 12:22:52,111 INFO L273 TraceCheckUtils]: 37: Hoare triple {11149#false} assume 0 == ~cond; {11149#false} is VALID [2018-11-23 12:22:52,111 INFO L273 TraceCheckUtils]: 38: Hoare triple {11149#false} assume !false; {11149#false} is VALID [2018-11-23 12:22:52,112 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 9 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 12:22:52,113 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:22:52,113 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:22:52,113 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 39 [2018-11-23 12:22:52,113 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:52,113 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:22:52,151 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:52,151 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:22:52,151 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:22:52,151 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:22:52,152 INFO L87 Difference]: Start difference. First operand 239 states and 315 transitions. Second operand 4 states. [2018-11-23 12:22:53,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:53,994 INFO L93 Difference]: Finished difference Result 288 states and 376 transitions. [2018-11-23 12:22:53,994 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:22:53,994 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 39 [2018-11-23 12:22:53,995 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:53,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:22:53,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 78 transitions. [2018-11-23 12:22:53,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:22:53,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 78 transitions. [2018-11-23 12:22:53,996 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 78 transitions. [2018-11-23 12:22:54,175 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:54,180 INFO L225 Difference]: With dead ends: 288 [2018-11-23 12:22:54,180 INFO L226 Difference]: Without dead ends: 221 [2018-11-23 12:22:54,181 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:22:54,181 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 221 states. [2018-11-23 12:22:55,503 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 221 to 162. [2018-11-23 12:22:55,503 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:55,503 INFO L82 GeneralOperation]: Start isEquivalent. First operand 221 states. Second operand 162 states. [2018-11-23 12:22:55,504 INFO L74 IsIncluded]: Start isIncluded. First operand 221 states. Second operand 162 states. [2018-11-23 12:22:55,504 INFO L87 Difference]: Start difference. First operand 221 states. Second operand 162 states. [2018-11-23 12:22:55,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:55,509 INFO L93 Difference]: Finished difference Result 221 states and 288 transitions. [2018-11-23 12:22:55,509 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 288 transitions. [2018-11-23 12:22:55,510 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:55,511 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:55,511 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand 221 states. [2018-11-23 12:22:55,511 INFO L87 Difference]: Start difference. First operand 162 states. Second operand 221 states. [2018-11-23 12:22:55,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:55,516 INFO L93 Difference]: Finished difference Result 221 states and 288 transitions. [2018-11-23 12:22:55,516 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 288 transitions. [2018-11-23 12:22:55,517 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:55,517 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:55,518 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:55,518 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:55,518 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 162 states. [2018-11-23 12:22:55,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 162 states to 162 states and 212 transitions. [2018-11-23 12:22:55,522 INFO L78 Accepts]: Start accepts. Automaton has 162 states and 212 transitions. Word has length 39 [2018-11-23 12:22:55,522 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:55,522 INFO L480 AbstractCegarLoop]: Abstraction has 162 states and 212 transitions. [2018-11-23 12:22:55,522 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:22:55,522 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 212 transitions. [2018-11-23 12:22:55,523 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2018-11-23 12:22:55,523 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:55,523 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:55,523 INFO L423 AbstractCegarLoop]: === Iteration 16 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:55,523 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:55,524 INFO L82 PathProgramCache]: Analyzing trace with hash 1920676693, now seen corresponding path program 2 times [2018-11-23 12:22:55,524 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:55,524 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:55,524 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:55,525 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:55,525 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:55,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:56,183 INFO L256 TraceCheckUtils]: 0: Hoare triple {12166#true} call ULTIMATE.init(); {12166#true} is VALID [2018-11-23 12:22:56,183 INFO L273 TraceCheckUtils]: 1: Hoare triple {12166#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {12166#true} is VALID [2018-11-23 12:22:56,183 INFO L273 TraceCheckUtils]: 2: Hoare triple {12166#true} assume true; {12166#true} is VALID [2018-11-23 12:22:56,183 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12166#true} {12166#true} #95#return; {12166#true} is VALID [2018-11-23 12:22:56,184 INFO L256 TraceCheckUtils]: 4: Hoare triple {12166#true} call #t~ret7 := main(); {12166#true} is VALID [2018-11-23 12:22:56,184 INFO L273 TraceCheckUtils]: 5: Hoare triple {12166#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {12166#true} is VALID [2018-11-23 12:22:56,205 INFO L273 TraceCheckUtils]: 6: Hoare triple {12166#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {12168#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:22:56,206 INFO L273 TraceCheckUtils]: 7: Hoare triple {12168#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {12169#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:22:56,206 INFO L273 TraceCheckUtils]: 8: Hoare triple {12169#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {12169#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:22:56,207 INFO L273 TraceCheckUtils]: 9: Hoare triple {12169#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {12169#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:22:56,208 INFO L273 TraceCheckUtils]: 10: Hoare triple {12169#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {12169#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:22:56,208 INFO L273 TraceCheckUtils]: 11: Hoare triple {12169#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {12170#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:22:56,209 INFO L273 TraceCheckUtils]: 12: Hoare triple {12170#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {12170#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:22:56,210 INFO L273 TraceCheckUtils]: 13: Hoare triple {12170#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {12170#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:22:56,212 INFO L273 TraceCheckUtils]: 14: Hoare triple {12170#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12171#(and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (or (<= (* 5 main_~i~0) 9) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12)))))) (<= (* 5 main_~i~0) 10))} is VALID [2018-11-23 12:22:56,213 INFO L273 TraceCheckUtils]: 15: Hoare triple {12171#(and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (or (<= (* 5 main_~i~0) 9) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12)))))) (<= (* 5 main_~i~0) 10))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {12172#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} is VALID [2018-11-23 12:22:56,214 INFO L273 TraceCheckUtils]: 16: Hoare triple {12172#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} ~i~0 := 0; {12173#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} is VALID [2018-11-23 12:22:56,215 INFO L273 TraceCheckUtils]: 17: Hoare triple {12173#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12173#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} is VALID [2018-11-23 12:22:56,216 INFO L273 TraceCheckUtils]: 18: Hoare triple {12173#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} assume #t~short6; {12173#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} is VALID [2018-11-23 12:22:56,216 INFO L256 TraceCheckUtils]: 19: Hoare triple {12173#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12166#true} is VALID [2018-11-23 12:22:56,216 INFO L273 TraceCheckUtils]: 20: Hoare triple {12166#true} ~cond := #in~cond; {12166#true} is VALID [2018-11-23 12:22:56,217 INFO L273 TraceCheckUtils]: 21: Hoare triple {12166#true} assume !(0 == ~cond); {12166#true} is VALID [2018-11-23 12:22:56,217 INFO L273 TraceCheckUtils]: 22: Hoare triple {12166#true} assume true; {12166#true} is VALID [2018-11-23 12:22:56,218 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {12166#true} {12173#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} #99#return; {12173#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} is VALID [2018-11-23 12:22:56,219 INFO L273 TraceCheckUtils]: 24: Hoare triple {12173#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {12173#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} is VALID [2018-11-23 12:22:56,220 INFO L273 TraceCheckUtils]: 25: Hoare triple {12173#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12174#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12))))))} is VALID [2018-11-23 12:22:56,221 INFO L273 TraceCheckUtils]: 26: Hoare triple {12174#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12))))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12174#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12))))))} is VALID [2018-11-23 12:22:56,222 INFO L273 TraceCheckUtils]: 27: Hoare triple {12174#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12))))))} assume #t~short6; {12174#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12))))))} is VALID [2018-11-23 12:22:56,222 INFO L256 TraceCheckUtils]: 28: Hoare triple {12174#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12))))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12166#true} is VALID [2018-11-23 12:22:56,222 INFO L273 TraceCheckUtils]: 29: Hoare triple {12166#true} ~cond := #in~cond; {12166#true} is VALID [2018-11-23 12:22:56,222 INFO L273 TraceCheckUtils]: 30: Hoare triple {12166#true} assume !(0 == ~cond); {12166#true} is VALID [2018-11-23 12:22:56,223 INFO L273 TraceCheckUtils]: 31: Hoare triple {12166#true} assume true; {12166#true} is VALID [2018-11-23 12:22:56,224 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {12166#true} {12174#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12))))))} #99#return; {12174#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12))))))} is VALID [2018-11-23 12:22:56,225 INFO L273 TraceCheckUtils]: 33: Hoare triple {12174#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12))))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {12174#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12))))))} is VALID [2018-11-23 12:22:56,226 INFO L273 TraceCheckUtils]: 34: Hoare triple {12174#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12))))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12175#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:22:56,227 INFO L273 TraceCheckUtils]: 35: Hoare triple {12175#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12176#|main_#t~short6|} is VALID [2018-11-23 12:22:56,227 INFO L273 TraceCheckUtils]: 36: Hoare triple {12176#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {12167#false} is VALID [2018-11-23 12:22:56,227 INFO L256 TraceCheckUtils]: 37: Hoare triple {12167#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12167#false} is VALID [2018-11-23 12:22:56,228 INFO L273 TraceCheckUtils]: 38: Hoare triple {12167#false} ~cond := #in~cond; {12167#false} is VALID [2018-11-23 12:22:56,228 INFO L273 TraceCheckUtils]: 39: Hoare triple {12167#false} assume 0 == ~cond; {12167#false} is VALID [2018-11-23 12:22:56,228 INFO L273 TraceCheckUtils]: 40: Hoare triple {12167#false} assume !false; {12167#false} is VALID [2018-11-23 12:22:56,234 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:22:56,234 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:56,234 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:22:56,242 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:22:56,268 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:22:56,268 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:22:56,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:56,284 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:56,443 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:22:56,453 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:22:56,466 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:56,474 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:56,496 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:56,496 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:22 [2018-11-23 12:22:56,502 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:56,502 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_61|, main_~CCCELVOL3~0]. (and (<= main_~MINVAL~0 2) (= (store |v_#memory_int_61| |main_~#volArray~0.base| (store (select |v_#memory_int_61| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12)) main_~CCCELVOL3~0)) |#memory_int|) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0)) [2018-11-23 12:22:56,502 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12)))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:22:56,605 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:22:56,621 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:56,629 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:22:56,633 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:56,648 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:56,664 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:56,665 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:22 [2018-11-23 12:22:56,670 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:56,670 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_62|, main_~CCCELVOL2~0]. (let ((.cse0 (select |v_#memory_int_62| |main_~#volArray~0.base|)) (.cse1 (* 20 main_~i~0))) (and (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (store |v_#memory_int_62| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 8)) main_~CCCELVOL2~0)) |#memory_int|) (<= 7 (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 12)))))) [2018-11-23 12:22:56,670 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12)))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:22:56,701 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 18 [2018-11-23 12:22:56,713 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:56,715 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:56,721 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 37 [2018-11-23 12:22:56,725 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:56,734 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:56,744 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:56,744 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:29, output treesize:25 [2018-11-23 12:22:57,204 INFO L256 TraceCheckUtils]: 0: Hoare triple {12166#true} call ULTIMATE.init(); {12166#true} is VALID [2018-11-23 12:22:57,204 INFO L273 TraceCheckUtils]: 1: Hoare triple {12166#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {12166#true} is VALID [2018-11-23 12:22:57,205 INFO L273 TraceCheckUtils]: 2: Hoare triple {12166#true} assume true; {12166#true} is VALID [2018-11-23 12:22:57,205 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12166#true} {12166#true} #95#return; {12166#true} is VALID [2018-11-23 12:22:57,205 INFO L256 TraceCheckUtils]: 4: Hoare triple {12166#true} call #t~ret7 := main(); {12166#true} is VALID [2018-11-23 12:22:57,205 INFO L273 TraceCheckUtils]: 5: Hoare triple {12166#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {12166#true} is VALID [2018-11-23 12:22:57,206 INFO L273 TraceCheckUtils]: 6: Hoare triple {12166#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {12198#(and (<= main_~CCCELVOL5~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:22:57,207 INFO L273 TraceCheckUtils]: 7: Hoare triple {12198#(and (<= main_~CCCELVOL5~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {12202#(and (<= main_~CCCELVOL5~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:22:57,208 INFO L273 TraceCheckUtils]: 8: Hoare triple {12202#(and (<= main_~CCCELVOL5~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {12202#(and (<= main_~CCCELVOL5~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:22:57,208 INFO L273 TraceCheckUtils]: 9: Hoare triple {12202#(and (<= main_~CCCELVOL5~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {12209#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:22:57,209 INFO L273 TraceCheckUtils]: 10: Hoare triple {12209#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {12209#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:22:57,210 INFO L273 TraceCheckUtils]: 11: Hoare triple {12209#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {12216#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12)))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:57,211 INFO L273 TraceCheckUtils]: 12: Hoare triple {12216#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12)))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {12216#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12)))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:57,212 INFO L273 TraceCheckUtils]: 13: Hoare triple {12216#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12)))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {12223#(and (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:22:57,213 INFO L273 TraceCheckUtils]: 14: Hoare triple {12223#(and (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12223#(and (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:22:57,214 INFO L273 TraceCheckUtils]: 15: Hoare triple {12223#(and (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {12223#(and (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:22:57,215 INFO L273 TraceCheckUtils]: 16: Hoare triple {12223#(and (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} ~i~0 := 0; {12233#(and (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:57,216 INFO L273 TraceCheckUtils]: 17: Hoare triple {12233#(and (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12233#(and (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:57,217 INFO L273 TraceCheckUtils]: 18: Hoare triple {12233#(and (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} assume #t~short6; {12233#(and (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:57,218 INFO L256 TraceCheckUtils]: 19: Hoare triple {12233#(and (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12243#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 16))))} is VALID [2018-11-23 12:22:57,219 INFO L273 TraceCheckUtils]: 20: Hoare triple {12243#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 16))))} ~cond := #in~cond; {12243#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 16))))} is VALID [2018-11-23 12:22:57,219 INFO L273 TraceCheckUtils]: 21: Hoare triple {12243#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 16))))} assume !(0 == ~cond); {12243#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 16))))} is VALID [2018-11-23 12:22:57,220 INFO L273 TraceCheckUtils]: 22: Hoare triple {12243#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 16))))} assume true; {12243#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 16))))} is VALID [2018-11-23 12:22:57,221 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {12243#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 16))))} {12233#(and (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} #99#return; {12233#(and (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:57,222 INFO L273 TraceCheckUtils]: 24: Hoare triple {12233#(and (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {12233#(and (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:57,223 INFO L273 TraceCheckUtils]: 25: Hoare triple {12233#(and (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12262#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:22:57,224 INFO L273 TraceCheckUtils]: 26: Hoare triple {12262#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12262#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:22:57,224 INFO L273 TraceCheckUtils]: 27: Hoare triple {12262#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume #t~short6; {12262#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:22:57,226 INFO L256 TraceCheckUtils]: 28: Hoare triple {12262#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12243#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 16))))} is VALID [2018-11-23 12:22:57,226 INFO L273 TraceCheckUtils]: 29: Hoare triple {12243#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 16))))} ~cond := #in~cond; {12243#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 16))))} is VALID [2018-11-23 12:22:57,227 INFO L273 TraceCheckUtils]: 30: Hoare triple {12243#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 16))))} assume !(0 == ~cond); {12243#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 16))))} is VALID [2018-11-23 12:22:57,227 INFO L273 TraceCheckUtils]: 31: Hoare triple {12243#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 16))))} assume true; {12243#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 16))))} is VALID [2018-11-23 12:22:57,228 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {12243#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 16))))} {12262#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #99#return; {12262#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:22:57,229 INFO L273 TraceCheckUtils]: 33: Hoare triple {12262#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {12262#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:22:57,230 INFO L273 TraceCheckUtils]: 34: Hoare triple {12262#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12290#(and (= main_~i~0 2) (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:22:57,231 INFO L273 TraceCheckUtils]: 35: Hoare triple {12290#(and (= main_~i~0 2) (<= main_~MINVAL~0 2) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12176#|main_#t~short6|} is VALID [2018-11-23 12:22:57,232 INFO L273 TraceCheckUtils]: 36: Hoare triple {12176#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {12167#false} is VALID [2018-11-23 12:22:57,232 INFO L256 TraceCheckUtils]: 37: Hoare triple {12167#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12167#false} is VALID [2018-11-23 12:22:57,232 INFO L273 TraceCheckUtils]: 38: Hoare triple {12167#false} ~cond := #in~cond; {12167#false} is VALID [2018-11-23 12:22:57,233 INFO L273 TraceCheckUtils]: 39: Hoare triple {12167#false} assume 0 == ~cond; {12167#false} is VALID [2018-11-23 12:22:57,233 INFO L273 TraceCheckUtils]: 40: Hoare triple {12167#false} assume !false; {12167#false} is VALID [2018-11-23 12:22:57,239 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:22:57,258 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:57,258 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 12] total 20 [2018-11-23 12:22:57,259 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 41 [2018-11-23 12:22:57,259 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:57,259 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2018-11-23 12:22:57,344 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:57,344 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-11-23 12:22:57,344 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-11-23 12:22:57,345 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=323, Unknown=0, NotChecked=0, Total=380 [2018-11-23 12:22:57,345 INFO L87 Difference]: Start difference. First operand 162 states and 212 transitions. Second operand 20 states. [2018-11-23 12:23:08,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:08,213 INFO L93 Difference]: Finished difference Result 399 states and 516 transitions. [2018-11-23 12:23:08,214 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2018-11-23 12:23:08,214 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 41 [2018-11-23 12:23:08,214 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:08,214 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:23:08,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 235 transitions. [2018-11-23 12:23:08,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:23:08,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 235 transitions. [2018-11-23 12:23:08,219 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 41 states and 235 transitions. [2018-11-23 12:23:08,676 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 235 edges. 235 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:08,684 INFO L225 Difference]: With dead ends: 399 [2018-11-23 12:23:08,684 INFO L226 Difference]: Without dead ends: 326 [2018-11-23 12:23:08,685 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 31 SyntacticMatches, 5 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 885 ImplicationChecksByTransitivity, 3.2s TimeCoverageRelationStatistics Valid=597, Invalid=2709, Unknown=0, NotChecked=0, Total=3306 [2018-11-23 12:23:08,686 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 326 states. [2018-11-23 12:23:10,860 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 326 to 198. [2018-11-23 12:23:10,860 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:10,860 INFO L82 GeneralOperation]: Start isEquivalent. First operand 326 states. Second operand 198 states. [2018-11-23 12:23:10,860 INFO L74 IsIncluded]: Start isIncluded. First operand 326 states. Second operand 198 states. [2018-11-23 12:23:10,860 INFO L87 Difference]: Start difference. First operand 326 states. Second operand 198 states. [2018-11-23 12:23:10,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:10,871 INFO L93 Difference]: Finished difference Result 326 states and 417 transitions. [2018-11-23 12:23:10,871 INFO L276 IsEmpty]: Start isEmpty. Operand 326 states and 417 transitions. [2018-11-23 12:23:10,872 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:10,872 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:10,872 INFO L74 IsIncluded]: Start isIncluded. First operand 198 states. Second operand 326 states. [2018-11-23 12:23:10,872 INFO L87 Difference]: Start difference. First operand 198 states. Second operand 326 states. [2018-11-23 12:23:10,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:10,882 INFO L93 Difference]: Finished difference Result 326 states and 417 transitions. [2018-11-23 12:23:10,882 INFO L276 IsEmpty]: Start isEmpty. Operand 326 states and 417 transitions. [2018-11-23 12:23:10,883 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:10,883 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:10,883 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:10,883 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:10,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 198 states. [2018-11-23 12:23:10,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 198 states to 198 states and 258 transitions. [2018-11-23 12:23:10,888 INFO L78 Accepts]: Start accepts. Automaton has 198 states and 258 transitions. Word has length 41 [2018-11-23 12:23:10,888 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:10,888 INFO L480 AbstractCegarLoop]: Abstraction has 198 states and 258 transitions. [2018-11-23 12:23:10,888 INFO L481 AbstractCegarLoop]: Interpolant automaton has 20 states. [2018-11-23 12:23:10,888 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states and 258 transitions. [2018-11-23 12:23:10,889 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2018-11-23 12:23:10,889 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:10,889 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:10,890 INFO L423 AbstractCegarLoop]: === Iteration 17 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:10,890 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:10,890 INFO L82 PathProgramCache]: Analyzing trace with hash -2076898735, now seen corresponding path program 1 times [2018-11-23 12:23:10,890 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:10,890 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:10,891 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:10,891 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:10,891 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:10,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:11,139 INFO L256 TraceCheckUtils]: 0: Hoare triple {13793#true} call ULTIMATE.init(); {13793#true} is VALID [2018-11-23 12:23:11,139 INFO L273 TraceCheckUtils]: 1: Hoare triple {13793#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {13793#true} is VALID [2018-11-23 12:23:11,139 INFO L273 TraceCheckUtils]: 2: Hoare triple {13793#true} assume true; {13793#true} is VALID [2018-11-23 12:23:11,140 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {13793#true} {13793#true} #95#return; {13793#true} is VALID [2018-11-23 12:23:11,140 INFO L256 TraceCheckUtils]: 4: Hoare triple {13793#true} call #t~ret7 := main(); {13793#true} is VALID [2018-11-23 12:23:11,140 INFO L273 TraceCheckUtils]: 5: Hoare triple {13793#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {13793#true} is VALID [2018-11-23 12:23:11,141 INFO L273 TraceCheckUtils]: 6: Hoare triple {13793#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {13795#(<= (+ main_~CCCELVOL2~0 4) main_~CCCELVOL3~0)} is VALID [2018-11-23 12:23:11,141 INFO L273 TraceCheckUtils]: 7: Hoare triple {13795#(<= (+ main_~CCCELVOL2~0 4) main_~CCCELVOL3~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {13795#(<= (+ main_~CCCELVOL2~0 4) main_~CCCELVOL3~0)} is VALID [2018-11-23 12:23:11,141 INFO L273 TraceCheckUtils]: 8: Hoare triple {13795#(<= (+ main_~CCCELVOL2~0 4) main_~CCCELVOL3~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {13795#(<= (+ main_~CCCELVOL2~0 4) main_~CCCELVOL3~0)} is VALID [2018-11-23 12:23:11,142 INFO L273 TraceCheckUtils]: 9: Hoare triple {13795#(<= (+ main_~CCCELVOL2~0 4) main_~CCCELVOL3~0)} assume !(~CCCELVOL5~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {13795#(<= (+ main_~CCCELVOL2~0 4) main_~CCCELVOL3~0)} is VALID [2018-11-23 12:23:11,142 INFO L273 TraceCheckUtils]: 10: Hoare triple {13795#(<= (+ main_~CCCELVOL2~0 4) main_~CCCELVOL3~0)} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {13795#(<= (+ main_~CCCELVOL2~0 4) main_~CCCELVOL3~0)} is VALID [2018-11-23 12:23:11,143 INFO L273 TraceCheckUtils]: 11: Hoare triple {13795#(<= (+ main_~CCCELVOL2~0 4) main_~CCCELVOL3~0)} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {13796#(<= (+ main_~CCCELVOL2~0 5) main_~MINVAL~0)} is VALID [2018-11-23 12:23:11,143 INFO L273 TraceCheckUtils]: 12: Hoare triple {13796#(<= (+ main_~CCCELVOL2~0 5) main_~MINVAL~0)} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {13794#false} is VALID [2018-11-23 12:23:11,143 INFO L273 TraceCheckUtils]: 13: Hoare triple {13794#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {13794#false} is VALID [2018-11-23 12:23:11,143 INFO L273 TraceCheckUtils]: 14: Hoare triple {13794#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13794#false} is VALID [2018-11-23 12:23:11,144 INFO L273 TraceCheckUtils]: 15: Hoare triple {13794#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {13794#false} is VALID [2018-11-23 12:23:11,144 INFO L273 TraceCheckUtils]: 16: Hoare triple {13794#false} ~i~0 := 0; {13794#false} is VALID [2018-11-23 12:23:11,144 INFO L273 TraceCheckUtils]: 17: Hoare triple {13794#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {13794#false} is VALID [2018-11-23 12:23:11,144 INFO L273 TraceCheckUtils]: 18: Hoare triple {13794#false} assume #t~short6; {13794#false} is VALID [2018-11-23 12:23:11,144 INFO L256 TraceCheckUtils]: 19: Hoare triple {13794#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {13793#true} is VALID [2018-11-23 12:23:11,145 INFO L273 TraceCheckUtils]: 20: Hoare triple {13793#true} ~cond := #in~cond; {13793#true} is VALID [2018-11-23 12:23:11,145 INFO L273 TraceCheckUtils]: 21: Hoare triple {13793#true} assume !(0 == ~cond); {13793#true} is VALID [2018-11-23 12:23:11,145 INFO L273 TraceCheckUtils]: 22: Hoare triple {13793#true} assume true; {13793#true} is VALID [2018-11-23 12:23:11,145 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {13793#true} {13794#false} #99#return; {13794#false} is VALID [2018-11-23 12:23:11,145 INFO L273 TraceCheckUtils]: 24: Hoare triple {13794#false} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {13794#false} is VALID [2018-11-23 12:23:11,146 INFO L273 TraceCheckUtils]: 25: Hoare triple {13794#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {13794#false} is VALID [2018-11-23 12:23:11,146 INFO L273 TraceCheckUtils]: 26: Hoare triple {13794#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {13794#false} is VALID [2018-11-23 12:23:11,146 INFO L273 TraceCheckUtils]: 27: Hoare triple {13794#false} assume #t~short6; {13794#false} is VALID [2018-11-23 12:23:11,146 INFO L256 TraceCheckUtils]: 28: Hoare triple {13794#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {13793#true} is VALID [2018-11-23 12:23:11,146 INFO L273 TraceCheckUtils]: 29: Hoare triple {13793#true} ~cond := #in~cond; {13793#true} is VALID [2018-11-23 12:23:11,147 INFO L273 TraceCheckUtils]: 30: Hoare triple {13793#true} assume !(0 == ~cond); {13793#true} is VALID [2018-11-23 12:23:11,147 INFO L273 TraceCheckUtils]: 31: Hoare triple {13793#true} assume true; {13793#true} is VALID [2018-11-23 12:23:11,147 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {13793#true} {13794#false} #99#return; {13794#false} is VALID [2018-11-23 12:23:11,147 INFO L273 TraceCheckUtils]: 33: Hoare triple {13794#false} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {13794#false} is VALID [2018-11-23 12:23:11,147 INFO L273 TraceCheckUtils]: 34: Hoare triple {13794#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {13794#false} is VALID [2018-11-23 12:23:11,148 INFO L273 TraceCheckUtils]: 35: Hoare triple {13794#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {13794#false} is VALID [2018-11-23 12:23:11,148 INFO L273 TraceCheckUtils]: 36: Hoare triple {13794#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {13794#false} is VALID [2018-11-23 12:23:11,148 INFO L256 TraceCheckUtils]: 37: Hoare triple {13794#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {13794#false} is VALID [2018-11-23 12:23:11,148 INFO L273 TraceCheckUtils]: 38: Hoare triple {13794#false} ~cond := #in~cond; {13794#false} is VALID [2018-11-23 12:23:11,148 INFO L273 TraceCheckUtils]: 39: Hoare triple {13794#false} assume 0 == ~cond; {13794#false} is VALID [2018-11-23 12:23:11,148 INFO L273 TraceCheckUtils]: 40: Hoare triple {13794#false} assume !false; {13794#false} is VALID [2018-11-23 12:23:11,150 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 12:23:11,150 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:23:11,150 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:23:11,150 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 41 [2018-11-23 12:23:11,151 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:11,151 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:23:11,275 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:11,275 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:23:11,275 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:23:11,276 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:23:11,276 INFO L87 Difference]: Start difference. First operand 198 states and 258 transitions. Second operand 4 states. [2018-11-23 12:23:13,528 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:13,528 INFO L93 Difference]: Finished difference Result 389 states and 515 transitions. [2018-11-23 12:23:13,528 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:23:13,528 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 41 [2018-11-23 12:23:13,528 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:13,529 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:23:13,529 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 81 transitions. [2018-11-23 12:23:13,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:23:13,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 81 transitions. [2018-11-23 12:23:13,530 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 81 transitions. [2018-11-23 12:23:13,668 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:13,675 INFO L225 Difference]: With dead ends: 389 [2018-11-23 12:23:13,675 INFO L226 Difference]: Without dead ends: 299 [2018-11-23 12:23:13,675 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:23:13,676 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 299 states. [2018-11-23 12:23:15,850 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 299 to 241. [2018-11-23 12:23:15,850 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:15,850 INFO L82 GeneralOperation]: Start isEquivalent. First operand 299 states. Second operand 241 states. [2018-11-23 12:23:15,850 INFO L74 IsIncluded]: Start isIncluded. First operand 299 states. Second operand 241 states. [2018-11-23 12:23:15,850 INFO L87 Difference]: Start difference. First operand 299 states. Second operand 241 states. [2018-11-23 12:23:15,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:15,857 INFO L93 Difference]: Finished difference Result 299 states and 391 transitions. [2018-11-23 12:23:15,857 INFO L276 IsEmpty]: Start isEmpty. Operand 299 states and 391 transitions. [2018-11-23 12:23:15,858 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:15,858 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:15,859 INFO L74 IsIncluded]: Start isIncluded. First operand 241 states. Second operand 299 states. [2018-11-23 12:23:15,859 INFO L87 Difference]: Start difference. First operand 241 states. Second operand 299 states. [2018-11-23 12:23:15,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:15,866 INFO L93 Difference]: Finished difference Result 299 states and 391 transitions. [2018-11-23 12:23:15,866 INFO L276 IsEmpty]: Start isEmpty. Operand 299 states and 391 transitions. [2018-11-23 12:23:15,867 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:15,867 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:15,868 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:15,868 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:15,868 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 241 states. [2018-11-23 12:23:15,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 241 states to 241 states and 313 transitions. [2018-11-23 12:23:15,874 INFO L78 Accepts]: Start accepts. Automaton has 241 states and 313 transitions. Word has length 41 [2018-11-23 12:23:15,874 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:15,874 INFO L480 AbstractCegarLoop]: Abstraction has 241 states and 313 transitions. [2018-11-23 12:23:15,874 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:23:15,874 INFO L276 IsEmpty]: Start isEmpty. Operand 241 states and 313 transitions. [2018-11-23 12:23:15,875 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2018-11-23 12:23:15,875 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:15,875 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:15,876 INFO L423 AbstractCegarLoop]: === Iteration 18 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:15,876 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:15,876 INFO L82 PathProgramCache]: Analyzing trace with hash -690695341, now seen corresponding path program 1 times [2018-11-23 12:23:15,876 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:15,876 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:15,877 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:15,877 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:23:15,877 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:15,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:16,019 INFO L256 TraceCheckUtils]: 0: Hoare triple {15185#true} call ULTIMATE.init(); {15185#true} is VALID [2018-11-23 12:23:16,019 INFO L273 TraceCheckUtils]: 1: Hoare triple {15185#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {15185#true} is VALID [2018-11-23 12:23:16,019 INFO L273 TraceCheckUtils]: 2: Hoare triple {15185#true} assume true; {15185#true} is VALID [2018-11-23 12:23:16,019 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {15185#true} {15185#true} #95#return; {15185#true} is VALID [2018-11-23 12:23:16,020 INFO L256 TraceCheckUtils]: 4: Hoare triple {15185#true} call #t~ret7 := main(); {15185#true} is VALID [2018-11-23 12:23:16,020 INFO L273 TraceCheckUtils]: 5: Hoare triple {15185#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {15185#true} is VALID [2018-11-23 12:23:16,021 INFO L273 TraceCheckUtils]: 6: Hoare triple {15185#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {15187#(<= (+ main_~CCCELVOL4~0 2) main_~CCCELVOL3~0)} is VALID [2018-11-23 12:23:16,021 INFO L273 TraceCheckUtils]: 7: Hoare triple {15187#(<= (+ main_~CCCELVOL4~0 2) main_~CCCELVOL3~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {15187#(<= (+ main_~CCCELVOL4~0 2) main_~CCCELVOL3~0)} is VALID [2018-11-23 12:23:16,021 INFO L273 TraceCheckUtils]: 8: Hoare triple {15187#(<= (+ main_~CCCELVOL4~0 2) main_~CCCELVOL3~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {15187#(<= (+ main_~CCCELVOL4~0 2) main_~CCCELVOL3~0)} is VALID [2018-11-23 12:23:16,022 INFO L273 TraceCheckUtils]: 9: Hoare triple {15187#(<= (+ main_~CCCELVOL4~0 2) main_~CCCELVOL3~0)} assume !(~CCCELVOL5~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {15187#(<= (+ main_~CCCELVOL4~0 2) main_~CCCELVOL3~0)} is VALID [2018-11-23 12:23:16,022 INFO L273 TraceCheckUtils]: 10: Hoare triple {15187#(<= (+ main_~CCCELVOL4~0 2) main_~CCCELVOL3~0)} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {15188#(<= (+ main_~MINVAL~0 2) main_~CCCELVOL3~0)} is VALID [2018-11-23 12:23:16,023 INFO L273 TraceCheckUtils]: 11: Hoare triple {15188#(<= (+ main_~MINVAL~0 2) main_~CCCELVOL3~0)} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {15186#false} is VALID [2018-11-23 12:23:16,023 INFO L273 TraceCheckUtils]: 12: Hoare triple {15186#false} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {15186#false} is VALID [2018-11-23 12:23:16,023 INFO L273 TraceCheckUtils]: 13: Hoare triple {15186#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {15186#false} is VALID [2018-11-23 12:23:16,024 INFO L273 TraceCheckUtils]: 14: Hoare triple {15186#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15186#false} is VALID [2018-11-23 12:23:16,024 INFO L273 TraceCheckUtils]: 15: Hoare triple {15186#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {15186#false} is VALID [2018-11-23 12:23:16,024 INFO L273 TraceCheckUtils]: 16: Hoare triple {15186#false} ~i~0 := 0; {15186#false} is VALID [2018-11-23 12:23:16,024 INFO L273 TraceCheckUtils]: 17: Hoare triple {15186#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {15186#false} is VALID [2018-11-23 12:23:16,024 INFO L273 TraceCheckUtils]: 18: Hoare triple {15186#false} assume #t~short6; {15186#false} is VALID [2018-11-23 12:23:16,024 INFO L256 TraceCheckUtils]: 19: Hoare triple {15186#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {15185#true} is VALID [2018-11-23 12:23:16,025 INFO L273 TraceCheckUtils]: 20: Hoare triple {15185#true} ~cond := #in~cond; {15185#true} is VALID [2018-11-23 12:23:16,025 INFO L273 TraceCheckUtils]: 21: Hoare triple {15185#true} assume !(0 == ~cond); {15185#true} is VALID [2018-11-23 12:23:16,025 INFO L273 TraceCheckUtils]: 22: Hoare triple {15185#true} assume true; {15185#true} is VALID [2018-11-23 12:23:16,025 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {15185#true} {15186#false} #99#return; {15186#false} is VALID [2018-11-23 12:23:16,026 INFO L273 TraceCheckUtils]: 24: Hoare triple {15186#false} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {15186#false} is VALID [2018-11-23 12:23:16,026 INFO L273 TraceCheckUtils]: 25: Hoare triple {15186#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {15186#false} is VALID [2018-11-23 12:23:16,026 INFO L273 TraceCheckUtils]: 26: Hoare triple {15186#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {15186#false} is VALID [2018-11-23 12:23:16,026 INFO L273 TraceCheckUtils]: 27: Hoare triple {15186#false} assume #t~short6; {15186#false} is VALID [2018-11-23 12:23:16,026 INFO L256 TraceCheckUtils]: 28: Hoare triple {15186#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {15185#true} is VALID [2018-11-23 12:23:16,026 INFO L273 TraceCheckUtils]: 29: Hoare triple {15185#true} ~cond := #in~cond; {15185#true} is VALID [2018-11-23 12:23:16,029 INFO L273 TraceCheckUtils]: 30: Hoare triple {15185#true} assume !(0 == ~cond); {15185#true} is VALID [2018-11-23 12:23:16,029 INFO L273 TraceCheckUtils]: 31: Hoare triple {15185#true} assume true; {15185#true} is VALID [2018-11-23 12:23:16,029 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {15185#true} {15186#false} #99#return; {15186#false} is VALID [2018-11-23 12:23:16,029 INFO L273 TraceCheckUtils]: 33: Hoare triple {15186#false} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {15186#false} is VALID [2018-11-23 12:23:16,029 INFO L273 TraceCheckUtils]: 34: Hoare triple {15186#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {15186#false} is VALID [2018-11-23 12:23:16,030 INFO L273 TraceCheckUtils]: 35: Hoare triple {15186#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {15186#false} is VALID [2018-11-23 12:23:16,030 INFO L273 TraceCheckUtils]: 36: Hoare triple {15186#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {15186#false} is VALID [2018-11-23 12:23:16,030 INFO L256 TraceCheckUtils]: 37: Hoare triple {15186#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {15186#false} is VALID [2018-11-23 12:23:16,030 INFO L273 TraceCheckUtils]: 38: Hoare triple {15186#false} ~cond := #in~cond; {15186#false} is VALID [2018-11-23 12:23:16,030 INFO L273 TraceCheckUtils]: 39: Hoare triple {15186#false} assume 0 == ~cond; {15186#false} is VALID [2018-11-23 12:23:16,030 INFO L273 TraceCheckUtils]: 40: Hoare triple {15186#false} assume !false; {15186#false} is VALID [2018-11-23 12:23:16,032 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 12:23:16,032 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:23:16,032 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:23:16,032 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 41 [2018-11-23 12:23:16,032 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:16,033 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:23:16,070 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:16,070 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:23:16,070 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:23:16,071 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:23:16,071 INFO L87 Difference]: Start difference. First operand 241 states and 313 transitions. Second operand 4 states. [2018-11-23 12:23:19,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:19,035 INFO L93 Difference]: Finished difference Result 286 states and 366 transitions. [2018-11-23 12:23:19,035 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:23:19,035 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 41 [2018-11-23 12:23:19,035 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:19,035 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:23:19,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 78 transitions. [2018-11-23 12:23:19,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:23:19,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 78 transitions. [2018-11-23 12:23:19,037 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 78 transitions. [2018-11-23 12:23:19,121 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:19,124 INFO L225 Difference]: With dead ends: 286 [2018-11-23 12:23:19,124 INFO L226 Difference]: Without dead ends: 194 [2018-11-23 12:23:19,125 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:23:19,125 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 194 states. [2018-11-23 12:23:23,076 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 194 to 194. [2018-11-23 12:23:23,076 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:23,076 INFO L82 GeneralOperation]: Start isEquivalent. First operand 194 states. Second operand 194 states. [2018-11-23 12:23:23,077 INFO L74 IsIncluded]: Start isIncluded. First operand 194 states. Second operand 194 states. [2018-11-23 12:23:23,077 INFO L87 Difference]: Start difference. First operand 194 states. Second operand 194 states. [2018-11-23 12:23:23,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:23,080 INFO L93 Difference]: Finished difference Result 194 states and 243 transitions. [2018-11-23 12:23:23,080 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 243 transitions. [2018-11-23 12:23:23,080 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:23,081 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:23,081 INFO L74 IsIncluded]: Start isIncluded. First operand 194 states. Second operand 194 states. [2018-11-23 12:23:23,081 INFO L87 Difference]: Start difference. First operand 194 states. Second operand 194 states. [2018-11-23 12:23:23,084 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:23,084 INFO L93 Difference]: Finished difference Result 194 states and 243 transitions. [2018-11-23 12:23:23,084 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 243 transitions. [2018-11-23 12:23:23,085 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:23,085 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:23,085 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:23,085 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:23,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 194 states. [2018-11-23 12:23:23,089 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 194 states to 194 states and 243 transitions. [2018-11-23 12:23:23,089 INFO L78 Accepts]: Start accepts. Automaton has 194 states and 243 transitions. Word has length 41 [2018-11-23 12:23:23,089 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:23,089 INFO L480 AbstractCegarLoop]: Abstraction has 194 states and 243 transitions. [2018-11-23 12:23:23,090 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:23:23,090 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 243 transitions. [2018-11-23 12:23:23,090 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2018-11-23 12:23:23,090 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:23,091 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:23,091 INFO L423 AbstractCegarLoop]: === Iteration 19 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:23,091 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:23,091 INFO L82 PathProgramCache]: Analyzing trace with hash 10904533, now seen corresponding path program 1 times [2018-11-23 12:23:23,091 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:23,091 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:23,092 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:23,092 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:23:23,092 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:23,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:24,065 INFO L256 TraceCheckUtils]: 0: Hoare triple {16184#true} call ULTIMATE.init(); {16184#true} is VALID [2018-11-23 12:23:24,065 INFO L273 TraceCheckUtils]: 1: Hoare triple {16184#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {16184#true} is VALID [2018-11-23 12:23:24,065 INFO L273 TraceCheckUtils]: 2: Hoare triple {16184#true} assume true; {16184#true} is VALID [2018-11-23 12:23:24,065 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {16184#true} {16184#true} #95#return; {16184#true} is VALID [2018-11-23 12:23:24,066 INFO L256 TraceCheckUtils]: 4: Hoare triple {16184#true} call #t~ret7 := main(); {16184#true} is VALID [2018-11-23 12:23:24,066 INFO L273 TraceCheckUtils]: 5: Hoare triple {16184#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {16184#true} is VALID [2018-11-23 12:23:24,066 INFO L273 TraceCheckUtils]: 6: Hoare triple {16184#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {16186#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:23:24,071 INFO L273 TraceCheckUtils]: 7: Hoare triple {16186#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {16187#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:23:24,073 INFO L273 TraceCheckUtils]: 8: Hoare triple {16187#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {16187#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:23:24,073 INFO L273 TraceCheckUtils]: 9: Hoare triple {16187#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume !(~CCCELVOL5~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {16187#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:23:24,075 INFO L273 TraceCheckUtils]: 10: Hoare triple {16187#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {16187#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:23:24,075 INFO L273 TraceCheckUtils]: 11: Hoare triple {16187#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {16188#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:23:24,077 INFO L273 TraceCheckUtils]: 12: Hoare triple {16188#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {16188#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:23:24,078 INFO L273 TraceCheckUtils]: 13: Hoare triple {16188#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {16188#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:23:24,079 INFO L273 TraceCheckUtils]: 14: Hoare triple {16188#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16189#(and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (or (<= (* 5 main_~i~0) 9) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 5 main_~i~0) (- 5))) (+ |main_~#volArray~0.offset| (- 12)))))) (<= (* 5 main_~i~0) 10))} is VALID [2018-11-23 12:23:24,081 INFO L273 TraceCheckUtils]: 15: Hoare triple {16189#(and (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (or (<= (* 5 main_~i~0) 9) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 5 main_~i~0) (- 5))) (+ |main_~#volArray~0.offset| (- 12)))))) (<= (* 5 main_~i~0) 10))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {16190#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 12))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} is VALID [2018-11-23 12:23:24,082 INFO L273 TraceCheckUtils]: 16: Hoare triple {16190#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 12))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} ~i~0 := 0; {16191#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 12))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} is VALID [2018-11-23 12:23:24,083 INFO L273 TraceCheckUtils]: 17: Hoare triple {16191#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 12))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {16191#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 12))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} is VALID [2018-11-23 12:23:24,084 INFO L273 TraceCheckUtils]: 18: Hoare triple {16191#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 12))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} assume #t~short6; {16191#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 12))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} is VALID [2018-11-23 12:23:24,084 INFO L256 TraceCheckUtils]: 19: Hoare triple {16191#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 12))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16184#true} is VALID [2018-11-23 12:23:24,084 INFO L273 TraceCheckUtils]: 20: Hoare triple {16184#true} ~cond := #in~cond; {16184#true} is VALID [2018-11-23 12:23:24,084 INFO L273 TraceCheckUtils]: 21: Hoare triple {16184#true} assume !(0 == ~cond); {16184#true} is VALID [2018-11-23 12:23:24,085 INFO L273 TraceCheckUtils]: 22: Hoare triple {16184#true} assume true; {16184#true} is VALID [2018-11-23 12:23:24,087 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {16184#true} {16191#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 12))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} #99#return; {16191#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 12))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} is VALID [2018-11-23 12:23:24,088 INFO L273 TraceCheckUtils]: 24: Hoare triple {16191#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 12))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {16191#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 12))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} is VALID [2018-11-23 12:23:24,089 INFO L273 TraceCheckUtils]: 25: Hoare triple {16191#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (* 5 (div ~CELLCOUNT~0 5))) (+ |main_~#volArray~0.offset| (- 12))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {16192#(and (<= 1 (div ~CELLCOUNT~0 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 5 (div ~CELLCOUNT~0 5)) (+ main_~i~0 (- 1)))) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} is VALID [2018-11-23 12:23:24,089 INFO L273 TraceCheckUtils]: 26: Hoare triple {16192#(and (<= 1 (div ~CELLCOUNT~0 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 5 (div ~CELLCOUNT~0 5)) (+ main_~i~0 (- 1)))) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {16192#(and (<= 1 (div ~CELLCOUNT~0 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 5 (div ~CELLCOUNT~0 5)) (+ main_~i~0 (- 1)))) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} is VALID [2018-11-23 12:23:24,090 INFO L273 TraceCheckUtils]: 27: Hoare triple {16192#(and (<= 1 (div ~CELLCOUNT~0 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 5 (div ~CELLCOUNT~0 5)) (+ main_~i~0 (- 1)))) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} assume #t~short6; {16192#(and (<= 1 (div ~CELLCOUNT~0 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 5 (div ~CELLCOUNT~0 5)) (+ main_~i~0 (- 1)))) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} is VALID [2018-11-23 12:23:24,090 INFO L256 TraceCheckUtils]: 28: Hoare triple {16192#(and (<= 1 (div ~CELLCOUNT~0 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 5 (div ~CELLCOUNT~0 5)) (+ main_~i~0 (- 1)))) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16184#true} is VALID [2018-11-23 12:23:24,090 INFO L273 TraceCheckUtils]: 29: Hoare triple {16184#true} ~cond := #in~cond; {16184#true} is VALID [2018-11-23 12:23:24,090 INFO L273 TraceCheckUtils]: 30: Hoare triple {16184#true} assume !(0 == ~cond); {16184#true} is VALID [2018-11-23 12:23:24,091 INFO L273 TraceCheckUtils]: 31: Hoare triple {16184#true} assume true; {16184#true} is VALID [2018-11-23 12:23:24,093 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {16184#true} {16192#(and (<= 1 (div ~CELLCOUNT~0 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 5 (div ~CELLCOUNT~0 5)) (+ main_~i~0 (- 1)))) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} #99#return; {16192#(and (<= 1 (div ~CELLCOUNT~0 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 5 (div ~CELLCOUNT~0 5)) (+ main_~i~0 (- 1)))) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} is VALID [2018-11-23 12:23:24,093 INFO L273 TraceCheckUtils]: 33: Hoare triple {16192#(and (<= 1 (div ~CELLCOUNT~0 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 5 (div ~CELLCOUNT~0 5)) (+ main_~i~0 (- 1)))) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {16192#(and (<= 1 (div ~CELLCOUNT~0 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 5 (div ~CELLCOUNT~0 5)) (+ main_~i~0 (- 1)))) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} is VALID [2018-11-23 12:23:24,094 INFO L273 TraceCheckUtils]: 34: Hoare triple {16192#(and (<= 1 (div ~CELLCOUNT~0 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 5 (div ~CELLCOUNT~0 5)) (+ main_~i~0 (- 1)))) (+ |main_~#volArray~0.offset| (- 12))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {16193#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:23:24,094 INFO L273 TraceCheckUtils]: 35: Hoare triple {16193#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {16193#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:23:24,095 INFO L273 TraceCheckUtils]: 36: Hoare triple {16193#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {16194#|main_#t~short6|} is VALID [2018-11-23 12:23:24,095 INFO L256 TraceCheckUtils]: 37: Hoare triple {16194#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16195#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-23 12:23:24,096 INFO L273 TraceCheckUtils]: 38: Hoare triple {16195#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {16196#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:23:24,096 INFO L273 TraceCheckUtils]: 39: Hoare triple {16196#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {16185#false} is VALID [2018-11-23 12:23:24,096 INFO L273 TraceCheckUtils]: 40: Hoare triple {16185#false} assume !false; {16185#false} is VALID [2018-11-23 12:23:24,101 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 12 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:23:24,101 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:24,101 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:23:24,110 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:23:24,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:24,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:24,146 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:24,209 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:23:24,213 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:23:24,218 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:24,222 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:24,231 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:24,231 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-23 12:23:24,267 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:23:24,273 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:24,275 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:23:24,278 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:24,283 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:24,292 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:24,293 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-23 12:23:24,339 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 25 [2018-11-23 12:23:24,344 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:24,346 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:24,347 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:24,347 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 52 [2018-11-23 12:23:24,349 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:24,360 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:24,369 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:24,370 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-23 12:23:24,769 INFO L256 TraceCheckUtils]: 0: Hoare triple {16184#true} call ULTIMATE.init(); {16184#true} is VALID [2018-11-23 12:23:24,769 INFO L273 TraceCheckUtils]: 1: Hoare triple {16184#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {16184#true} is VALID [2018-11-23 12:23:24,770 INFO L273 TraceCheckUtils]: 2: Hoare triple {16184#true} assume true; {16184#true} is VALID [2018-11-23 12:23:24,770 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {16184#true} {16184#true} #95#return; {16184#true} is VALID [2018-11-23 12:23:24,770 INFO L256 TraceCheckUtils]: 4: Hoare triple {16184#true} call #t~ret7 := main(); {16184#true} is VALID [2018-11-23 12:23:24,770 INFO L273 TraceCheckUtils]: 5: Hoare triple {16184#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {16184#true} is VALID [2018-11-23 12:23:24,770 INFO L273 TraceCheckUtils]: 6: Hoare triple {16184#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {16218#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:23:24,771 INFO L273 TraceCheckUtils]: 7: Hoare triple {16218#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {16222#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:24,772 INFO L273 TraceCheckUtils]: 8: Hoare triple {16222#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {16222#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:24,773 INFO L273 TraceCheckUtils]: 9: Hoare triple {16222#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL5~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {16222#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:24,774 INFO L273 TraceCheckUtils]: 10: Hoare triple {16222#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {16222#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:24,775 INFO L273 TraceCheckUtils]: 11: Hoare triple {16222#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {16235#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) 0))} is VALID [2018-11-23 12:23:24,776 INFO L273 TraceCheckUtils]: 12: Hoare triple {16235#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) 0))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {16239#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) 0))} is VALID [2018-11-23 12:23:24,777 INFO L273 TraceCheckUtils]: 13: Hoare triple {16239#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {16243#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:23:24,778 INFO L273 TraceCheckUtils]: 14: Hoare triple {16243#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16243#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:23:24,779 INFO L273 TraceCheckUtils]: 15: Hoare triple {16243#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {16243#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:23:24,780 INFO L273 TraceCheckUtils]: 16: Hoare triple {16243#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} ~i~0 := 0; {16253#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:23:24,781 INFO L273 TraceCheckUtils]: 17: Hoare triple {16253#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {16253#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:23:24,781 INFO L273 TraceCheckUtils]: 18: Hoare triple {16253#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} assume #t~short6; {16253#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:23:24,783 INFO L256 TraceCheckUtils]: 19: Hoare triple {16253#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16263#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0)))} is VALID [2018-11-23 12:23:24,784 INFO L273 TraceCheckUtils]: 20: Hoare triple {16263#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0)))} ~cond := #in~cond; {16263#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0)))} is VALID [2018-11-23 12:23:24,784 INFO L273 TraceCheckUtils]: 21: Hoare triple {16263#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0)))} assume !(0 == ~cond); {16263#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0)))} is VALID [2018-11-23 12:23:24,785 INFO L273 TraceCheckUtils]: 22: Hoare triple {16263#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0)))} assume true; {16263#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0)))} is VALID [2018-11-23 12:23:24,786 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {16263#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0)))} {16253#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} #99#return; {16253#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:23:24,786 INFO L273 TraceCheckUtils]: 24: Hoare triple {16253#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {16253#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:23:24,787 INFO L273 TraceCheckUtils]: 25: Hoare triple {16253#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {16282#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:23:24,789 INFO L273 TraceCheckUtils]: 26: Hoare triple {16282#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {16282#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:23:24,789 INFO L273 TraceCheckUtils]: 27: Hoare triple {16282#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume #t~short6; {16282#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:23:24,791 INFO L256 TraceCheckUtils]: 28: Hoare triple {16282#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16263#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0)))} is VALID [2018-11-23 12:23:24,792 INFO L273 TraceCheckUtils]: 29: Hoare triple {16263#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0)))} ~cond := #in~cond; {16263#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0)))} is VALID [2018-11-23 12:23:24,792 INFO L273 TraceCheckUtils]: 30: Hoare triple {16263#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0)))} assume !(0 == ~cond); {16263#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0)))} is VALID [2018-11-23 12:23:24,793 INFO L273 TraceCheckUtils]: 31: Hoare triple {16263#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0)))} assume true; {16263#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0)))} is VALID [2018-11-23 12:23:24,793 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {16263#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0)))} {16282#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #99#return; {16282#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:23:24,794 INFO L273 TraceCheckUtils]: 33: Hoare triple {16282#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {16282#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:23:24,795 INFO L273 TraceCheckUtils]: 34: Hoare triple {16282#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {16310#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:23:24,796 INFO L273 TraceCheckUtils]: 35: Hoare triple {16310#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {16310#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:23:24,797 INFO L273 TraceCheckUtils]: 36: Hoare triple {16310#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {16194#|main_#t~short6|} is VALID [2018-11-23 12:23:24,798 INFO L256 TraceCheckUtils]: 37: Hoare triple {16194#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16320#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:23:24,799 INFO L273 TraceCheckUtils]: 38: Hoare triple {16320#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {16324#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:23:24,799 INFO L273 TraceCheckUtils]: 39: Hoare triple {16324#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16185#false} is VALID [2018-11-23 12:23:24,799 INFO L273 TraceCheckUtils]: 40: Hoare triple {16185#false} assume !false; {16185#false} is VALID [2018-11-23 12:23:24,806 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:23:24,825 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:24,825 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 24 [2018-11-23 12:23:24,825 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 41 [2018-11-23 12:23:24,826 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:24,829 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-23 12:23:24,915 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:24,915 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-23 12:23:24,916 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-23 12:23:24,916 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=474, Unknown=0, NotChecked=0, Total=552 [2018-11-23 12:23:24,916 INFO L87 Difference]: Start difference. First operand 194 states and 243 transitions. Second operand 24 states. [2018-11-23 12:23:30,252 WARN L180 SmtUtils]: Spent 243.00 ms on a formula simplification. DAG size of input: 58 DAG size of output: 37 [2018-11-23 12:23:33,947 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:33,948 INFO L93 Difference]: Finished difference Result 335 states and 420 transitions. [2018-11-23 12:23:33,948 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2018-11-23 12:23:33,948 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 41 [2018-11-23 12:23:33,948 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:33,948 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:23:33,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 197 transitions. [2018-11-23 12:23:33,950 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:23:33,952 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 197 transitions. [2018-11-23 12:23:33,953 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 41 states and 197 transitions. [2018-11-23 12:23:34,296 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 197 edges. 197 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:34,304 INFO L225 Difference]: With dead ends: 335 [2018-11-23 12:23:34,304 INFO L226 Difference]: Without dead ends: 333 [2018-11-23 12:23:34,305 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 30 SyntacticMatches, 6 SemanticMatches, 60 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1088 ImplicationChecksByTransitivity, 2.9s TimeCoverageRelationStatistics Valid=595, Invalid=3187, Unknown=0, NotChecked=0, Total=3782 [2018-11-23 12:23:34,306 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 333 states. [2018-11-23 12:23:36,815 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 333 to 272. [2018-11-23 12:23:36,815 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:36,815 INFO L82 GeneralOperation]: Start isEquivalent. First operand 333 states. Second operand 272 states. [2018-11-23 12:23:36,815 INFO L74 IsIncluded]: Start isIncluded. First operand 333 states. Second operand 272 states. [2018-11-23 12:23:36,816 INFO L87 Difference]: Start difference. First operand 333 states. Second operand 272 states. [2018-11-23 12:23:36,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:36,823 INFO L93 Difference]: Finished difference Result 333 states and 418 transitions. [2018-11-23 12:23:36,823 INFO L276 IsEmpty]: Start isEmpty. Operand 333 states and 418 transitions. [2018-11-23 12:23:36,824 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:36,824 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:36,824 INFO L74 IsIncluded]: Start isIncluded. First operand 272 states. Second operand 333 states. [2018-11-23 12:23:36,824 INFO L87 Difference]: Start difference. First operand 272 states. Second operand 333 states. [2018-11-23 12:23:36,831 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:36,831 INFO L93 Difference]: Finished difference Result 333 states and 418 transitions. [2018-11-23 12:23:36,831 INFO L276 IsEmpty]: Start isEmpty. Operand 333 states and 418 transitions. [2018-11-23 12:23:36,832 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:36,832 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:36,832 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:36,832 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:36,832 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 272 states. [2018-11-23 12:23:36,838 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 272 states to 272 states and 343 transitions. [2018-11-23 12:23:36,838 INFO L78 Accepts]: Start accepts. Automaton has 272 states and 343 transitions. Word has length 41 [2018-11-23 12:23:36,839 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:36,839 INFO L480 AbstractCegarLoop]: Abstraction has 272 states and 343 transitions. [2018-11-23 12:23:36,839 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-23 12:23:36,839 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 343 transitions. [2018-11-23 12:23:36,840 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2018-11-23 12:23:36,840 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:36,840 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:36,840 INFO L423 AbstractCegarLoop]: === Iteration 20 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:36,840 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:36,841 INFO L82 PathProgramCache]: Analyzing trace with hash 1093768103, now seen corresponding path program 2 times [2018-11-23 12:23:36,841 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:36,841 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:36,841 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:36,842 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:23:36,842 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:36,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:37,344 INFO L256 TraceCheckUtils]: 0: Hoare triple {17859#true} call ULTIMATE.init(); {17859#true} is VALID [2018-11-23 12:23:37,344 INFO L273 TraceCheckUtils]: 1: Hoare triple {17859#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {17859#true} is VALID [2018-11-23 12:23:37,344 INFO L273 TraceCheckUtils]: 2: Hoare triple {17859#true} assume true; {17859#true} is VALID [2018-11-23 12:23:37,344 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {17859#true} {17859#true} #95#return; {17859#true} is VALID [2018-11-23 12:23:37,345 INFO L256 TraceCheckUtils]: 4: Hoare triple {17859#true} call #t~ret7 := main(); {17859#true} is VALID [2018-11-23 12:23:37,345 INFO L273 TraceCheckUtils]: 5: Hoare triple {17859#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {17859#true} is VALID [2018-11-23 12:23:37,345 INFO L273 TraceCheckUtils]: 6: Hoare triple {17859#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {17859#true} is VALID [2018-11-23 12:23:37,346 INFO L273 TraceCheckUtils]: 7: Hoare triple {17859#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {17861#(= main_~i~0 1)} is VALID [2018-11-23 12:23:37,346 INFO L273 TraceCheckUtils]: 8: Hoare triple {17861#(= main_~i~0 1)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {17861#(= main_~i~0 1)} is VALID [2018-11-23 12:23:37,348 INFO L273 TraceCheckUtils]: 9: Hoare triple {17861#(= main_~i~0 1)} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {17861#(= main_~i~0 1)} is VALID [2018-11-23 12:23:37,348 INFO L273 TraceCheckUtils]: 10: Hoare triple {17861#(= main_~i~0 1)} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {17861#(= main_~i~0 1)} is VALID [2018-11-23 12:23:37,350 INFO L273 TraceCheckUtils]: 11: Hoare triple {17861#(= main_~i~0 1)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {17862#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1) (= main_~CCCELVOL3~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:37,350 INFO L273 TraceCheckUtils]: 12: Hoare triple {17862#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1) (= main_~CCCELVOL3~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {17862#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1) (= main_~CCCELVOL3~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:37,352 INFO L273 TraceCheckUtils]: 13: Hoare triple {17862#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1) (= main_~CCCELVOL3~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {17862#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1) (= main_~CCCELVOL3~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:37,353 INFO L273 TraceCheckUtils]: 14: Hoare triple {17862#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1) (= main_~CCCELVOL3~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17863#(and (not (= (* 20 main_~i~0) 20)) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~CCCELVOL3~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)) main_~CCCELVOL5~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))))} is VALID [2018-11-23 12:23:37,354 INFO L273 TraceCheckUtils]: 15: Hoare triple {17863#(and (not (= (* 20 main_~i~0) 20)) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~CCCELVOL3~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)) main_~CCCELVOL5~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {17863#(and (not (= (* 20 main_~i~0) 20)) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~CCCELVOL3~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)) main_~CCCELVOL5~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))))} is VALID [2018-11-23 12:23:37,355 INFO L273 TraceCheckUtils]: 16: Hoare triple {17863#(and (not (= (* 20 main_~i~0) 20)) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~CCCELVOL3~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)) main_~CCCELVOL5~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))))} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {17863#(and (not (= (* 20 main_~i~0) 20)) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~CCCELVOL3~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)) main_~CCCELVOL5~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))))} is VALID [2018-11-23 12:23:37,361 INFO L273 TraceCheckUtils]: 17: Hoare triple {17863#(and (not (= (* 20 main_~i~0) 20)) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~CCCELVOL3~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 20)) main_~CCCELVOL5~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {17864#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~CCCELVOL3~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))))} is VALID [2018-11-23 12:23:37,363 INFO L273 TraceCheckUtils]: 18: Hoare triple {17864#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~CCCELVOL3~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {17865#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:37,365 INFO L273 TraceCheckUtils]: 19: Hoare triple {17865#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12)))))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {17865#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:37,365 INFO L273 TraceCheckUtils]: 20: Hoare triple {17865#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12)))))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {17865#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:37,367 INFO L273 TraceCheckUtils]: 21: Hoare triple {17865#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17865#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:37,367 INFO L273 TraceCheckUtils]: 22: Hoare triple {17865#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12)))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {17865#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:37,369 INFO L273 TraceCheckUtils]: 23: Hoare triple {17865#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12)))))} ~i~0 := 0; {17866#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:37,369 INFO L273 TraceCheckUtils]: 24: Hoare triple {17866#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {17866#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:37,371 INFO L273 TraceCheckUtils]: 25: Hoare triple {17866#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} assume #t~short6; {17866#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:37,371 INFO L256 TraceCheckUtils]: 26: Hoare triple {17866#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17859#true} is VALID [2018-11-23 12:23:37,371 INFO L273 TraceCheckUtils]: 27: Hoare triple {17859#true} ~cond := #in~cond; {17859#true} is VALID [2018-11-23 12:23:37,371 INFO L273 TraceCheckUtils]: 28: Hoare triple {17859#true} assume !(0 == ~cond); {17859#true} is VALID [2018-11-23 12:23:37,371 INFO L273 TraceCheckUtils]: 29: Hoare triple {17859#true} assume true; {17859#true} is VALID [2018-11-23 12:23:37,372 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {17859#true} {17866#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} #99#return; {17866#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:37,373 INFO L273 TraceCheckUtils]: 31: Hoare triple {17866#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {17866#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:37,373 INFO L273 TraceCheckUtils]: 32: Hoare triple {17866#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17867#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:37,375 INFO L273 TraceCheckUtils]: 33: Hoare triple {17867#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {17867#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:37,375 INFO L273 TraceCheckUtils]: 34: Hoare triple {17867#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} assume #t~short6; {17867#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:37,375 INFO L256 TraceCheckUtils]: 35: Hoare triple {17867#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17859#true} is VALID [2018-11-23 12:23:37,375 INFO L273 TraceCheckUtils]: 36: Hoare triple {17859#true} ~cond := #in~cond; {17859#true} is VALID [2018-11-23 12:23:37,375 INFO L273 TraceCheckUtils]: 37: Hoare triple {17859#true} assume !(0 == ~cond); {17859#true} is VALID [2018-11-23 12:23:37,375 INFO L273 TraceCheckUtils]: 38: Hoare triple {17859#true} assume true; {17859#true} is VALID [2018-11-23 12:23:37,376 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {17859#true} {17867#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} #99#return; {17867#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:37,381 INFO L273 TraceCheckUtils]: 40: Hoare triple {17867#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {17867#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:37,383 INFO L273 TraceCheckUtils]: 41: Hoare triple {17867#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17868#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:23:37,383 INFO L273 TraceCheckUtils]: 42: Hoare triple {17868#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {17869#|main_#t~short6|} is VALID [2018-11-23 12:23:37,385 INFO L273 TraceCheckUtils]: 43: Hoare triple {17869#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {17860#false} is VALID [2018-11-23 12:23:37,385 INFO L256 TraceCheckUtils]: 44: Hoare triple {17860#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17860#false} is VALID [2018-11-23 12:23:37,385 INFO L273 TraceCheckUtils]: 45: Hoare triple {17860#false} ~cond := #in~cond; {17860#false} is VALID [2018-11-23 12:23:37,385 INFO L273 TraceCheckUtils]: 46: Hoare triple {17860#false} assume 0 == ~cond; {17860#false} is VALID [2018-11-23 12:23:37,385 INFO L273 TraceCheckUtils]: 47: Hoare triple {17860#false} assume !false; {17860#false} is VALID [2018-11-23 12:23:37,390 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 6 proven. 18 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:23:37,391 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:37,391 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:23:37,399 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:23:37,421 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:23:37,421 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:37,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:37,439 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:37,614 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:23:37,623 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:23:37,626 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:37,631 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:37,648 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:37,648 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:29, output treesize:25 [2018-11-23 12:23:37,770 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:23:37,780 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,782 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:23:37,786 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:37,795 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:37,822 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:37,823 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:41, output treesize:37 [2018-11-23 12:23:37,897 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 34 [2018-11-23 12:23:37,908 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,910 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,911 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,914 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,916 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 34 treesize of output 92 [2018-11-23 12:23:37,921 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:37,938 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:37,959 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:37,959 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:56, output treesize:52 [2018-11-23 12:23:38,124 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 44 treesize of output 35 [2018-11-23 12:23:38,137 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,138 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,139 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,140 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,142 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,143 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,148 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,152 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 7 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 113 [2018-11-23 12:23:38,159 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:38,183 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:38,205 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:38,205 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:59, output treesize:43 [2018-11-23 12:23:38,211 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:38,211 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_70|, main_~CCCELVOL5~0]. (let ((.cse0 (select |v_#memory_int_70| |main_~#volArray~0.base|))) (and (<= 2 main_~i~0) (= (select .cse0 (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (= |#memory_int| (store |v_#memory_int_70| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 20)) main_~CCCELVOL5~0))) (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0) (= (select .cse0 (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= main_~CCCELVOL3~0 (select .cse0 (+ |main_~#volArray~0.offset| 8))))) [2018-11-23 12:23:38,212 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#volArray~0.base|))) (and (<= 2 main_~i~0) (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= (select .cse0 (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= (select .cse0 (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (= (select .cse0 (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (<= 7 main_~CCCELVOL3~0))) [2018-11-23 12:23:38,256 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 44 treesize of output 35 [2018-11-23 12:23:38,274 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,275 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,276 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,278 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,279 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,280 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,286 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,290 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 7 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 113 [2018-11-23 12:23:38,297 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:38,320 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:38,342 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:38,342 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:59, output treesize:43 [2018-11-23 12:23:38,349 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:38,349 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_71|, main_~CCCELVOL4~0]. (let ((.cse0 (select |v_#memory_int_71| |main_~#volArray~0.base|))) (and (= (select .cse0 (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (<= 2 main_~i~0) (= main_~CCCELVOL2~0 (select .cse0 (+ |main_~#volArray~0.offset| 12))) (<= main_~CCCELVOL1~0 1) (= |#memory_int| (store |v_#memory_int_71| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 16)) main_~CCCELVOL4~0))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= (select .cse0 (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))) [2018-11-23 12:23:38,349 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#volArray~0.base|))) (and (<= 2 main_~i~0) (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= (select .cse0 (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= (select .cse0 (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (= (select .cse0 (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (<= 7 main_~CCCELVOL3~0))) [2018-11-23 12:23:38,400 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 50 treesize of output 39 [2018-11-23 12:23:38,411 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,412 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,413 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,414 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,415 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,417 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,422 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,425 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 7 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 39 treesize of output 119 [2018-11-23 12:23:38,429 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:38,453 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:38,474 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:38,474 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:62, output treesize:58 [2018-11-23 12:23:38,575 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 59 treesize of output 46 [2018-11-23 12:23:38,588 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,589 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,591 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,592 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,594 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,595 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,597 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,598 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,599 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,601 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,604 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,615 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 11 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 178 [2018-11-23 12:23:38,621 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:38,654 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:38,676 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:38,676 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:71, output treesize:67 [2018-11-23 12:23:38,791 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 86 treesize of output 67 [2018-11-23 12:23:38,808 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,808 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,809 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,811 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,812 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,813 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,814 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,815 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,816 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,817 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,818 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,820 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,821 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,822 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,823 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,826 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:38,840 INFO L478 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 67 treesize of output 266 [2018-11-23 12:23:38,847 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:38,899 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:38,922 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 12:23:38,923 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:92, output treesize:88 [2018-11-23 12:23:40,388 INFO L256 TraceCheckUtils]: 0: Hoare triple {17859#true} call ULTIMATE.init(); {17859#true} is VALID [2018-11-23 12:23:40,389 INFO L273 TraceCheckUtils]: 1: Hoare triple {17859#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {17859#true} is VALID [2018-11-23 12:23:40,389 INFO L273 TraceCheckUtils]: 2: Hoare triple {17859#true} assume true; {17859#true} is VALID [2018-11-23 12:23:40,390 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {17859#true} {17859#true} #95#return; {17859#true} is VALID [2018-11-23 12:23:40,390 INFO L256 TraceCheckUtils]: 4: Hoare triple {17859#true} call #t~ret7 := main(); {17859#true} is VALID [2018-11-23 12:23:40,390 INFO L273 TraceCheckUtils]: 5: Hoare triple {17859#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {17859#true} is VALID [2018-11-23 12:23:40,396 INFO L273 TraceCheckUtils]: 6: Hoare triple {17859#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {17891#(and (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:40,397 INFO L273 TraceCheckUtils]: 7: Hoare triple {17891#(and (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {17895#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:40,397 INFO L273 TraceCheckUtils]: 8: Hoare triple {17895#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {17895#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:40,398 INFO L273 TraceCheckUtils]: 9: Hoare triple {17895#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {17895#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:40,398 INFO L273 TraceCheckUtils]: 10: Hoare triple {17895#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {17895#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:40,399 INFO L273 TraceCheckUtils]: 11: Hoare triple {17895#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {17908#(and (<= main_~CCCELVOL1~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:40,401 INFO L273 TraceCheckUtils]: 12: Hoare triple {17908#(and (<= main_~CCCELVOL1~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {17912#(and (<= main_~CCCELVOL1~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8))) main_~CCCELVOL2~0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:40,402 INFO L273 TraceCheckUtils]: 13: Hoare triple {17912#(and (<= main_~CCCELVOL1~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8))) main_~CCCELVOL2~0) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {17916#(and (<= main_~CCCELVOL1~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= main_~CCCELVOL1~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8))) main_~CCCELVOL2~0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:40,404 INFO L273 TraceCheckUtils]: 14: Hoare triple {17916#(and (<= main_~CCCELVOL1~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= main_~CCCELVOL1~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8))) main_~CCCELVOL2~0) (<= 7 main_~CCCELVOL3~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17920#(and (<= 2 main_~i~0) (<= main_~CCCELVOL1~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:40,405 INFO L273 TraceCheckUtils]: 15: Hoare triple {17920#(and (<= 2 main_~i~0) (<= main_~CCCELVOL1~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {17920#(and (<= 2 main_~i~0) (<= main_~CCCELVOL1~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:40,407 INFO L273 TraceCheckUtils]: 16: Hoare triple {17920#(and (<= 2 main_~i~0) (<= main_~CCCELVOL1~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {17920#(and (<= 2 main_~i~0) (<= main_~CCCELVOL1~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:40,408 INFO L273 TraceCheckUtils]: 17: Hoare triple {17920#(and (<= 2 main_~i~0) (<= main_~CCCELVOL1~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {17920#(and (<= 2 main_~i~0) (<= main_~CCCELVOL1~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:40,410 INFO L273 TraceCheckUtils]: 18: Hoare triple {17920#(and (<= 2 main_~i~0) (<= main_~CCCELVOL1~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL3~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {17933#(and (<= 2 main_~i~0) (<= main_~CCCELVOL1~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:23:40,412 INFO L273 TraceCheckUtils]: 19: Hoare triple {17933#(and (<= 2 main_~i~0) (<= main_~CCCELVOL1~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {17937#(and (<= 2 main_~i~0) (<= main_~CCCELVOL1~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:23:40,415 INFO L273 TraceCheckUtils]: 20: Hoare triple {17937#(and (<= 2 main_~i~0) (<= main_~CCCELVOL1~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) main_~CCCELVOL1~0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {17941#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:23:40,417 INFO L273 TraceCheckUtils]: 21: Hoare triple {17941#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17941#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:23:40,419 INFO L273 TraceCheckUtils]: 22: Hoare triple {17941#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {17941#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:23:40,421 INFO L273 TraceCheckUtils]: 23: Hoare triple {17941#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 4)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} ~i~0 := 0; {17951#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:40,423 INFO L273 TraceCheckUtils]: 24: Hoare triple {17951#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {17951#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:40,425 INFO L273 TraceCheckUtils]: 25: Hoare triple {17951#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} assume #t~short6; {17951#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:40,428 INFO L256 TraceCheckUtils]: 26: Hoare triple {17951#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17961#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_9| Int) (v_prenex_5 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) 1) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 12))))} is VALID [2018-11-23 12:23:40,429 INFO L273 TraceCheckUtils]: 27: Hoare triple {17961#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_9| Int) (v_prenex_5 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) 1) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 12))))} ~cond := #in~cond; {17961#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_9| Int) (v_prenex_5 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) 1) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 12))))} is VALID [2018-11-23 12:23:40,429 INFO L273 TraceCheckUtils]: 28: Hoare triple {17961#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_9| Int) (v_prenex_5 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) 1) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 12))))} assume !(0 == ~cond); {17961#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_9| Int) (v_prenex_5 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) 1) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 12))))} is VALID [2018-11-23 12:23:40,430 INFO L273 TraceCheckUtils]: 29: Hoare triple {17961#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_9| Int) (v_prenex_5 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) 1) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 12))))} assume true; {17961#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_9| Int) (v_prenex_5 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) 1) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 12))))} is VALID [2018-11-23 12:23:40,431 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {17961#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_9| Int) (v_prenex_5 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) 1) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 12))))} {17951#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} #99#return; {17951#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:40,433 INFO L273 TraceCheckUtils]: 31: Hoare triple {17951#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {17951#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:40,434 INFO L273 TraceCheckUtils]: 32: Hoare triple {17951#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17980#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:23:40,437 INFO L273 TraceCheckUtils]: 33: Hoare triple {17980#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {17980#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:23:40,439 INFO L273 TraceCheckUtils]: 34: Hoare triple {17980#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} assume #t~short6; {17980#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:23:40,442 INFO L256 TraceCheckUtils]: 35: Hoare triple {17980#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17961#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_9| Int) (v_prenex_5 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) 1) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 12))))} is VALID [2018-11-23 12:23:40,443 INFO L273 TraceCheckUtils]: 36: Hoare triple {17961#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_9| Int) (v_prenex_5 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) 1) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 12))))} ~cond := #in~cond; {17961#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_9| Int) (v_prenex_5 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) 1) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 12))))} is VALID [2018-11-23 12:23:40,443 INFO L273 TraceCheckUtils]: 37: Hoare triple {17961#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_9| Int) (v_prenex_5 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) 1) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 12))))} assume !(0 == ~cond); {17961#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_9| Int) (v_prenex_5 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) 1) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 12))))} is VALID [2018-11-23 12:23:40,444 INFO L273 TraceCheckUtils]: 38: Hoare triple {17961#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_9| Int) (v_prenex_5 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) 1) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 12))))} assume true; {17961#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_9| Int) (v_prenex_5 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) 1) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 12))))} is VALID [2018-11-23 12:23:40,445 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {17961#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_9| Int) (v_prenex_5 Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) 1) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 16) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) (+ (* 20 v_prenex_5) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_9|) 12))))} {17980#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} #99#return; {17980#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:23:40,447 INFO L273 TraceCheckUtils]: 40: Hoare triple {17980#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {17980#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:23:40,449 INFO L273 TraceCheckUtils]: 41: Hoare triple {17980#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {18008#(and (= main_~i~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:23:40,451 INFO L273 TraceCheckUtils]: 42: Hoare triple {18008#(and (= main_~i~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {18012#(and (= main_~i~0 2) |main_#t~short6| (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:23:40,451 INFO L273 TraceCheckUtils]: 43: Hoare triple {18012#(and (= main_~i~0 2) |main_#t~short6| (exists ((v_prenex_5 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 4)))) (<= 2 v_prenex_5) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 12))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 v_prenex_5) (- 8)))))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 1) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {17860#false} is VALID [2018-11-23 12:23:40,452 INFO L256 TraceCheckUtils]: 44: Hoare triple {17860#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17860#false} is VALID [2018-11-23 12:23:40,452 INFO L273 TraceCheckUtils]: 45: Hoare triple {17860#false} ~cond := #in~cond; {17860#false} is VALID [2018-11-23 12:23:40,452 INFO L273 TraceCheckUtils]: 46: Hoare triple {17860#false} assume 0 == ~cond; {17860#false} is VALID [2018-11-23 12:23:40,452 INFO L273 TraceCheckUtils]: 47: Hoare triple {17860#false} assume !false; {17860#false} is VALID [2018-11-23 12:23:40,472 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 6 proven. 18 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:23:40,491 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:40,492 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 16] total 25 [2018-11-23 12:23:40,492 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 48 [2018-11-23 12:23:40,492 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:40,492 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states. [2018-11-23 12:23:40,621 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:40,621 INFO L459 AbstractCegarLoop]: Interpolant automaton has 25 states [2018-11-23 12:23:40,622 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2018-11-23 12:23:40,622 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=95, Invalid=505, Unknown=0, NotChecked=0, Total=600 [2018-11-23 12:23:40,622 INFO L87 Difference]: Start difference. First operand 272 states and 343 transitions. Second operand 25 states. [2018-11-23 12:23:44,430 WARN L180 SmtUtils]: Spent 103.00 ms on a formula simplification. DAG size of input: 55 DAG size of output: 52 [2018-11-23 12:23:48,664 WARN L180 SmtUtils]: Spent 217.00 ms on a formula simplification. DAG size of input: 58 DAG size of output: 53 [2018-11-23 12:23:56,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:56,499 INFO L93 Difference]: Finished difference Result 564 states and 704 transitions. [2018-11-23 12:23:56,499 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 48 states. [2018-11-23 12:23:56,499 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 48 [2018-11-23 12:23:56,499 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:56,499 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 12:23:56,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 278 transitions. [2018-11-23 12:23:56,503 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 12:23:56,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 278 transitions. [2018-11-23 12:23:56,506 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 48 states and 278 transitions. [2018-11-23 12:23:57,028 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 278 edges. 278 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:57,045 INFO L225 Difference]: With dead ends: 564 [2018-11-23 12:23:57,045 INFO L226 Difference]: Without dead ends: 509 [2018-11-23 12:23:57,047 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 32 SyntacticMatches, 9 SemanticMatches, 65 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1379 ImplicationChecksByTransitivity, 4.5s TimeCoverageRelationStatistics Valid=672, Invalid=3750, Unknown=0, NotChecked=0, Total=4422 [2018-11-23 12:23:57,047 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 509 states. [2018-11-23 12:24:01,400 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 509 to 329. [2018-11-23 12:24:01,400 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:24:01,400 INFO L82 GeneralOperation]: Start isEquivalent. First operand 509 states. Second operand 329 states. [2018-11-23 12:24:01,400 INFO L74 IsIncluded]: Start isIncluded. First operand 509 states. Second operand 329 states. [2018-11-23 12:24:01,401 INFO L87 Difference]: Start difference. First operand 509 states. Second operand 329 states. [2018-11-23 12:24:01,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:01,414 INFO L93 Difference]: Finished difference Result 509 states and 634 transitions. [2018-11-23 12:24:01,414 INFO L276 IsEmpty]: Start isEmpty. Operand 509 states and 634 transitions. [2018-11-23 12:24:01,415 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:01,415 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:01,415 INFO L74 IsIncluded]: Start isIncluded. First operand 329 states. Second operand 509 states. [2018-11-23 12:24:01,415 INFO L87 Difference]: Start difference. First operand 329 states. Second operand 509 states. [2018-11-23 12:24:01,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:01,432 INFO L93 Difference]: Finished difference Result 509 states and 634 transitions. [2018-11-23 12:24:01,432 INFO L276 IsEmpty]: Start isEmpty. Operand 509 states and 634 transitions. [2018-11-23 12:24:01,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:01,434 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:01,434 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:24:01,434 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:24:01,434 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 329 states. [2018-11-23 12:24:01,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 329 states to 329 states and 412 transitions. [2018-11-23 12:24:01,443 INFO L78 Accepts]: Start accepts. Automaton has 329 states and 412 transitions. Word has length 48 [2018-11-23 12:24:01,443 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:24:01,443 INFO L480 AbstractCegarLoop]: Abstraction has 329 states and 412 transitions. [2018-11-23 12:24:01,443 INFO L481 AbstractCegarLoop]: Interpolant automaton has 25 states. [2018-11-23 12:24:01,443 INFO L276 IsEmpty]: Start isEmpty. Operand 329 states and 412 transitions. [2018-11-23 12:24:01,444 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2018-11-23 12:24:01,444 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:24:01,445 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:24:01,445 INFO L423 AbstractCegarLoop]: === Iteration 21 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:24:01,445 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:24:01,445 INFO L82 PathProgramCache]: Analyzing trace with hash 2063236426, now seen corresponding path program 3 times [2018-11-23 12:24:01,445 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:24:01,446 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:24:01,446 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:01,446 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:24:01,446 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:01,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:02,039 INFO L256 TraceCheckUtils]: 0: Hoare triple {20285#true} call ULTIMATE.init(); {20285#true} is VALID [2018-11-23 12:24:02,040 INFO L273 TraceCheckUtils]: 1: Hoare triple {20285#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {20285#true} is VALID [2018-11-23 12:24:02,040 INFO L273 TraceCheckUtils]: 2: Hoare triple {20285#true} assume true; {20285#true} is VALID [2018-11-23 12:24:02,040 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {20285#true} {20285#true} #95#return; {20285#true} is VALID [2018-11-23 12:24:02,041 INFO L256 TraceCheckUtils]: 4: Hoare triple {20285#true} call #t~ret7 := main(); {20285#true} is VALID [2018-11-23 12:24:02,041 INFO L273 TraceCheckUtils]: 5: Hoare triple {20285#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {20285#true} is VALID [2018-11-23 12:24:02,042 INFO L273 TraceCheckUtils]: 6: Hoare triple {20285#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {20287#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:24:02,043 INFO L273 TraceCheckUtils]: 7: Hoare triple {20287#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {20288#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:24:02,043 INFO L273 TraceCheckUtils]: 8: Hoare triple {20288#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {20288#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:24:02,044 INFO L273 TraceCheckUtils]: 9: Hoare triple {20288#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {20288#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:24:02,044 INFO L273 TraceCheckUtils]: 10: Hoare triple {20288#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {20288#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:24:02,045 INFO L273 TraceCheckUtils]: 11: Hoare triple {20288#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {20288#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:24:02,046 INFO L273 TraceCheckUtils]: 12: Hoare triple {20288#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {20289#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:24:02,048 INFO L273 TraceCheckUtils]: 13: Hoare triple {20289#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {20289#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} is VALID [2018-11-23 12:24:02,049 INFO L273 TraceCheckUtils]: 14: Hoare triple {20289#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 20 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {20290#(and (or (<= (* 5 main_~i~0) 9) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 8)))))) (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (* 5 main_~i~0) 10))} is VALID [2018-11-23 12:24:02,050 INFO L273 TraceCheckUtils]: 15: Hoare triple {20290#(and (or (<= (* 5 main_~i~0) 9) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 8)))))) (<= 2 ~CELLCOUNT~0) (= ~CELLCOUNT~0 (* 5 (div ~CELLCOUNT~0 5))) (<= (* 5 main_~i~0) 10))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {20291#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 8))))))} is VALID [2018-11-23 12:24:02,051 INFO L273 TraceCheckUtils]: 16: Hoare triple {20291#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 8))))))} ~i~0 := 0; {20292#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 8))))))} is VALID [2018-11-23 12:24:02,052 INFO L273 TraceCheckUtils]: 17: Hoare triple {20292#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 8))))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {20292#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 8))))))} is VALID [2018-11-23 12:24:02,053 INFO L273 TraceCheckUtils]: 18: Hoare triple {20292#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 8))))))} assume #t~short6; {20292#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 8))))))} is VALID [2018-11-23 12:24:02,053 INFO L256 TraceCheckUtils]: 19: Hoare triple {20292#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 8))))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {20285#true} is VALID [2018-11-23 12:24:02,054 INFO L273 TraceCheckUtils]: 20: Hoare triple {20285#true} ~cond := #in~cond; {20285#true} is VALID [2018-11-23 12:24:02,054 INFO L273 TraceCheckUtils]: 21: Hoare triple {20285#true} assume !(0 == ~cond); {20285#true} is VALID [2018-11-23 12:24:02,054 INFO L273 TraceCheckUtils]: 22: Hoare triple {20285#true} assume true; {20285#true} is VALID [2018-11-23 12:24:02,055 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {20285#true} {20292#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 8))))))} #99#return; {20292#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 8))))))} is VALID [2018-11-23 12:24:02,056 INFO L273 TraceCheckUtils]: 24: Hoare triple {20292#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 8))))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {20292#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 8))))))} is VALID [2018-11-23 12:24:02,057 INFO L273 TraceCheckUtils]: 25: Hoare triple {20292#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 5) (+ |main_~#volArray~0.offset| (- 8))))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {20293#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} is VALID [2018-11-23 12:24:02,058 INFO L273 TraceCheckUtils]: 26: Hoare triple {20293#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {20293#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} is VALID [2018-11-23 12:24:02,059 INFO L273 TraceCheckUtils]: 27: Hoare triple {20293#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} assume #t~short6; {20293#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} is VALID [2018-11-23 12:24:02,059 INFO L256 TraceCheckUtils]: 28: Hoare triple {20293#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {20285#true} is VALID [2018-11-23 12:24:02,059 INFO L273 TraceCheckUtils]: 29: Hoare triple {20285#true} ~cond := #in~cond; {20285#true} is VALID [2018-11-23 12:24:02,060 INFO L273 TraceCheckUtils]: 30: Hoare triple {20285#true} assume !(0 == ~cond); {20285#true} is VALID [2018-11-23 12:24:02,060 INFO L273 TraceCheckUtils]: 31: Hoare triple {20285#true} assume true; {20285#true} is VALID [2018-11-23 12:24:02,061 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {20285#true} {20293#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} #99#return; {20293#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} is VALID [2018-11-23 12:24:02,062 INFO L273 TraceCheckUtils]: 33: Hoare triple {20293#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {20293#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} is VALID [2018-11-23 12:24:02,063 INFO L273 TraceCheckUtils]: 34: Hoare triple {20293#(and (<= 1 (div ~CELLCOUNT~0 5)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {20294#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} is VALID [2018-11-23 12:24:02,064 INFO L273 TraceCheckUtils]: 35: Hoare triple {20294#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {20294#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} is VALID [2018-11-23 12:24:02,065 INFO L273 TraceCheckUtils]: 36: Hoare triple {20294#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} assume #t~short6; {20294#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} is VALID [2018-11-23 12:24:02,065 INFO L256 TraceCheckUtils]: 37: Hoare triple {20294#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {20285#true} is VALID [2018-11-23 12:24:02,065 INFO L273 TraceCheckUtils]: 38: Hoare triple {20285#true} ~cond := #in~cond; {20285#true} is VALID [2018-11-23 12:24:02,065 INFO L273 TraceCheckUtils]: 39: Hoare triple {20285#true} assume !(0 == ~cond); {20285#true} is VALID [2018-11-23 12:24:02,066 INFO L273 TraceCheckUtils]: 40: Hoare triple {20285#true} assume true; {20285#true} is VALID [2018-11-23 12:24:02,067 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {20285#true} {20294#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} #99#return; {20294#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} is VALID [2018-11-23 12:24:02,067 INFO L273 TraceCheckUtils]: 42: Hoare triple {20294#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {20294#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} is VALID [2018-11-23 12:24:02,069 INFO L273 TraceCheckUtils]: 43: Hoare triple {20294#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= 1 (div ~CELLCOUNT~0 5)) (<= (* 5 (div ~CELLCOUNT~0 5)) 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {20295#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:24:02,069 INFO L273 TraceCheckUtils]: 44: Hoare triple {20295#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {20296#|main_#t~short6|} is VALID [2018-11-23 12:24:02,070 INFO L273 TraceCheckUtils]: 45: Hoare triple {20296#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {20286#false} is VALID [2018-11-23 12:24:02,070 INFO L256 TraceCheckUtils]: 46: Hoare triple {20286#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {20286#false} is VALID [2018-11-23 12:24:02,070 INFO L273 TraceCheckUtils]: 47: Hoare triple {20286#false} ~cond := #in~cond; {20286#false} is VALID [2018-11-23 12:24:02,071 INFO L273 TraceCheckUtils]: 48: Hoare triple {20286#false} assume 0 == ~cond; {20286#false} is VALID [2018-11-23 12:24:02,071 INFO L273 TraceCheckUtils]: 49: Hoare triple {20286#false} assume !false; {20286#false} is VALID [2018-11-23 12:24:02,078 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 9 proven. 22 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:24:02,079 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:24:02,079 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:24:02,087 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:24:02,142 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 12:24:02,142 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:24:02,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:02,155 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:24:02,277 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:24:02,283 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:24:02,287 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:02,291 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:02,305 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:02,305 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:19 [2018-11-23 12:24:02,309 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:24:02,309 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_75|, main_~CCCELVOL2~0]. (and (<= main_~MINVAL~0 2) (<= 3 main_~CCCELVOL2~0) (= main_~i~0 1) (= (store |v_#memory_int_75| |main_~#volArray~0.base| (store (select |v_#memory_int_75| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)) main_~CCCELVOL2~0)) |#memory_int|)) [2018-11-23 12:24:02,310 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= main_~MINVAL~0 2) (= main_~i~0 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8))))) [2018-11-23 12:24:02,355 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 18 [2018-11-23 12:24:02,364 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:02,366 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:02,368 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 37 [2018-11-23 12:24:02,372 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:02,381 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:02,387 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:02,388 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:26, output treesize:22 [2018-11-23 12:24:03,479 INFO L256 TraceCheckUtils]: 0: Hoare triple {20285#true} call ULTIMATE.init(); {20285#true} is VALID [2018-11-23 12:24:03,480 INFO L273 TraceCheckUtils]: 1: Hoare triple {20285#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {20285#true} is VALID [2018-11-23 12:24:03,480 INFO L273 TraceCheckUtils]: 2: Hoare triple {20285#true} assume true; {20285#true} is VALID [2018-11-23 12:24:03,480 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {20285#true} {20285#true} #95#return; {20285#true} is VALID [2018-11-23 12:24:03,480 INFO L256 TraceCheckUtils]: 4: Hoare triple {20285#true} call #t~ret7 := main(); {20285#true} is VALID [2018-11-23 12:24:03,480 INFO L273 TraceCheckUtils]: 5: Hoare triple {20285#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {20285#true} is VALID [2018-11-23 12:24:03,481 INFO L273 TraceCheckUtils]: 6: Hoare triple {20285#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL5~0 := 2;~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {20318#(and (<= main_~CCCELVOL5~0 2) (<= 3 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:24:03,481 INFO L273 TraceCheckUtils]: 7: Hoare triple {20318#(and (<= main_~CCCELVOL5~0 2) (<= 3 main_~CCCELVOL2~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then ~CELLCOUNT~0 % 5 - 5 else ~CELLCOUNT~0 % 5) then 1 else 0);~i~0 := 1; {20322#(and (<= main_~CCCELVOL5~0 2) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:24:03,482 INFO L273 TraceCheckUtils]: 8: Hoare triple {20322#(and (<= main_~CCCELVOL5~0 2) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {20322#(and (<= main_~CCCELVOL5~0 2) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:24:03,482 INFO L273 TraceCheckUtils]: 9: Hoare triple {20322#(and (<= main_~CCCELVOL5~0 2) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0))} assume ~CCCELVOL5~0 >= ~MINVAL~0;call write~int(~CCCELVOL5~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 5), 4); {20329#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:24:03,483 INFO L273 TraceCheckUtils]: 10: Hoare triple {20329#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 4), 4); {20329#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:24:03,483 INFO L273 TraceCheckUtils]: 11: Hoare triple {20329#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 3), 4); {20329#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:24:03,484 INFO L273 TraceCheckUtils]: 12: Hoare triple {20329#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 2), 4); {20339#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))))} is VALID [2018-11-23 12:24:03,485 INFO L273 TraceCheckUtils]: 13: Hoare triple {20339#(and (<= main_~MINVAL~0 2) (= main_~i~0 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 20 main_~i~0) (- 8)))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (5 * ~i~0 - 1), 4); {20343#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:03,486 INFO L273 TraceCheckUtils]: 14: Hoare triple {20343#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {20343#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:03,487 INFO L273 TraceCheckUtils]: 15: Hoare triple {20343#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 5 then 1 + ~CELLCOUNT~0 / 5 else ~CELLCOUNT~0 / 5)); {20343#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:03,488 INFO L273 TraceCheckUtils]: 16: Hoare triple {20343#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} ~i~0 := 0; {20353#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:24:03,489 INFO L273 TraceCheckUtils]: 17: Hoare triple {20353#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {20353#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:24:03,490 INFO L273 TraceCheckUtils]: 18: Hoare triple {20353#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} assume #t~short6; {20353#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:24:03,491 INFO L256 TraceCheckUtils]: 19: Hoare triple {20353#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} is VALID [2018-11-23 12:24:03,492 INFO L273 TraceCheckUtils]: 20: Hoare triple {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} ~cond := #in~cond; {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} is VALID [2018-11-23 12:24:03,492 INFO L273 TraceCheckUtils]: 21: Hoare triple {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} assume !(0 == ~cond); {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} is VALID [2018-11-23 12:24:03,493 INFO L273 TraceCheckUtils]: 22: Hoare triple {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} assume true; {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} is VALID [2018-11-23 12:24:03,493 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} {20353#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} #99#return; {20353#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:24:03,494 INFO L273 TraceCheckUtils]: 24: Hoare triple {20353#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {20353#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:24:03,494 INFO L273 TraceCheckUtils]: 25: Hoare triple {20353#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {20382#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:03,495 INFO L273 TraceCheckUtils]: 26: Hoare triple {20382#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {20382#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:03,495 INFO L273 TraceCheckUtils]: 27: Hoare triple {20382#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume #t~short6; {20382#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:03,497 INFO L256 TraceCheckUtils]: 28: Hoare triple {20382#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} is VALID [2018-11-23 12:24:03,498 INFO L273 TraceCheckUtils]: 29: Hoare triple {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} ~cond := #in~cond; {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} is VALID [2018-11-23 12:24:03,498 INFO L273 TraceCheckUtils]: 30: Hoare triple {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} assume !(0 == ~cond); {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} is VALID [2018-11-23 12:24:03,499 INFO L273 TraceCheckUtils]: 31: Hoare triple {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} assume true; {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} is VALID [2018-11-23 12:24:03,499 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} {20382#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #99#return; {20382#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:03,500 INFO L273 TraceCheckUtils]: 33: Hoare triple {20382#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {20382#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:03,501 INFO L273 TraceCheckUtils]: 34: Hoare triple {20382#(and (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {20410#(and (= main_~i~0 2) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:03,502 INFO L273 TraceCheckUtils]: 35: Hoare triple {20410#(and (= main_~i~0 2) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {20410#(and (= main_~i~0 2) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:03,503 INFO L273 TraceCheckUtils]: 36: Hoare triple {20410#(and (= main_~i~0 2) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume #t~short6; {20410#(and (= main_~i~0 2) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:03,504 INFO L256 TraceCheckUtils]: 37: Hoare triple {20410#(and (= main_~i~0 2) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} is VALID [2018-11-23 12:24:03,505 INFO L273 TraceCheckUtils]: 38: Hoare triple {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} ~cond := #in~cond; {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} is VALID [2018-11-23 12:24:03,505 INFO L273 TraceCheckUtils]: 39: Hoare triple {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} assume !(0 == ~cond); {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} is VALID [2018-11-23 12:24:03,506 INFO L273 TraceCheckUtils]: 40: Hoare triple {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} assume true; {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} is VALID [2018-11-23 12:24:03,507 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {20363#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_11| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_11| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 12))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_11|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_11| 16)))))} {20410#(and (= main_~i~0 2) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #99#return; {20410#(and (= main_~i~0 2) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:03,508 INFO L273 TraceCheckUtils]: 42: Hoare triple {20410#(and (= main_~i~0 2) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {20410#(and (= main_~i~0 2) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:03,509 INFO L273 TraceCheckUtils]: 43: Hoare triple {20410#(and (= main_~i~0 2) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {20438#(and (= main_~i~0 3) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:03,510 INFO L273 TraceCheckUtils]: 44: Hoare triple {20438#(and (= main_~i~0 3) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (<= main_~MINVAL~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {20296#|main_#t~short6|} is VALID [2018-11-23 12:24:03,510 INFO L273 TraceCheckUtils]: 45: Hoare triple {20296#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {20286#false} is VALID [2018-11-23 12:24:03,510 INFO L256 TraceCheckUtils]: 46: Hoare triple {20286#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {20286#false} is VALID [2018-11-23 12:24:03,511 INFO L273 TraceCheckUtils]: 47: Hoare triple {20286#false} ~cond := #in~cond; {20286#false} is VALID [2018-11-23 12:24:03,511 INFO L273 TraceCheckUtils]: 48: Hoare triple {20286#false} assume 0 == ~cond; {20286#false} is VALID [2018-11-23 12:24:03,511 INFO L273 TraceCheckUtils]: 49: Hoare triple {20286#false} assume !false; {20286#false} is VALID [2018-11-23 12:24:03,520 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 9 proven. 22 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:24:03,544 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:24:03,544 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 22 [2018-11-23 12:24:03,545 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 50 [2018-11-23 12:24:03,545 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:24:03,545 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-23 12:24:03,649 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:24:03,649 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-23 12:24:03,649 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-23 12:24:03,649 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=398, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:24:03,649 INFO L87 Difference]: Start difference. First operand 329 states and 412 transitions. Second operand 22 states. [2018-11-23 12:24:18,863 WARN L180 SmtUtils]: Spent 473.00 ms on a formula simplification. DAG size of input: 45 DAG size of output: 30 [2018-11-23 12:24:27,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:27,781 INFO L93 Difference]: Finished difference Result 523 states and 648 transitions. [2018-11-23 12:24:27,781 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 45 states. [2018-11-23 12:24:27,782 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 50 [2018-11-23 12:24:27,782 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:24:27,782 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:24:27,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 242 transitions. [2018-11-23 12:24:27,784 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:24:27,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 242 transitions. [2018-11-23 12:24:27,786 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 45 states and 242 transitions. [2018-11-23 12:24:28,173 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 242 edges. 242 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:24:28,190 INFO L225 Difference]: With dead ends: 523 [2018-11-23 12:24:28,190 INFO L226 Difference]: Without dead ends: 452 [2018-11-23 12:24:28,192 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 37 SyntacticMatches, 6 SemanticMatches, 62 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1122 ImplicationChecksByTransitivity, 4.1s TimeCoverageRelationStatistics Valid=651, Invalid=3381, Unknown=0, NotChecked=0, Total=4032 [2018-11-23 12:24:28,193 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 452 states.