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/pr3_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 12:20:42,061 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:20:42,063 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:20:42,075 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:20:42,076 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:20:42,077 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:20:42,078 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:20:42,080 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:20:42,082 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:20:42,083 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:20:42,084 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:20:42,084 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:20:42,085 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:20:42,086 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:20:42,087 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:20:42,088 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:20:42,088 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:20:42,090 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:20:42,092 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:20:42,094 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:20:42,095 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:20:42,097 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:20:42,099 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:20:42,099 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:20:42,100 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:20:42,101 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:20:42,102 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:20:42,103 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:20:42,103 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:20:42,105 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:20:42,105 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:20:42,106 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:20:42,106 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:20:42,106 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:20:42,107 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:20:42,108 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:20:42,108 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:20:42,123 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:20:42,124 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:20:42,125 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:20:42,125 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 12:20:42,125 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:20:42,126 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:20:42,126 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 12:20:42,126 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:20:42,126 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:20:42,127 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:20:42,127 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:20:42,127 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:20:42,127 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:20:42,127 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:20:42,127 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:20:42,128 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:20:42,128 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:20:42,128 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:20:42,128 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:20:42,129 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:20:42,129 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 12:20:42,129 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:20:42,129 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 12:20:42,129 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:20:42,129 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:20:42,130 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:20:42,130 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:20:42,130 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 12:20:42,130 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:20:42,130 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:20:42,131 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 12:20:42,174 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:20:42,187 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:20:42,190 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:20:42,192 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:20:42,192 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:20:42,193 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-tiling/pr3_true-unreach-call.i [2018-11-23 12:20:42,250 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/09033695a/71ddc9b831ff46d8af46fb88c085eebc/FLAG64cc747df [2018-11-23 12:20:42,726 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:20:42,727 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-tiling/pr3_true-unreach-call.i [2018-11-23 12:20:42,734 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/09033695a/71ddc9b831ff46d8af46fb88c085eebc/FLAG64cc747df [2018-11-23 12:20:43,053 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/09033695a/71ddc9b831ff46d8af46fb88c085eebc [2018-11-23 12:20:43,063 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:20:43,065 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:20:43,066 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:20:43,067 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:20:43,072 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:20:43,075 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:20:43" (1/1) ... [2018-11-23 12:20:43,078 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2193ab3f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:43, skipping insertion in model container [2018-11-23 12:20:43,079 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:20:43" (1/1) ... [2018-11-23 12:20:43,089 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:20:43,117 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:20:43,367 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:20:43,377 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:20:43,422 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:20:43,459 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:20:43,459 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:43 WrapperNode [2018-11-23 12:20:43,459 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:20:43,460 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:20:43,460 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:20:43,461 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:20:43,471 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:20:43" (1/1) ... [2018-11-23 12:20:43,482 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:20:43" (1/1) ... [2018-11-23 12:20:43,499 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:20:43,499 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:20:43,500 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:20:43,500 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:20:43,511 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:43" (1/1) ... [2018-11-23 12:20:43,511 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:43" (1/1) ... [2018-11-23 12:20:43,514 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:43" (1/1) ... [2018-11-23 12:20:43,515 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:43" (1/1) ... [2018-11-23 12:20:43,536 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:43" (1/1) ... [2018-11-23 12:20:43,550 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:43" (1/1) ... [2018-11-23 12:20:43,552 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:43" (1/1) ... [2018-11-23 12:20:43,556 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:20:43,562 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:20:43,562 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:20:43,562 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:20:43,563 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:43" (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:20:43,712 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 12:20:43,712 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 12:20:43,712 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 12:20:43,712 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:20:43,713 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:20:43,713 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:20:43,713 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 12:20:43,713 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 12:20:43,713 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 12:20:43,713 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 12:20:43,713 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 12:20:43,714 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:20:44,485 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:20:44,485 INFO L280 CfgBuilder]: Removed 2 assue(true) statements. [2018-11-23 12:20:44,486 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:20:44 BoogieIcfgContainer [2018-11-23 12:20:44,486 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:20:44,487 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 12:20:44,487 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 12:20:44,490 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 12:20:44,490 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:20:43" (1/3) ... [2018-11-23 12:20:44,491 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6b547d7e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:20:44, skipping insertion in model container [2018-11-23 12:20:44,492 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:43" (2/3) ... [2018-11-23 12:20:44,492 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6b547d7e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:20:44, skipping insertion in model container [2018-11-23 12:20:44,492 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:20:44" (3/3) ... [2018-11-23 12:20:44,494 INFO L112 eAbstractionObserver]: Analyzing ICFG pr3_true-unreach-call.i [2018-11-23 12:20:44,505 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 12:20:44,512 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 12:20:44,530 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 12:20:44,562 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 12:20:44,563 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 12:20:44,564 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 12:20:44,564 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 12:20:44,565 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 12:20:44,565 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 12:20:44,565 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 12:20:44,565 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 12:20:44,565 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 12:20:44,582 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states. [2018-11-23 12:20:44,588 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 12:20:44,589 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:44,590 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:20:44,592 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:44,598 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:44,598 INFO L82 PathProgramCache]: Analyzing trace with hash 1453831941, now seen corresponding path program 1 times [2018-11-23 12:20:44,600 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:44,600 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:44,648 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:44,648 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:44,648 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:44,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:45,097 INFO L256 TraceCheckUtils]: 0: Hoare triple {34#true} call ULTIMATE.init(); {34#true} is VALID [2018-11-23 12:20:45,101 INFO L273 TraceCheckUtils]: 1: Hoare triple {34#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {34#true} is VALID [2018-11-23 12:20:45,101 INFO L273 TraceCheckUtils]: 2: Hoare triple {34#true} assume true; {34#true} is VALID [2018-11-23 12:20:45,102 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {34#true} {34#true} #83#return; {34#true} is VALID [2018-11-23 12:20:45,102 INFO L256 TraceCheckUtils]: 4: Hoare triple {34#true} call #t~ret7 := main(); {34#true} is VALID [2018-11-23 12:20:45,102 INFO L273 TraceCheckUtils]: 5: Hoare triple {34#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {34#true} is VALID [2018-11-23 12:20:45,103 INFO L273 TraceCheckUtils]: 6: Hoare triple {34#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {34#true} is VALID [2018-11-23 12:20:45,103 INFO L273 TraceCheckUtils]: 7: Hoare triple {34#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {34#true} is VALID [2018-11-23 12:20:45,104 INFO L273 TraceCheckUtils]: 8: Hoare triple {34#true} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {34#true} is VALID [2018-11-23 12:20:45,104 INFO L273 TraceCheckUtils]: 9: Hoare triple {34#true} ~i~0 := 0; {34#true} is VALID [2018-11-23 12:20:45,104 INFO L273 TraceCheckUtils]: 10: Hoare triple {34#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; {34#true} is VALID [2018-11-23 12:20:45,105 INFO L273 TraceCheckUtils]: 11: Hoare triple {34#true} assume #t~short6; {36#|main_#t~short6|} is VALID [2018-11-23 12:20:45,110 INFO L256 TraceCheckUtils]: 12: Hoare triple {36#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {37#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-23 12:20:45,111 INFO L273 TraceCheckUtils]: 13: Hoare triple {37#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {38#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:20:45,114 INFO L273 TraceCheckUtils]: 14: Hoare triple {38#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {35#false} is VALID [2018-11-23 12:20:45,114 INFO L273 TraceCheckUtils]: 15: Hoare triple {35#false} assume !false; {35#false} is VALID [2018-11-23 12:20:45,117 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:20:45,119 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:20:45,120 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 12:20:45,125 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 16 [2018-11-23 12:20:45,128 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:45,132 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 12:20:45,209 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:20:45,209 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 12:20:45,217 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 12:20:45,217 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:20:45,220 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 5 states. [2018-11-23 12:20:45,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:45,753 INFO L93 Difference]: Finished difference Result 55 states and 71 transitions. [2018-11-23 12:20:45,753 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 12:20:45,753 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 16 [2018-11-23 12:20:45,753 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:45,755 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:20:45,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 71 transitions. [2018-11-23 12:20:45,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:20:45,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 71 transitions. [2018-11-23 12:20:45,773 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 71 transitions. [2018-11-23 12:20:46,257 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:46,272 INFO L225 Difference]: With dead ends: 55 [2018-11-23 12:20:46,272 INFO L226 Difference]: Without dead ends: 31 [2018-11-23 12:20:46,275 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2018-11-23 12:20:46,291 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2018-11-23 12:20:46,338 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 30. [2018-11-23 12:20:46,338 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:46,339 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 30 states. [2018-11-23 12:20:46,340 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 30 states. [2018-11-23 12:20:46,340 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 30 states. [2018-11-23 12:20:46,344 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:46,344 INFO L93 Difference]: Finished difference Result 31 states and 36 transitions. [2018-11-23 12:20:46,345 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 36 transitions. [2018-11-23 12:20:46,345 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:46,345 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:46,346 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 31 states. [2018-11-23 12:20:46,346 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 31 states. [2018-11-23 12:20:46,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:46,350 INFO L93 Difference]: Finished difference Result 31 states and 36 transitions. [2018-11-23 12:20:46,351 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 36 transitions. [2018-11-23 12:20:46,351 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:46,351 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:46,352 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:46,352 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:46,352 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-23 12:20:46,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 35 transitions. [2018-11-23 12:20:46,358 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 35 transitions. Word has length 16 [2018-11-23 12:20:46,358 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:46,358 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 35 transitions. [2018-11-23 12:20:46,358 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 12:20:46,365 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 35 transitions. [2018-11-23 12:20:46,366 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 12:20:46,366 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:46,366 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:20:46,369 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:46,369 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:46,369 INFO L82 PathProgramCache]: Analyzing trace with hash 1455678983, now seen corresponding path program 1 times [2018-11-23 12:20:46,369 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:46,370 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:46,371 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:46,371 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:46,371 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:46,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:46,613 INFO L256 TraceCheckUtils]: 0: Hoare triple {213#true} call ULTIMATE.init(); {213#true} is VALID [2018-11-23 12:20:46,614 INFO L273 TraceCheckUtils]: 1: Hoare triple {213#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {213#true} is VALID [2018-11-23 12:20:46,614 INFO L273 TraceCheckUtils]: 2: Hoare triple {213#true} assume true; {213#true} is VALID [2018-11-23 12:20:46,614 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {213#true} {213#true} #83#return; {213#true} is VALID [2018-11-23 12:20:46,615 INFO L256 TraceCheckUtils]: 4: Hoare triple {213#true} call #t~ret7 := main(); {213#true} is VALID [2018-11-23 12:20:46,615 INFO L273 TraceCheckUtils]: 5: Hoare triple {213#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {213#true} is VALID [2018-11-23 12:20:46,622 INFO L273 TraceCheckUtils]: 6: Hoare triple {213#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {215#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:20:46,625 INFO L273 TraceCheckUtils]: 7: Hoare triple {215#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {216#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-23 12:20:46,626 INFO L273 TraceCheckUtils]: 8: Hoare triple {216#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {214#false} is VALID [2018-11-23 12:20:46,627 INFO L273 TraceCheckUtils]: 9: Hoare triple {214#false} ~i~0 := 0; {214#false} is VALID [2018-11-23 12:20:46,627 INFO L273 TraceCheckUtils]: 10: Hoare triple {214#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; {214#false} is VALID [2018-11-23 12:20:46,627 INFO L273 TraceCheckUtils]: 11: Hoare triple {214#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {214#false} is VALID [2018-11-23 12:20:46,628 INFO L256 TraceCheckUtils]: 12: Hoare triple {214#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {214#false} is VALID [2018-11-23 12:20:46,628 INFO L273 TraceCheckUtils]: 13: Hoare triple {214#false} ~cond := #in~cond; {214#false} is VALID [2018-11-23 12:20:46,629 INFO L273 TraceCheckUtils]: 14: Hoare triple {214#false} assume 0 == ~cond; {214#false} is VALID [2018-11-23 12:20:46,629 INFO L273 TraceCheckUtils]: 15: Hoare triple {214#false} assume !false; {214#false} is VALID [2018-11-23 12:20:46,630 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:20:46,631 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:20:46,631 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:20:46,632 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 16 [2018-11-23 12:20:46,633 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:46,633 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:20:46,678 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:20:46,679 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:20:46,679 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:20:46,679 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:20:46,680 INFO L87 Difference]: Start difference. First operand 30 states and 35 transitions. Second operand 4 states. [2018-11-23 12:20:46,911 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:46,911 INFO L93 Difference]: Finished difference Result 52 states and 62 transitions. [2018-11-23 12:20:46,912 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:20:46,912 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 16 [2018-11-23 12:20:46,912 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:46,912 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:20:46,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 52 transitions. [2018-11-23 12:20:46,916 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:20:46,919 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 52 transitions. [2018-11-23 12:20:46,919 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 52 transitions. [2018-11-23 12:20:47,029 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:47,032 INFO L225 Difference]: With dead ends: 52 [2018-11-23 12:20:47,032 INFO L226 Difference]: Without dead ends: 35 [2018-11-23 12:20:47,033 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:20:47,033 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2018-11-23 12:20:47,072 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 31. [2018-11-23 12:20:47,072 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:47,072 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand 31 states. [2018-11-23 12:20:47,073 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 31 states. [2018-11-23 12:20:47,073 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 31 states. [2018-11-23 12:20:47,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:47,076 INFO L93 Difference]: Finished difference Result 35 states and 43 transitions. [2018-11-23 12:20:47,076 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 43 transitions. [2018-11-23 12:20:47,077 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:47,077 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:47,077 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 35 states. [2018-11-23 12:20:47,078 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 35 states. [2018-11-23 12:20:47,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:47,081 INFO L93 Difference]: Finished difference Result 35 states and 43 transitions. [2018-11-23 12:20:47,081 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 43 transitions. [2018-11-23 12:20:47,082 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:47,082 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:47,082 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:47,082 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:47,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 12:20:47,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 36 transitions. [2018-11-23 12:20:47,085 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 36 transitions. Word has length 16 [2018-11-23 12:20:47,085 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:47,086 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 36 transitions. [2018-11-23 12:20:47,086 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:20:47,086 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 36 transitions. [2018-11-23 12:20:47,087 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 12:20:47,087 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:47,087 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] [2018-11-23 12:20:47,087 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:47,090 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:47,090 INFO L82 PathProgramCache]: Analyzing trace with hash 363435001, now seen corresponding path program 1 times [2018-11-23 12:20:47,090 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:47,090 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:47,091 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:47,091 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:47,092 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:47,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:48,051 INFO L256 TraceCheckUtils]: 0: Hoare triple {399#true} call ULTIMATE.init(); {399#true} is VALID [2018-11-23 12:20:48,051 INFO L273 TraceCheckUtils]: 1: Hoare triple {399#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {399#true} is VALID [2018-11-23 12:20:48,051 INFO L273 TraceCheckUtils]: 2: Hoare triple {399#true} assume true; {399#true} is VALID [2018-11-23 12:20:48,052 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {399#true} {399#true} #83#return; {399#true} is VALID [2018-11-23 12:20:48,052 INFO L256 TraceCheckUtils]: 4: Hoare triple {399#true} call #t~ret7 := main(); {399#true} is VALID [2018-11-23 12:20:48,052 INFO L273 TraceCheckUtils]: 5: Hoare triple {399#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {399#true} is VALID [2018-11-23 12:20:48,053 INFO L273 TraceCheckUtils]: 6: Hoare triple {399#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {401#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:48,055 INFO L273 TraceCheckUtils]: 7: Hoare triple {401#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {402#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:20:48,056 INFO L273 TraceCheckUtils]: 8: Hoare triple {402#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {402#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:20:48,058 INFO L273 TraceCheckUtils]: 9: Hoare triple {402#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (= |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 * (3 * ~i~0 - 3), 4); {403#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:20:48,060 INFO L273 TraceCheckUtils]: 10: Hoare triple {403#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= |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 * (3 * ~i~0 - 2), 4); {403#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:20:48,062 INFO L273 TraceCheckUtils]: 11: Hoare triple {403#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {403#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:20:48,064 INFO L273 TraceCheckUtils]: 12: Hoare triple {403#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {404#(and (= |main_~#volArray~0.offset| 0) (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 12 main_~i~0)) 23) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:20:48,066 INFO L273 TraceCheckUtils]: 13: Hoare triple {404#(and (= |main_~#volArray~0.offset| 0) (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 12 main_~i~0)) 23) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {405#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} is VALID [2018-11-23 12:20:48,085 INFO L273 TraceCheckUtils]: 14: Hoare triple {405#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} ~i~0 := 0; {406#(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:20:48,101 INFO L273 TraceCheckUtils]: 15: Hoare triple {406#(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; {407#(and |main_#t~short6| (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:20:48,110 INFO L273 TraceCheckUtils]: 16: Hoare triple {407#(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; {400#false} is VALID [2018-11-23 12:20:48,111 INFO L256 TraceCheckUtils]: 17: Hoare triple {400#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {400#false} is VALID [2018-11-23 12:20:48,111 INFO L273 TraceCheckUtils]: 18: Hoare triple {400#false} ~cond := #in~cond; {400#false} is VALID [2018-11-23 12:20:48,111 INFO L273 TraceCheckUtils]: 19: Hoare triple {400#false} assume 0 == ~cond; {400#false} is VALID [2018-11-23 12:20:48,112 INFO L273 TraceCheckUtils]: 20: Hoare triple {400#false} assume !false; {400#false} is VALID [2018-11-23 12:20:48,115 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:20:48,115 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:20:48,115 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:20:48,131 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:48,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:48,202 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:48,207 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:20:48,401 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:20:48,408 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:20:48,412 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:48,418 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:48,449 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:20:48,450 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:19 [2018-11-23 12:20:48,455 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:48,455 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_17|, main_~CCCELVOL3~0]. (and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= |#memory_int| (store |v_#memory_int_17| |main_~#volArray~0.base| (store (select |v_#memory_int_17| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)) main_~CCCELVOL3~0)))) [2018-11-23 12:20:48,456 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:20:48,593 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:20:48,601 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:48,609 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:20:48,611 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:48,620 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:48,634 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:20:48,635 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-23 12:20:48,638 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:48,638 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_18|, main_~CCCELVOL2~0]. (let ((.cse0 (select |v_#memory_int_18| |main_~#volArray~0.base|)) (.cse1 (* 12 main_~i~0))) (and (= (store |v_#memory_int_18| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 8)) main_~CCCELVOL2~0)) |#memory_int|) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 12)))))) [2018-11-23 12:20:48,639 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:20:48,685 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:20:48,723 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:48,728 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:20:48,735 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:48,744 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:48,767 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:48,768 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:24, output treesize:11 [2018-11-23 12:20:48,771 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:48,771 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_19|, main_~CCCELVOL1~0]. (let ((.cse0 (select |v_#memory_int_19| |main_~#volArray~0.base|))) (and (<= main_~MINVAL~0 (select .cse0 |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (store |v_#memory_int_19| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| 8) main_~CCCELVOL1~0)) |#memory_int|))) [2018-11-23 12:20:48,771 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:20:48,892 INFO L256 TraceCheckUtils]: 0: Hoare triple {399#true} call ULTIMATE.init(); {399#true} is VALID [2018-11-23 12:20:48,893 INFO L273 TraceCheckUtils]: 1: Hoare triple {399#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {399#true} is VALID [2018-11-23 12:20:48,893 INFO L273 TraceCheckUtils]: 2: Hoare triple {399#true} assume true; {399#true} is VALID [2018-11-23 12:20:48,893 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {399#true} {399#true} #83#return; {399#true} is VALID [2018-11-23 12:20:48,894 INFO L256 TraceCheckUtils]: 4: Hoare triple {399#true} call #t~ret7 := main(); {399#true} is VALID [2018-11-23 12:20:48,894 INFO L273 TraceCheckUtils]: 5: Hoare triple {399#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {399#true} is VALID [2018-11-23 12:20:48,901 INFO L273 TraceCheckUtils]: 6: Hoare triple {399#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {429#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:20:48,902 INFO L273 TraceCheckUtils]: 7: Hoare triple {429#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {433#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:48,913 INFO L273 TraceCheckUtils]: 8: Hoare triple {433#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {433#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:48,926 INFO L273 TraceCheckUtils]: 9: Hoare triple {433#(and (= 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 * (3 * ~i~0 - 3), 4); {440#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:48,940 INFO L273 TraceCheckUtils]: 10: Hoare triple {440#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))) (= 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 * (3 * ~i~0 - 2), 4); {440#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:48,941 INFO L273 TraceCheckUtils]: 11: Hoare triple {440#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {405#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} is VALID [2018-11-23 12:20:48,942 INFO L273 TraceCheckUtils]: 12: Hoare triple {405#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {405#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} is VALID [2018-11-23 12:20:48,943 INFO L273 TraceCheckUtils]: 13: Hoare triple {405#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {405#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} is VALID [2018-11-23 12:20:48,945 INFO L273 TraceCheckUtils]: 14: Hoare triple {405#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} ~i~0 := 0; {406#(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:20:48,946 INFO L273 TraceCheckUtils]: 15: Hoare triple {406#(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; {459#|main_#t~short6|} is VALID [2018-11-23 12:20:48,947 INFO L273 TraceCheckUtils]: 16: Hoare triple {459#|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; {400#false} is VALID [2018-11-23 12:20:48,947 INFO L256 TraceCheckUtils]: 17: Hoare triple {400#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {400#false} is VALID [2018-11-23 12:20:48,948 INFO L273 TraceCheckUtils]: 18: Hoare triple {400#false} ~cond := #in~cond; {400#false} is VALID [2018-11-23 12:20:48,948 INFO L273 TraceCheckUtils]: 19: Hoare triple {400#false} assume 0 == ~cond; {400#false} is VALID [2018-11-23 12:20:48,949 INFO L273 TraceCheckUtils]: 20: Hoare triple {400#false} assume !false; {400#false} is VALID [2018-11-23 12:20:48,951 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:20:48,973 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:20:48,974 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2018-11-23 12:20:48,974 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 21 [2018-11-23 12:20:48,975 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:48,975 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-23 12:20:49,045 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:20:49,045 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-23 12:20:49,046 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 12:20:49,046 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=114, Unknown=0, NotChecked=0, Total=156 [2018-11-23 12:20:49,047 INFO L87 Difference]: Start difference. First operand 31 states and 36 transitions. Second operand 13 states. [2018-11-23 12:20:50,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:50,917 INFO L93 Difference]: Finished difference Result 80 states and 103 transitions. [2018-11-23 12:20:50,918 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 12:20:50,918 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 21 [2018-11-23 12:20:50,918 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:50,918 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 12:20:50,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 95 transitions. [2018-11-23 12:20:50,923 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 12:20:50,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 95 transitions. [2018-11-23 12:20:50,928 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 95 transitions. [2018-11-23 12:20:51,115 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:51,119 INFO L225 Difference]: With dead ends: 80 [2018-11-23 12:20:51,119 INFO L226 Difference]: Without dead ends: 64 [2018-11-23 12:20:51,120 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 16 SyntacticMatches, 4 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 86 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=127, Invalid=335, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:20:51,121 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2018-11-23 12:20:51,178 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 39. [2018-11-23 12:20:51,178 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:51,179 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand 39 states. [2018-11-23 12:20:51,179 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand 39 states. [2018-11-23 12:20:51,179 INFO L87 Difference]: Start difference. First operand 64 states. Second operand 39 states. [2018-11-23 12:20:51,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:51,186 INFO L93 Difference]: Finished difference Result 64 states and 85 transitions. [2018-11-23 12:20:51,186 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 85 transitions. [2018-11-23 12:20:51,187 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:51,187 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:51,187 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 64 states. [2018-11-23 12:20:51,188 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 64 states. [2018-11-23 12:20:51,192 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:51,193 INFO L93 Difference]: Finished difference Result 64 states and 85 transitions. [2018-11-23 12:20:51,193 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 85 transitions. [2018-11-23 12:20:51,194 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:51,194 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:51,195 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:51,195 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:51,195 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-23 12:20:51,197 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 48 transitions. [2018-11-23 12:20:51,197 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 48 transitions. Word has length 21 [2018-11-23 12:20:51,198 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:51,198 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 48 transitions. [2018-11-23 12:20:51,198 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-23 12:20:51,198 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 48 transitions. [2018-11-23 12:20:51,199 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 12:20:51,199 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:51,199 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] [2018-11-23 12:20:51,200 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:51,200 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:51,200 INFO L82 PathProgramCache]: Analyzing trace with hash 621600439, now seen corresponding path program 1 times [2018-11-23 12:20:51,200 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:51,200 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:51,201 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:51,201 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:51,202 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:51,217 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:51,323 INFO L256 TraceCheckUtils]: 0: Hoare triple {777#true} call ULTIMATE.init(); {777#true} is VALID [2018-11-23 12:20:51,323 INFO L273 TraceCheckUtils]: 1: Hoare triple {777#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {777#true} is VALID [2018-11-23 12:20:51,324 INFO L273 TraceCheckUtils]: 2: Hoare triple {777#true} assume true; {777#true} is VALID [2018-11-23 12:20:51,324 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {777#true} {777#true} #83#return; {777#true} is VALID [2018-11-23 12:20:51,325 INFO L256 TraceCheckUtils]: 4: Hoare triple {777#true} call #t~ret7 := main(); {777#true} is VALID [2018-11-23 12:20:51,325 INFO L273 TraceCheckUtils]: 5: Hoare triple {777#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {777#true} is VALID [2018-11-23 12:20:51,329 INFO L273 TraceCheckUtils]: 6: Hoare triple {777#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {779#(<= (+ main_~CCCELVOL1~0 6) main_~CCCELVOL3~0)} is VALID [2018-11-23 12:20:51,329 INFO L273 TraceCheckUtils]: 7: Hoare triple {779#(<= (+ main_~CCCELVOL1~0 6) main_~CCCELVOL3~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {779#(<= (+ main_~CCCELVOL1~0 6) main_~CCCELVOL3~0)} is VALID [2018-11-23 12:20:51,331 INFO L273 TraceCheckUtils]: 8: Hoare triple {779#(<= (+ main_~CCCELVOL1~0 6) main_~CCCELVOL3~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {779#(<= (+ main_~CCCELVOL1~0 6) main_~CCCELVOL3~0)} is VALID [2018-11-23 12:20:51,331 INFO L273 TraceCheckUtils]: 9: Hoare triple {779#(<= (+ main_~CCCELVOL1~0 6) main_~CCCELVOL3~0)} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {780#(<= (+ main_~CCCELVOL1~0 7) main_~MINVAL~0)} is VALID [2018-11-23 12:20:51,332 INFO L273 TraceCheckUtils]: 10: Hoare triple {780#(<= (+ main_~CCCELVOL1~0 7) main_~MINVAL~0)} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {780#(<= (+ main_~CCCELVOL1~0 7) main_~MINVAL~0)} is VALID [2018-11-23 12:20:51,333 INFO L273 TraceCheckUtils]: 11: Hoare triple {780#(<= (+ main_~CCCELVOL1~0 7) main_~MINVAL~0)} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {778#false} is VALID [2018-11-23 12:20:51,333 INFO L273 TraceCheckUtils]: 12: Hoare triple {778#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {778#false} is VALID [2018-11-23 12:20:51,333 INFO L273 TraceCheckUtils]: 13: Hoare triple {778#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {778#false} is VALID [2018-11-23 12:20:51,334 INFO L273 TraceCheckUtils]: 14: Hoare triple {778#false} ~i~0 := 0; {778#false} is VALID [2018-11-23 12:20:51,334 INFO L273 TraceCheckUtils]: 15: Hoare triple {778#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; {778#false} is VALID [2018-11-23 12:20:51,334 INFO L273 TraceCheckUtils]: 16: Hoare triple {778#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {778#false} is VALID [2018-11-23 12:20:51,334 INFO L256 TraceCheckUtils]: 17: Hoare triple {778#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {778#false} is VALID [2018-11-23 12:20:51,335 INFO L273 TraceCheckUtils]: 18: Hoare triple {778#false} ~cond := #in~cond; {778#false} is VALID [2018-11-23 12:20:51,335 INFO L273 TraceCheckUtils]: 19: Hoare triple {778#false} assume 0 == ~cond; {778#false} is VALID [2018-11-23 12:20:51,335 INFO L273 TraceCheckUtils]: 20: Hoare triple {778#false} assume !false; {778#false} is VALID [2018-11-23 12:20:51,336 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:20:51,336 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:20:51,337 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:20:51,337 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 21 [2018-11-23 12:20:51,337 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:51,338 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:20:51,381 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:51,381 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:20:51,381 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:20:51,382 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:20:51,382 INFO L87 Difference]: Start difference. First operand 39 states and 48 transitions. Second operand 4 states. [2018-11-23 12:20:51,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:51,803 INFO L93 Difference]: Finished difference Result 67 states and 84 transitions. [2018-11-23 12:20:51,803 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:20:51,803 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 21 [2018-11-23 12:20:51,804 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:51,804 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:20:51,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 69 transitions. [2018-11-23 12:20:51,807 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:20:51,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 69 transitions. [2018-11-23 12:20:51,809 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 69 transitions. [2018-11-23 12:20:51,932 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:20:51,934 INFO L225 Difference]: With dead ends: 67 [2018-11-23 12:20:51,935 INFO L226 Difference]: Without dead ends: 45 [2018-11-23 12:20:51,935 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:20:51,936 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2018-11-23 12:20:52,036 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 39. [2018-11-23 12:20:52,036 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:52,036 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand 39 states. [2018-11-23 12:20:52,037 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 39 states. [2018-11-23 12:20:52,037 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 39 states. [2018-11-23 12:20:52,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:52,040 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2018-11-23 12:20:52,041 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2018-11-23 12:20:52,041 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:52,042 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:52,042 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 45 states. [2018-11-23 12:20:52,042 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 45 states. [2018-11-23 12:20:52,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:52,045 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2018-11-23 12:20:52,045 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2018-11-23 12:20:52,046 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:52,046 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:52,046 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:52,046 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:52,047 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-23 12:20:52,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 47 transitions. [2018-11-23 12:20:52,049 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 47 transitions. Word has length 21 [2018-11-23 12:20:52,049 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:52,049 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 47 transitions. [2018-11-23 12:20:52,049 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:20:52,049 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 47 transitions. [2018-11-23 12:20:52,050 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 12:20:52,050 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:52,050 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] [2018-11-23 12:20:52,051 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:52,051 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:52,051 INFO L82 PathProgramCache]: Analyzing trace with hash 228573429, now seen corresponding path program 1 times [2018-11-23 12:20:52,051 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:52,051 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:52,052 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:52,053 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:52,053 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:52,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:52,156 INFO L256 TraceCheckUtils]: 0: Hoare triple {1016#true} call ULTIMATE.init(); {1016#true} is VALID [2018-11-23 12:20:52,157 INFO L273 TraceCheckUtils]: 1: Hoare triple {1016#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {1016#true} is VALID [2018-11-23 12:20:52,157 INFO L273 TraceCheckUtils]: 2: Hoare triple {1016#true} assume true; {1016#true} is VALID [2018-11-23 12:20:52,158 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1016#true} {1016#true} #83#return; {1016#true} is VALID [2018-11-23 12:20:52,158 INFO L256 TraceCheckUtils]: 4: Hoare triple {1016#true} call #t~ret7 := main(); {1016#true} is VALID [2018-11-23 12:20:52,158 INFO L273 TraceCheckUtils]: 5: Hoare triple {1016#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {1016#true} is VALID [2018-11-23 12:20:52,160 INFO L273 TraceCheckUtils]: 6: Hoare triple {1016#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {1018#(<= (+ main_~CCCELVOL2~0 4) main_~CCCELVOL3~0)} is VALID [2018-11-23 12:20:52,160 INFO L273 TraceCheckUtils]: 7: Hoare triple {1018#(<= (+ main_~CCCELVOL2~0 4) main_~CCCELVOL3~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {1018#(<= (+ main_~CCCELVOL2~0 4) main_~CCCELVOL3~0)} is VALID [2018-11-23 12:20:52,161 INFO L273 TraceCheckUtils]: 8: Hoare triple {1018#(<= (+ main_~CCCELVOL2~0 4) main_~CCCELVOL3~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {1018#(<= (+ main_~CCCELVOL2~0 4) main_~CCCELVOL3~0)} is VALID [2018-11-23 12:20:52,161 INFO L273 TraceCheckUtils]: 9: Hoare triple {1018#(<= (+ main_~CCCELVOL2~0 4) main_~CCCELVOL3~0)} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {1019#(<= (+ main_~CCCELVOL2~0 5) main_~MINVAL~0)} is VALID [2018-11-23 12:20:52,163 INFO L273 TraceCheckUtils]: 10: Hoare triple {1019#(<= (+ main_~CCCELVOL2~0 5) main_~MINVAL~0)} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {1017#false} is VALID [2018-11-23 12:20:52,163 INFO L273 TraceCheckUtils]: 11: Hoare triple {1017#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {1017#false} is VALID [2018-11-23 12:20:52,164 INFO L273 TraceCheckUtils]: 12: Hoare triple {1017#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1017#false} is VALID [2018-11-23 12:20:52,164 INFO L273 TraceCheckUtils]: 13: Hoare triple {1017#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {1017#false} is VALID [2018-11-23 12:20:52,165 INFO L273 TraceCheckUtils]: 14: Hoare triple {1017#false} ~i~0 := 0; {1017#false} is VALID [2018-11-23 12:20:52,165 INFO L273 TraceCheckUtils]: 15: Hoare triple {1017#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; {1017#false} is VALID [2018-11-23 12:20:52,166 INFO L273 TraceCheckUtils]: 16: Hoare triple {1017#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {1017#false} is VALID [2018-11-23 12:20:52,166 INFO L256 TraceCheckUtils]: 17: Hoare triple {1017#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {1017#false} is VALID [2018-11-23 12:20:52,167 INFO L273 TraceCheckUtils]: 18: Hoare triple {1017#false} ~cond := #in~cond; {1017#false} is VALID [2018-11-23 12:20:52,167 INFO L273 TraceCheckUtils]: 19: Hoare triple {1017#false} assume 0 == ~cond; {1017#false} is VALID [2018-11-23 12:20:52,168 INFO L273 TraceCheckUtils]: 20: Hoare triple {1017#false} assume !false; {1017#false} is VALID [2018-11-23 12:20:52,168 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:20:52,169 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:20:52,169 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:20:52,169 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 21 [2018-11-23 12:20:52,170 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:52,170 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:20:52,201 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:52,201 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:20:52,202 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:20:52,202 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:20:52,202 INFO L87 Difference]: Start difference. First operand 39 states and 47 transitions. Second operand 4 states. [2018-11-23 12:20:52,650 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:52,650 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2018-11-23 12:20:52,650 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:20:52,650 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 21 [2018-11-23 12:20:52,650 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:52,651 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:20:52,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 67 transitions. [2018-11-23 12:20:52,653 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:20:52,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 67 transitions. [2018-11-23 12:20:52,656 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 67 transitions. [2018-11-23 12:20:52,790 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:20:52,793 INFO L225 Difference]: With dead ends: 67 [2018-11-23 12:20:52,793 INFO L226 Difference]: Without dead ends: 45 [2018-11-23 12:20:52,793 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:20:52,794 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2018-11-23 12:20:52,977 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 39. [2018-11-23 12:20:52,977 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:52,977 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand 39 states. [2018-11-23 12:20:52,977 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 39 states. [2018-11-23 12:20:52,978 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 39 states. [2018-11-23 12:20:52,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:52,981 INFO L93 Difference]: Finished difference Result 45 states and 55 transitions. [2018-11-23 12:20:52,981 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 55 transitions. [2018-11-23 12:20:52,982 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:52,982 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:52,982 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 45 states. [2018-11-23 12:20:52,982 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 45 states. [2018-11-23 12:20:52,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:52,984 INFO L93 Difference]: Finished difference Result 45 states and 55 transitions. [2018-11-23 12:20:52,985 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 55 transitions. [2018-11-23 12:20:52,985 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:52,985 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:52,985 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:52,986 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:52,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-23 12:20:52,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 46 transitions. [2018-11-23 12:20:52,987 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 46 transitions. Word has length 21 [2018-11-23 12:20:52,988 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:52,988 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 46 transitions. [2018-11-23 12:20:52,988 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:20:52,988 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 46 transitions. [2018-11-23 12:20:52,988 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 12:20:52,989 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:52,989 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] [2018-11-23 12:20:52,989 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:52,989 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:52,989 INFO L82 PathProgramCache]: Analyzing trace with hash 929638007, now seen corresponding path program 1 times [2018-11-23 12:20:52,990 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:52,990 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:52,991 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:52,991 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:52,991 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:53,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:53,763 INFO L256 TraceCheckUtils]: 0: Hoare triple {1255#true} call ULTIMATE.init(); {1255#true} is VALID [2018-11-23 12:20:53,763 INFO L273 TraceCheckUtils]: 1: Hoare triple {1255#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {1255#true} is VALID [2018-11-23 12:20:53,764 INFO L273 TraceCheckUtils]: 2: Hoare triple {1255#true} assume true; {1255#true} is VALID [2018-11-23 12:20:53,764 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1255#true} {1255#true} #83#return; {1255#true} is VALID [2018-11-23 12:20:53,764 INFO L256 TraceCheckUtils]: 4: Hoare triple {1255#true} call #t~ret7 := main(); {1255#true} is VALID [2018-11-23 12:20:53,764 INFO L273 TraceCheckUtils]: 5: Hoare triple {1255#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {1255#true} is VALID [2018-11-23 12:20:53,766 INFO L273 TraceCheckUtils]: 6: Hoare triple {1255#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {1257#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:53,767 INFO L273 TraceCheckUtils]: 7: Hoare triple {1257#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {1258#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:20:53,774 INFO L273 TraceCheckUtils]: 8: Hoare triple {1258#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {1258#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:20:53,776 INFO L273 TraceCheckUtils]: 9: Hoare triple {1258#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {1259#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:20:53,790 INFO L273 TraceCheckUtils]: 10: Hoare triple {1259#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {1259#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:20:53,791 INFO L273 TraceCheckUtils]: 11: Hoare triple {1259#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= main_~i~0 1) (= |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 * (3 * ~i~0 - 1), 4); {1259#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:20:53,794 INFO L273 TraceCheckUtils]: 12: Hoare triple {1259#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1260#(and (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 12 main_~i~0)) 23) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))))} is VALID [2018-11-23 12:20:53,795 INFO L273 TraceCheckUtils]: 13: Hoare triple {1260#(and (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 12 main_~i~0)) 23) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {1261#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:53,796 INFO L273 TraceCheckUtils]: 14: Hoare triple {1261#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (= |main_~#volArray~0.offset| 0))} ~i~0 := 0; {1262#(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:20:53,797 INFO L273 TraceCheckUtils]: 15: Hoare triple {1262#(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; {1262#(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:20:53,797 INFO L273 TraceCheckUtils]: 16: Hoare triple {1262#(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; {1263#|main_#t~short6|} is VALID [2018-11-23 12:20:53,798 INFO L256 TraceCheckUtils]: 17: Hoare triple {1263#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {1264#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-23 12:20:53,799 INFO L273 TraceCheckUtils]: 18: Hoare triple {1264#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {1265#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:20:53,800 INFO L273 TraceCheckUtils]: 19: Hoare triple {1265#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {1256#false} is VALID [2018-11-23 12:20:53,800 INFO L273 TraceCheckUtils]: 20: Hoare triple {1256#false} assume !false; {1256#false} is VALID [2018-11-23 12:20:53,802 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:20:53,802 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:20:53,803 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:20:53,812 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:53,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:53,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:53,853 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:20:53,942 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:20:53,946 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:20:53,948 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:53,950 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:53,957 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:53,957 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-23 12:20:53,999 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:20:54,014 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:54,015 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:20:54,021 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:54,026 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:54,036 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:54,036 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-23 12:20:54,104 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 30 treesize of output 23 [2018-11-23 12:20:54,110 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:54,111 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:54,112 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:54,113 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 23 treesize of output 46 [2018-11-23 12:20:54,116 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:54,126 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:54,134 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:54,135 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:33, output treesize:29 [2018-11-23 12:20:54,522 INFO L256 TraceCheckUtils]: 0: Hoare triple {1255#true} call ULTIMATE.init(); {1255#true} is VALID [2018-11-23 12:20:54,522 INFO L273 TraceCheckUtils]: 1: Hoare triple {1255#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {1255#true} is VALID [2018-11-23 12:20:54,523 INFO L273 TraceCheckUtils]: 2: Hoare triple {1255#true} assume true; {1255#true} is VALID [2018-11-23 12:20:54,523 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1255#true} {1255#true} #83#return; {1255#true} is VALID [2018-11-23 12:20:54,523 INFO L256 TraceCheckUtils]: 4: Hoare triple {1255#true} call #t~ret7 := main(); {1255#true} is VALID [2018-11-23 12:20:54,524 INFO L273 TraceCheckUtils]: 5: Hoare triple {1255#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {1255#true} is VALID [2018-11-23 12:20:54,524 INFO L273 TraceCheckUtils]: 6: Hoare triple {1255#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {1287#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:20:54,525 INFO L273 TraceCheckUtils]: 7: Hoare triple {1287#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {1291#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:54,525 INFO L273 TraceCheckUtils]: 8: Hoare triple {1291#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {1291#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:54,526 INFO L273 TraceCheckUtils]: 9: Hoare triple {1291#(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 * (3 * ~i~0 - 3), 4); {1298#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} is VALID [2018-11-23 12:20:54,527 INFO L273 TraceCheckUtils]: 10: Hoare triple {1298#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {1302#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} is VALID [2018-11-23 12:20:54,528 INFO L273 TraceCheckUtils]: 11: Hoare triple {1302#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {1306#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 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|) 0))} is VALID [2018-11-23 12:20:54,528 INFO L273 TraceCheckUtils]: 12: Hoare triple {1306#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 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|) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1306#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 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|) 0))} is VALID [2018-11-23 12:20:54,529 INFO L273 TraceCheckUtils]: 13: Hoare triple {1306#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 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|) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {1306#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 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|) 0))} is VALID [2018-11-23 12:20:54,530 INFO L273 TraceCheckUtils]: 14: Hoare triple {1306#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 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|) 0))} ~i~0 := 0; {1316#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 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|) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:20:54,531 INFO L273 TraceCheckUtils]: 15: Hoare triple {1316#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 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|) 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; {1316#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 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|) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:20:54,532 INFO L273 TraceCheckUtils]: 16: Hoare triple {1316#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 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|) 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; {1263#|main_#t~short6|} is VALID [2018-11-23 12:20:54,533 INFO L256 TraceCheckUtils]: 17: Hoare triple {1263#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {1326#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:20:54,534 INFO L273 TraceCheckUtils]: 18: Hoare triple {1326#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1330#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:20:54,535 INFO L273 TraceCheckUtils]: 19: Hoare triple {1330#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1256#false} is VALID [2018-11-23 12:20:54,535 INFO L273 TraceCheckUtils]: 20: Hoare triple {1256#false} assume !false; {1256#false} is VALID [2018-11-23 12:20:54,537 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:20:54,556 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:20:54,556 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 19 [2018-11-23 12:20:54,557 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 21 [2018-11-23 12:20:54,557 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:54,557 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-23 12:20:54,614 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:54,615 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-23 12:20:54,615 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-23 12:20:54,615 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=278, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:20:54,616 INFO L87 Difference]: Start difference. First operand 39 states and 46 transitions. Second operand 19 states. [2018-11-23 12:20:56,820 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:56,821 INFO L93 Difference]: Finished difference Result 78 states and 98 transitions. [2018-11-23 12:20:56,821 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 12:20:56,821 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 21 [2018-11-23 12:20:56,821 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:56,821 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:20:56,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 81 transitions. [2018-11-23 12:20:56,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:20:56,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 81 transitions. [2018-11-23 12:20:56,827 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 81 transitions. [2018-11-23 12:20:56,935 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:20:56,939 INFO L225 Difference]: With dead ends: 78 [2018-11-23 12:20:56,939 INFO L226 Difference]: Without dead ends: 76 [2018-11-23 12:20:56,940 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 14 SyntacticMatches, 3 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 194 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=194, Invalid=736, Unknown=0, NotChecked=0, Total=930 [2018-11-23 12:20:56,940 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2018-11-23 12:20:57,059 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 53. [2018-11-23 12:20:57,059 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:57,060 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand 53 states. [2018-11-23 12:20:57,060 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 53 states. [2018-11-23 12:20:57,060 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 53 states. [2018-11-23 12:20:57,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:57,064 INFO L93 Difference]: Finished difference Result 76 states and 96 transitions. [2018-11-23 12:20:57,064 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 96 transitions. [2018-11-23 12:20:57,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:57,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:57,065 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 76 states. [2018-11-23 12:20:57,065 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 76 states. [2018-11-23 12:20:57,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:57,069 INFO L93 Difference]: Finished difference Result 76 states and 96 transitions. [2018-11-23 12:20:57,069 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 96 transitions. [2018-11-23 12:20:57,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:57,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:57,070 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:57,070 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:57,070 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 53 states. [2018-11-23 12:20:57,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 66 transitions. [2018-11-23 12:20:57,073 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 66 transitions. Word has length 21 [2018-11-23 12:20:57,073 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:57,073 INFO L480 AbstractCegarLoop]: Abstraction has 53 states and 66 transitions. [2018-11-23 12:20:57,073 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-23 12:20:57,073 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 66 transitions. [2018-11-23 12:20:57,074 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 12:20:57,074 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:57,074 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 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:20:57,074 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:57,075 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:57,075 INFO L82 PathProgramCache]: Analyzing trace with hash -755212347, now seen corresponding path program 1 times [2018-11-23 12:20:57,075 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:57,075 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:57,076 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:57,076 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:57,076 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:57,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:57,140 INFO L256 TraceCheckUtils]: 0: Hoare triple {1684#true} call ULTIMATE.init(); {1684#true} is VALID [2018-11-23 12:20:57,140 INFO L273 TraceCheckUtils]: 1: Hoare triple {1684#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {1684#true} is VALID [2018-11-23 12:20:57,140 INFO L273 TraceCheckUtils]: 2: Hoare triple {1684#true} assume true; {1684#true} is VALID [2018-11-23 12:20:57,140 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1684#true} {1684#true} #83#return; {1684#true} is VALID [2018-11-23 12:20:57,141 INFO L256 TraceCheckUtils]: 4: Hoare triple {1684#true} call #t~ret7 := main(); {1684#true} is VALID [2018-11-23 12:20:57,141 INFO L273 TraceCheckUtils]: 5: Hoare triple {1684#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {1684#true} is VALID [2018-11-23 12:20:57,141 INFO L273 TraceCheckUtils]: 6: Hoare triple {1684#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {1684#true} is VALID [2018-11-23 12:20:57,141 INFO L273 TraceCheckUtils]: 7: Hoare triple {1684#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {1684#true} is VALID [2018-11-23 12:20:57,141 INFO L273 TraceCheckUtils]: 8: Hoare triple {1684#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {1684#true} is VALID [2018-11-23 12:20:57,142 INFO L273 TraceCheckUtils]: 9: Hoare triple {1684#true} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {1686#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-23 12:20:57,143 INFO L273 TraceCheckUtils]: 10: Hoare triple {1686#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {1686#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-23 12:20:57,147 INFO L273 TraceCheckUtils]: 11: Hoare triple {1686#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {1686#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-23 12:20:57,147 INFO L273 TraceCheckUtils]: 12: Hoare triple {1686#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1686#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-23 12:20:57,152 INFO L273 TraceCheckUtils]: 13: Hoare triple {1686#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {1686#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-23 12:20:57,156 INFO L273 TraceCheckUtils]: 14: Hoare triple {1686#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {1685#false} is VALID [2018-11-23 12:20:57,156 INFO L273 TraceCheckUtils]: 15: Hoare triple {1685#false} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {1685#false} is VALID [2018-11-23 12:20:57,156 INFO L273 TraceCheckUtils]: 16: Hoare triple {1685#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {1685#false} is VALID [2018-11-23 12:20:57,157 INFO L273 TraceCheckUtils]: 17: Hoare triple {1685#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1685#false} is VALID [2018-11-23 12:20:57,157 INFO L273 TraceCheckUtils]: 18: Hoare triple {1685#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {1685#false} is VALID [2018-11-23 12:20:57,157 INFO L273 TraceCheckUtils]: 19: Hoare triple {1685#false} ~i~0 := 0; {1685#false} is VALID [2018-11-23 12:20:57,157 INFO L273 TraceCheckUtils]: 20: Hoare triple {1685#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; {1685#false} is VALID [2018-11-23 12:20:57,157 INFO L273 TraceCheckUtils]: 21: Hoare triple {1685#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {1685#false} is VALID [2018-11-23 12:20:57,158 INFO L256 TraceCheckUtils]: 22: Hoare triple {1685#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {1685#false} is VALID [2018-11-23 12:20:57,158 INFO L273 TraceCheckUtils]: 23: Hoare triple {1685#false} ~cond := #in~cond; {1685#false} is VALID [2018-11-23 12:20:57,158 INFO L273 TraceCheckUtils]: 24: Hoare triple {1685#false} assume 0 == ~cond; {1685#false} is VALID [2018-11-23 12:20:57,158 INFO L273 TraceCheckUtils]: 25: Hoare triple {1685#false} assume !false; {1685#false} is VALID [2018-11-23 12:20:57,159 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 7 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:20:57,159 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:20:57,159 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:20:57,159 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 26 [2018-11-23 12:20:57,160 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:57,160 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:20:57,191 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:57,192 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:20:57,192 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:20:57,192 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:20:57,192 INFO L87 Difference]: Start difference. First operand 53 states and 66 transitions. Second operand 3 states. [2018-11-23 12:20:57,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:57,412 INFO L93 Difference]: Finished difference Result 81 states and 100 transitions. [2018-11-23 12:20:57,412 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:20:57,412 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 26 [2018-11-23 12:20:57,412 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:57,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:20:57,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 65 transitions. [2018-11-23 12:20:57,414 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:20:57,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 65 transitions. [2018-11-23 12:20:57,415 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 65 transitions. [2018-11-23 12:20:57,489 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:20:57,491 INFO L225 Difference]: With dead ends: 81 [2018-11-23 12:20:57,492 INFO L226 Difference]: Without dead ends: 59 [2018-11-23 12:20:57,492 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:20:57,492 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2018-11-23 12:20:57,776 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 53. [2018-11-23 12:20:57,776 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:57,776 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand 53 states. [2018-11-23 12:20:57,776 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 53 states. [2018-11-23 12:20:57,777 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 53 states. [2018-11-23 12:20:57,779 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:57,779 INFO L93 Difference]: Finished difference Result 59 states and 73 transitions. [2018-11-23 12:20:57,779 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 73 transitions. [2018-11-23 12:20:57,779 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:57,779 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:57,779 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 59 states. [2018-11-23 12:20:57,779 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 59 states. [2018-11-23 12:20:57,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:57,782 INFO L93 Difference]: Finished difference Result 59 states and 73 transitions. [2018-11-23 12:20:57,782 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 73 transitions. [2018-11-23 12:20:57,782 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:57,782 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:57,782 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:57,783 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:57,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 53 states. [2018-11-23 12:20:57,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 64 transitions. [2018-11-23 12:20:57,785 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 64 transitions. Word has length 26 [2018-11-23 12:20:57,785 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:57,785 INFO L480 AbstractCegarLoop]: Abstraction has 53 states and 64 transitions. [2018-11-23 12:20:57,785 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:20:57,785 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2018-11-23 12:20:57,786 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 12:20:57,786 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:57,786 INFO L402 BasicCegarLoop]: trace histogram [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:20:57,786 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:57,786 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:57,786 INFO L82 PathProgramCache]: Analyzing trace with hash -607690423, now seen corresponding path program 1 times [2018-11-23 12:20:57,786 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:57,787 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:57,787 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:57,787 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:57,788 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:57,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:57,945 INFO L256 TraceCheckUtils]: 0: Hoare triple {1984#true} call ULTIMATE.init(); {1984#true} is VALID [2018-11-23 12:20:57,945 INFO L273 TraceCheckUtils]: 1: Hoare triple {1984#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {1984#true} is VALID [2018-11-23 12:20:57,945 INFO L273 TraceCheckUtils]: 2: Hoare triple {1984#true} assume true; {1984#true} is VALID [2018-11-23 12:20:57,945 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1984#true} {1984#true} #83#return; {1984#true} is VALID [2018-11-23 12:20:57,946 INFO L256 TraceCheckUtils]: 4: Hoare triple {1984#true} call #t~ret7 := main(); {1984#true} is VALID [2018-11-23 12:20:57,946 INFO L273 TraceCheckUtils]: 5: Hoare triple {1984#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {1984#true} is VALID [2018-11-23 12:20:57,946 INFO L273 TraceCheckUtils]: 6: Hoare triple {1984#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {1984#true} is VALID [2018-11-23 12:20:57,946 INFO L273 TraceCheckUtils]: 7: Hoare triple {1984#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {1984#true} is VALID [2018-11-23 12:20:57,946 INFO L273 TraceCheckUtils]: 8: Hoare triple {1984#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {1984#true} is VALID [2018-11-23 12:20:57,947 INFO L273 TraceCheckUtils]: 9: Hoare triple {1984#true} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {1986#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:20:57,948 INFO L273 TraceCheckUtils]: 10: Hoare triple {1986#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {1986#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:20:57,948 INFO L273 TraceCheckUtils]: 11: Hoare triple {1986#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {1986#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:20:57,949 INFO L273 TraceCheckUtils]: 12: Hoare triple {1986#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1986#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:20:57,949 INFO L273 TraceCheckUtils]: 13: Hoare triple {1986#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {1986#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:20:57,950 INFO L273 TraceCheckUtils]: 14: Hoare triple {1986#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {1985#false} is VALID [2018-11-23 12:20:57,950 INFO L273 TraceCheckUtils]: 15: Hoare triple {1985#false} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {1985#false} is VALID [2018-11-23 12:20:57,950 INFO L273 TraceCheckUtils]: 16: Hoare triple {1985#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {1985#false} is VALID [2018-11-23 12:20:57,950 INFO L273 TraceCheckUtils]: 17: Hoare triple {1985#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1985#false} is VALID [2018-11-23 12:20:57,950 INFO L273 TraceCheckUtils]: 18: Hoare triple {1985#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {1985#false} is VALID [2018-11-23 12:20:57,951 INFO L273 TraceCheckUtils]: 19: Hoare triple {1985#false} ~i~0 := 0; {1985#false} is VALID [2018-11-23 12:20:57,951 INFO L273 TraceCheckUtils]: 20: Hoare triple {1985#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; {1985#false} is VALID [2018-11-23 12:20:57,951 INFO L273 TraceCheckUtils]: 21: Hoare triple {1985#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {1985#false} is VALID [2018-11-23 12:20:57,952 INFO L256 TraceCheckUtils]: 22: Hoare triple {1985#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {1985#false} is VALID [2018-11-23 12:20:57,952 INFO L273 TraceCheckUtils]: 23: Hoare triple {1985#false} ~cond := #in~cond; {1985#false} is VALID [2018-11-23 12:20:57,953 INFO L273 TraceCheckUtils]: 24: Hoare triple {1985#false} assume 0 == ~cond; {1985#false} is VALID [2018-11-23 12:20:57,953 INFO L273 TraceCheckUtils]: 25: Hoare triple {1985#false} assume !false; {1985#false} is VALID [2018-11-23 12:20:57,954 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 7 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:20:57,955 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:20:57,955 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:20:57,955 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 26 [2018-11-23 12:20:57,955 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:57,955 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:20:57,984 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:57,985 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:20:57,985 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:20:57,985 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:20:57,985 INFO L87 Difference]: Start difference. First operand 53 states and 64 transitions. Second operand 3 states. [2018-11-23 12:20:58,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:58,290 INFO L93 Difference]: Finished difference Result 75 states and 90 transitions. [2018-11-23 12:20:58,290 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:20:58,290 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 26 [2018-11-23 12:20:58,290 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:58,290 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:20:58,292 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 64 transitions. [2018-11-23 12:20:58,292 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:20:58,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 64 transitions. [2018-11-23 12:20:58,293 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 64 transitions. [2018-11-23 12:20:58,358 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:58,361 INFO L225 Difference]: With dead ends: 75 [2018-11-23 12:20:58,361 INFO L226 Difference]: Without dead ends: 53 [2018-11-23 12:20:58,361 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:20:58,362 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2018-11-23 12:20:58,484 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 47. [2018-11-23 12:20:58,485 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:58,485 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand 47 states. [2018-11-23 12:20:58,485 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 47 states. [2018-11-23 12:20:58,485 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 47 states. [2018-11-23 12:20:58,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:58,489 INFO L93 Difference]: Finished difference Result 53 states and 65 transitions. [2018-11-23 12:20:58,489 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 65 transitions. [2018-11-23 12:20:58,489 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:58,489 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:58,490 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 53 states. [2018-11-23 12:20:58,490 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 53 states. [2018-11-23 12:20:58,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:58,492 INFO L93 Difference]: Finished difference Result 53 states and 65 transitions. [2018-11-23 12:20:58,493 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 65 transitions. [2018-11-23 12:20:58,493 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:58,493 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:58,493 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:58,494 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:58,494 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 47 states. [2018-11-23 12:20:58,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 56 transitions. [2018-11-23 12:20:58,496 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 56 transitions. Word has length 26 [2018-11-23 12:20:58,496 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:58,496 INFO L480 AbstractCegarLoop]: Abstraction has 47 states and 56 transitions. [2018-11-23 12:20:58,496 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:20:58,496 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 56 transitions. [2018-11-23 12:20:58,497 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 12:20:58,497 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:58,497 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] [2018-11-23 12:20:58,498 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:58,498 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:58,498 INFO L82 PathProgramCache]: Analyzing trace with hash 860723994, now seen corresponding path program 1 times [2018-11-23 12:20:58,498 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:58,498 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:58,499 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:58,499 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:58,500 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:58,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:59,361 INFO L256 TraceCheckUtils]: 0: Hoare triple {2258#true} call ULTIMATE.init(); {2258#true} is VALID [2018-11-23 12:20:59,362 INFO L273 TraceCheckUtils]: 1: Hoare triple {2258#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {2258#true} is VALID [2018-11-23 12:20:59,362 INFO L273 TraceCheckUtils]: 2: Hoare triple {2258#true} assume true; {2258#true} is VALID [2018-11-23 12:20:59,362 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2258#true} {2258#true} #83#return; {2258#true} is VALID [2018-11-23 12:20:59,363 INFO L256 TraceCheckUtils]: 4: Hoare triple {2258#true} call #t~ret7 := main(); {2258#true} is VALID [2018-11-23 12:20:59,363 INFO L273 TraceCheckUtils]: 5: Hoare triple {2258#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {2258#true} is VALID [2018-11-23 12:20:59,364 INFO L273 TraceCheckUtils]: 6: Hoare triple {2258#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {2260#(and (<= 2 ~CELLCOUNT~0) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} is VALID [2018-11-23 12:20:59,365 INFO L273 TraceCheckUtils]: 7: Hoare triple {2260#(and (<= 2 ~CELLCOUNT~0) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {2261#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} is VALID [2018-11-23 12:20:59,366 INFO L273 TraceCheckUtils]: 8: Hoare triple {2261#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {2261#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} is VALID [2018-11-23 12:20:59,367 INFO L273 TraceCheckUtils]: 9: Hoare triple {2261#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {2261#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} is VALID [2018-11-23 12:20:59,368 INFO L273 TraceCheckUtils]: 10: Hoare triple {2261#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {2262#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (+ main_~CCCELVOL1~0 2) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) main_~CCCELVOL1~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-23 12:20:59,370 INFO L273 TraceCheckUtils]: 11: Hoare triple {2262#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (+ main_~CCCELVOL1~0 2) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) main_~CCCELVOL1~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {2263#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-23 12:20:59,371 INFO L273 TraceCheckUtils]: 12: Hoare triple {2263#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2264#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (or (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 3 main_~i~0) 5)) (<= (* 3 main_~i~0) 6) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-23 12:20:59,373 INFO L273 TraceCheckUtils]: 13: Hoare triple {2264#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (or (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 3 main_~i~0) 5)) (<= (* 3 main_~i~0) 6) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {2265#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))))} is VALID [2018-11-23 12:20:59,374 INFO L273 TraceCheckUtils]: 14: Hoare triple {2265#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))))} ~i~0 := 0; {2266#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-23 12:20:59,376 INFO L273 TraceCheckUtils]: 15: Hoare triple {2266#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |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; {2266#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-23 12:20:59,377 INFO L273 TraceCheckUtils]: 16: Hoare triple {2266#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} assume #t~short6; {2266#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-23 12:20:59,377 INFO L256 TraceCheckUtils]: 17: Hoare triple {2266#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2258#true} is VALID [2018-11-23 12:20:59,378 INFO L273 TraceCheckUtils]: 18: Hoare triple {2258#true} ~cond := #in~cond; {2258#true} is VALID [2018-11-23 12:20:59,378 INFO L273 TraceCheckUtils]: 19: Hoare triple {2258#true} assume !(0 == ~cond); {2258#true} is VALID [2018-11-23 12:20:59,378 INFO L273 TraceCheckUtils]: 20: Hoare triple {2258#true} assume true; {2258#true} is VALID [2018-11-23 12:20:59,388 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {2258#true} {2266#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} #87#return; {2266#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-23 12:20:59,388 INFO L273 TraceCheckUtils]: 22: Hoare triple {2266#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {2266#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-23 12:20:59,390 INFO L273 TraceCheckUtils]: 23: Hoare triple {2266#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2267#(<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:20:59,390 INFO L273 TraceCheckUtils]: 24: Hoare triple {2267#(<= (+ main_~MINVAL~0 2) (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; {2268#|main_#t~short6|} is VALID [2018-11-23 12:20:59,391 INFO L273 TraceCheckUtils]: 25: Hoare triple {2268#|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; {2259#false} is VALID [2018-11-23 12:20:59,391 INFO L256 TraceCheckUtils]: 26: Hoare triple {2259#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2259#false} is VALID [2018-11-23 12:20:59,391 INFO L273 TraceCheckUtils]: 27: Hoare triple {2259#false} ~cond := #in~cond; {2259#false} is VALID [2018-11-23 12:20:59,391 INFO L273 TraceCheckUtils]: 28: Hoare triple {2259#false} assume 0 == ~cond; {2259#false} is VALID [2018-11-23 12:20:59,392 INFO L273 TraceCheckUtils]: 29: Hoare triple {2259#false} assume !false; {2259#false} is VALID [2018-11-23 12:20:59,397 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:20:59,397 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:20:59,397 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:20:59,407 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:59,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:59,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:59,443 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:20:59,535 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:20:59,541 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:20:59,544 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:59,547 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:59,561 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:20:59,562 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:19 [2018-11-23 12:20:59,565 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:59,565 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_23|, main_~CCCELVOL2~0]. (and (<= main_~MINVAL~0 main_~CCCELVOL2~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (store |v_#memory_int_23| |main_~#volArray~0.base| (store (select |v_#memory_int_23| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8)) main_~CCCELVOL2~0)) |#memory_int|)) [2018-11-23 12:20:59,565 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:20:59,656 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:20:59,662 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:59,665 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 18 treesize of output 27 [2018-11-23 12:20:59,671 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:59,676 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:59,684 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:20:59,684 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:13 [2018-11-23 12:20:59,688 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:59,689 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_24|, main_~CCCELVOL1~0]. (let ((.cse0 (select |v_#memory_int_24| |main_~#volArray~0.base|))) (and (= (store |v_#memory_int_24| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| 8) main_~CCCELVOL1~0)) |#memory_int|) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select .cse0 (+ |main_~#volArray~0.offset| 4))))) [2018-11-23 12:20:59,689 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)))) [2018-11-23 12:20:59,796 INFO L256 TraceCheckUtils]: 0: Hoare triple {2258#true} call ULTIMATE.init(); {2258#true} is VALID [2018-11-23 12:20:59,796 INFO L273 TraceCheckUtils]: 1: Hoare triple {2258#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {2258#true} is VALID [2018-11-23 12:20:59,797 INFO L273 TraceCheckUtils]: 2: Hoare triple {2258#true} assume true; {2258#true} is VALID [2018-11-23 12:20:59,797 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2258#true} {2258#true} #83#return; {2258#true} is VALID [2018-11-23 12:20:59,797 INFO L256 TraceCheckUtils]: 4: Hoare triple {2258#true} call #t~ret7 := main(); {2258#true} is VALID [2018-11-23 12:20:59,798 INFO L273 TraceCheckUtils]: 5: Hoare triple {2258#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {2258#true} is VALID [2018-11-23 12:20:59,798 INFO L273 TraceCheckUtils]: 6: Hoare triple {2258#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {2290#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:20:59,798 INFO L273 TraceCheckUtils]: 7: Hoare triple {2290#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {2294#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:59,799 INFO L273 TraceCheckUtils]: 8: Hoare triple {2294#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {2294#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:59,799 INFO L273 TraceCheckUtils]: 9: Hoare triple {2294#(and (= 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 * (3 * ~i~0 - 3), 4); {2294#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:59,800 INFO L273 TraceCheckUtils]: 10: Hoare triple {2294#(and (= 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 * (3 * ~i~0 - 2), 4); {2304#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:59,801 INFO L273 TraceCheckUtils]: 11: Hoare triple {2304#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {2308#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} is VALID [2018-11-23 12:20:59,802 INFO L273 TraceCheckUtils]: 12: Hoare triple {2308#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2308#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} is VALID [2018-11-23 12:20:59,803 INFO L273 TraceCheckUtils]: 13: Hoare triple {2308#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {2308#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} is VALID [2018-11-23 12:20:59,807 INFO L273 TraceCheckUtils]: 14: Hoare triple {2308#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} ~i~0 := 0; {2318#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= main_~i~0 0))} is VALID [2018-11-23 12:20:59,810 INFO L273 TraceCheckUtils]: 15: Hoare triple {2318#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 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; {2318#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= main_~i~0 0))} is VALID [2018-11-23 12:20:59,824 INFO L273 TraceCheckUtils]: 16: Hoare triple {2318#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= main_~i~0 0))} assume #t~short6; {2318#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= main_~i~0 0))} is VALID [2018-11-23 12:20:59,824 INFO L256 TraceCheckUtils]: 17: Hoare triple {2318#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2258#true} is VALID [2018-11-23 12:20:59,824 INFO L273 TraceCheckUtils]: 18: Hoare triple {2258#true} ~cond := #in~cond; {2258#true} is VALID [2018-11-23 12:20:59,824 INFO L273 TraceCheckUtils]: 19: Hoare triple {2258#true} assume !(0 == ~cond); {2258#true} is VALID [2018-11-23 12:20:59,825 INFO L273 TraceCheckUtils]: 20: Hoare triple {2258#true} assume true; {2258#true} is VALID [2018-11-23 12:20:59,825 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {2258#true} {2318#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= main_~i~0 0))} #87#return; {2318#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= main_~i~0 0))} is VALID [2018-11-23 12:20:59,830 INFO L273 TraceCheckUtils]: 22: Hoare triple {2318#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {2318#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= main_~i~0 0))} is VALID [2018-11-23 12:20:59,830 INFO L273 TraceCheckUtils]: 23: Hoare triple {2318#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2304#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:59,831 INFO L273 TraceCheckUtils]: 24: Hoare triple {2304#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 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; {2268#|main_#t~short6|} is VALID [2018-11-23 12:20:59,831 INFO L273 TraceCheckUtils]: 25: Hoare triple {2268#|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; {2259#false} is VALID [2018-11-23 12:20:59,832 INFO L256 TraceCheckUtils]: 26: Hoare triple {2259#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2259#false} is VALID [2018-11-23 12:20:59,832 INFO L273 TraceCheckUtils]: 27: Hoare triple {2259#false} ~cond := #in~cond; {2259#false} is VALID [2018-11-23 12:20:59,832 INFO L273 TraceCheckUtils]: 28: Hoare triple {2259#false} assume 0 == ~cond; {2259#false} is VALID [2018-11-23 12:20:59,832 INFO L273 TraceCheckUtils]: 29: Hoare triple {2259#false} assume !false; {2259#false} is VALID [2018-11-23 12:20:59,834 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:20:59,863 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:20:59,863 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 16 [2018-11-23 12:20:59,864 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 30 [2018-11-23 12:20:59,865 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:59,865 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 12:20:59,927 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:59,927 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 12:20:59,927 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 12:20:59,927 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=198, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:20:59,928 INFO L87 Difference]: Start difference. First operand 47 states and 56 transitions. Second operand 16 states. [2018-11-23 12:21:03,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:03,914 INFO L93 Difference]: Finished difference Result 131 states and 168 transitions. [2018-11-23 12:21:03,914 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2018-11-23 12:21:03,915 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 30 [2018-11-23 12:21:03,915 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:03,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:21:03,919 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 134 transitions. [2018-11-23 12:21:03,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:21:03,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 134 transitions. [2018-11-23 12:21:03,923 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 134 transitions. [2018-11-23 12:21:04,180 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 134 edges. 134 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:04,183 INFO L225 Difference]: With dead ends: 131 [2018-11-23 12:21:04,183 INFO L226 Difference]: Without dead ends: 115 [2018-11-23 12:21:04,184 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 25 SyntacticMatches, 1 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 238 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=303, Invalid=1029, Unknown=0, NotChecked=0, Total=1332 [2018-11-23 12:21:04,184 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-11-23 12:21:04,374 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 58. [2018-11-23 12:21:04,374 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:04,375 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand 58 states. [2018-11-23 12:21:04,375 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand 58 states. [2018-11-23 12:21:04,375 INFO L87 Difference]: Start difference. First operand 115 states. Second operand 58 states. [2018-11-23 12:21:04,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:04,381 INFO L93 Difference]: Finished difference Result 115 states and 149 transitions. [2018-11-23 12:21:04,381 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 149 transitions. [2018-11-23 12:21:04,382 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:04,382 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:04,382 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 115 states. [2018-11-23 12:21:04,382 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 115 states. [2018-11-23 12:21:04,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:04,387 INFO L93 Difference]: Finished difference Result 115 states and 149 transitions. [2018-11-23 12:21:04,387 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 149 transitions. [2018-11-23 12:21:04,388 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:04,388 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:04,388 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:04,389 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:04,389 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 58 states. [2018-11-23 12:21:04,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 71 transitions. [2018-11-23 12:21:04,391 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 71 transitions. Word has length 30 [2018-11-23 12:21:04,392 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:04,392 INFO L480 AbstractCegarLoop]: Abstraction has 58 states and 71 transitions. [2018-11-23 12:21:04,392 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 12:21:04,392 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 71 transitions. [2018-11-23 12:21:04,393 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 12:21:04,393 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:04,393 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] [2018-11-23 12:21:04,393 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:04,393 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:04,393 INFO L82 PathProgramCache]: Analyzing trace with hash 43075544, now seen corresponding path program 1 times [2018-11-23 12:21:04,394 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:04,394 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:04,396 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:04,397 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:04,397 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:04,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:04,686 INFO L256 TraceCheckUtils]: 0: Hoare triple {2885#true} call ULTIMATE.init(); {2885#true} is VALID [2018-11-23 12:21:04,686 INFO L273 TraceCheckUtils]: 1: Hoare triple {2885#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {2885#true} is VALID [2018-11-23 12:21:04,687 INFO L273 TraceCheckUtils]: 2: Hoare triple {2885#true} assume true; {2885#true} is VALID [2018-11-23 12:21:04,687 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2885#true} {2885#true} #83#return; {2885#true} is VALID [2018-11-23 12:21:04,687 INFO L256 TraceCheckUtils]: 4: Hoare triple {2885#true} call #t~ret7 := main(); {2885#true} is VALID [2018-11-23 12:21:04,687 INFO L273 TraceCheckUtils]: 5: Hoare triple {2885#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {2885#true} is VALID [2018-11-23 12:21:04,688 INFO L273 TraceCheckUtils]: 6: Hoare triple {2885#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {2887#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-23 12:21:04,689 INFO L273 TraceCheckUtils]: 7: Hoare triple {2887#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {2887#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-23 12:21:04,689 INFO L273 TraceCheckUtils]: 8: Hoare triple {2887#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {2887#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-23 12:21:04,694 INFO L273 TraceCheckUtils]: 9: Hoare triple {2887#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {2887#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-23 12:21:04,695 INFO L273 TraceCheckUtils]: 10: Hoare triple {2887#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {2888#(<= (+ main_~CCCELVOL1~0 3) main_~MINVAL~0)} is VALID [2018-11-23 12:21:04,698 INFO L273 TraceCheckUtils]: 11: Hoare triple {2888#(<= (+ main_~CCCELVOL1~0 3) main_~MINVAL~0)} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {2886#false} is VALID [2018-11-23 12:21:04,698 INFO L273 TraceCheckUtils]: 12: Hoare triple {2886#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2886#false} is VALID [2018-11-23 12:21:04,698 INFO L273 TraceCheckUtils]: 13: Hoare triple {2886#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {2886#false} is VALID [2018-11-23 12:21:04,698 INFO L273 TraceCheckUtils]: 14: Hoare triple {2886#false} ~i~0 := 0; {2886#false} is VALID [2018-11-23 12:21:04,699 INFO L273 TraceCheckUtils]: 15: Hoare triple {2886#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; {2886#false} is VALID [2018-11-23 12:21:04,699 INFO L273 TraceCheckUtils]: 16: Hoare triple {2886#false} assume #t~short6; {2886#false} is VALID [2018-11-23 12:21:04,699 INFO L256 TraceCheckUtils]: 17: Hoare triple {2886#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2885#true} is VALID [2018-11-23 12:21:04,699 INFO L273 TraceCheckUtils]: 18: Hoare triple {2885#true} ~cond := #in~cond; {2885#true} is VALID [2018-11-23 12:21:04,699 INFO L273 TraceCheckUtils]: 19: Hoare triple {2885#true} assume !(0 == ~cond); {2885#true} is VALID [2018-11-23 12:21:04,699 INFO L273 TraceCheckUtils]: 20: Hoare triple {2885#true} assume true; {2885#true} is VALID [2018-11-23 12:21:04,699 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {2885#true} {2886#false} #87#return; {2886#false} is VALID [2018-11-23 12:21:04,700 INFO L273 TraceCheckUtils]: 22: Hoare triple {2886#false} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {2886#false} is VALID [2018-11-23 12:21:04,700 INFO L273 TraceCheckUtils]: 23: Hoare triple {2886#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2886#false} is VALID [2018-11-23 12:21:04,700 INFO L273 TraceCheckUtils]: 24: Hoare triple {2886#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; {2886#false} is VALID [2018-11-23 12:21:04,700 INFO L273 TraceCheckUtils]: 25: Hoare triple {2886#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {2886#false} is VALID [2018-11-23 12:21:04,700 INFO L256 TraceCheckUtils]: 26: Hoare triple {2886#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2886#false} is VALID [2018-11-23 12:21:04,700 INFO L273 TraceCheckUtils]: 27: Hoare triple {2886#false} ~cond := #in~cond; {2886#false} is VALID [2018-11-23 12:21:04,700 INFO L273 TraceCheckUtils]: 28: Hoare triple {2886#false} assume 0 == ~cond; {2886#false} is VALID [2018-11-23 12:21:04,701 INFO L273 TraceCheckUtils]: 29: Hoare triple {2886#false} assume !false; {2886#false} is VALID [2018-11-23 12:21:04,701 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:04,702 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:21:04,702 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:21:04,702 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 30 [2018-11-23 12:21:04,702 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:04,703 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:21:04,737 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:04,737 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:21:04,737 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:21:04,738 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:21:04,738 INFO L87 Difference]: Start difference. First operand 58 states and 71 transitions. Second operand 4 states. [2018-11-23 12:21:05,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:05,153 INFO L93 Difference]: Finished difference Result 91 states and 111 transitions. [2018-11-23 12:21:05,154 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:21:05,154 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 30 [2018-11-23 12:21:05,154 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:05,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:21:05,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 68 transitions. [2018-11-23 12:21:05,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:21:05,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 68 transitions. [2018-11-23 12:21:05,157 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 68 transitions. [2018-11-23 12:21:05,265 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:05,267 INFO L225 Difference]: With dead ends: 91 [2018-11-23 12:21:05,267 INFO L226 Difference]: Without dead ends: 67 [2018-11-23 12:21:05,268 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:21:05,268 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2018-11-23 12:21:05,589 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 58. [2018-11-23 12:21:05,589 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:05,590 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand 58 states. [2018-11-23 12:21:05,590 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 58 states. [2018-11-23 12:21:05,590 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 58 states. [2018-11-23 12:21:05,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:05,593 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2018-11-23 12:21:05,593 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2018-11-23 12:21:05,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:05,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:05,594 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 67 states. [2018-11-23 12:21:05,594 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 67 states. [2018-11-23 12:21:05,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:05,596 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2018-11-23 12:21:05,596 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2018-11-23 12:21:05,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:05,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:05,596 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:05,596 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:05,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 58 states. [2018-11-23 12:21:05,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 70 transitions. [2018-11-23 12:21:05,598 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 70 transitions. Word has length 30 [2018-11-23 12:21:05,598 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:05,598 INFO L480 AbstractCegarLoop]: Abstraction has 58 states and 70 transitions. [2018-11-23 12:21:05,599 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:21:05,599 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2018-11-23 12:21:05,599 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 12:21:05,599 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:05,599 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] [2018-11-23 12:21:05,600 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:05,600 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:05,600 INFO L82 PathProgramCache]: Analyzing trace with hash -1645868198, now seen corresponding path program 1 times [2018-11-23 12:21:05,600 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:05,600 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:05,601 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:05,601 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:05,601 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:05,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:06,166 INFO L256 TraceCheckUtils]: 0: Hoare triple {3225#true} call ULTIMATE.init(); {3225#true} is VALID [2018-11-23 12:21:06,167 INFO L273 TraceCheckUtils]: 1: Hoare triple {3225#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {3225#true} is VALID [2018-11-23 12:21:06,167 INFO L273 TraceCheckUtils]: 2: Hoare triple {3225#true} assume true; {3225#true} is VALID [2018-11-23 12:21:06,167 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3225#true} {3225#true} #83#return; {3225#true} is VALID [2018-11-23 12:21:06,168 INFO L256 TraceCheckUtils]: 4: Hoare triple {3225#true} call #t~ret7 := main(); {3225#true} is VALID [2018-11-23 12:21:06,168 INFO L273 TraceCheckUtils]: 5: Hoare triple {3225#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {3225#true} is VALID [2018-11-23 12:21:06,169 INFO L273 TraceCheckUtils]: 6: Hoare triple {3225#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {3227#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:21:06,170 INFO L273 TraceCheckUtils]: 7: Hoare triple {3227#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {3228#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-23 12:21:06,171 INFO L273 TraceCheckUtils]: 8: Hoare triple {3228#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {3228#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-23 12:21:06,172 INFO L273 TraceCheckUtils]: 9: Hoare triple {3228#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {3228#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-23 12:21:06,174 INFO L273 TraceCheckUtils]: 10: Hoare triple {3228#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {3229#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-23 12:21:06,176 INFO L273 TraceCheckUtils]: 11: Hoare triple {3229#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {3229#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-23 12:21:06,177 INFO L273 TraceCheckUtils]: 12: Hoare triple {3229#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3230#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 3 main_~i~0) 5)) (<= (* 3 main_~i~0) 6) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-23 12:21:06,179 INFO L273 TraceCheckUtils]: 13: Hoare triple {3230#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 3 main_~i~0) 5)) (<= (* 3 main_~i~0) 6) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {3231#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))))} is VALID [2018-11-23 12:21:06,180 INFO L273 TraceCheckUtils]: 14: Hoare triple {3231#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))))} ~i~0 := 0; {3232#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:06,182 INFO L273 TraceCheckUtils]: 15: Hoare triple {3232#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |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; {3232#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:06,183 INFO L273 TraceCheckUtils]: 16: Hoare triple {3232#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} assume #t~short6; {3232#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:06,183 INFO L256 TraceCheckUtils]: 17: Hoare triple {3232#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3225#true} is VALID [2018-11-23 12:21:06,184 INFO L273 TraceCheckUtils]: 18: Hoare triple {3225#true} ~cond := #in~cond; {3225#true} is VALID [2018-11-23 12:21:06,184 INFO L273 TraceCheckUtils]: 19: Hoare triple {3225#true} assume !(0 == ~cond); {3225#true} is VALID [2018-11-23 12:21:06,185 INFO L273 TraceCheckUtils]: 20: Hoare triple {3225#true} assume true; {3225#true} is VALID [2018-11-23 12:21:06,186 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {3225#true} {3232#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} #87#return; {3232#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:06,187 INFO L273 TraceCheckUtils]: 22: Hoare triple {3232#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {3232#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:06,188 INFO L273 TraceCheckUtils]: 23: Hoare triple {3232#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3233#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:21:06,189 INFO L273 TraceCheckUtils]: 24: Hoare triple {3233#(= 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; {3233#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:21:06,190 INFO L273 TraceCheckUtils]: 25: Hoare triple {3233#(= 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; {3234#|main_#t~short6|} is VALID [2018-11-23 12:21:06,191 INFO L256 TraceCheckUtils]: 26: Hoare triple {3234#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3235#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-23 12:21:06,192 INFO L273 TraceCheckUtils]: 27: Hoare triple {3235#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {3236#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:21:06,192 INFO L273 TraceCheckUtils]: 28: Hoare triple {3236#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {3226#false} is VALID [2018-11-23 12:21:06,193 INFO L273 TraceCheckUtils]: 29: Hoare triple {3226#false} assume !false; {3226#false} is VALID [2018-11-23 12:21:06,197 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:06,198 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:21:06,198 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:06,208 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:06,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:06,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:06,258 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:21:06,410 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:06,416 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:06,420 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:06,422 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:06,430 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:06,431 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-23 12:21:06,479 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:06,484 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:06,486 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 18 treesize of output 27 [2018-11-23 12:21:06,489 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:06,497 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:06,505 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:06,505 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:26, output treesize:22 [2018-11-23 12:21:06,790 INFO L256 TraceCheckUtils]: 0: Hoare triple {3225#true} call ULTIMATE.init(); {3225#true} is VALID [2018-11-23 12:21:06,790 INFO L273 TraceCheckUtils]: 1: Hoare triple {3225#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {3225#true} is VALID [2018-11-23 12:21:06,791 INFO L273 TraceCheckUtils]: 2: Hoare triple {3225#true} assume true; {3225#true} is VALID [2018-11-23 12:21:06,791 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3225#true} {3225#true} #83#return; {3225#true} is VALID [2018-11-23 12:21:06,791 INFO L256 TraceCheckUtils]: 4: Hoare triple {3225#true} call #t~ret7 := main(); {3225#true} is VALID [2018-11-23 12:21:06,791 INFO L273 TraceCheckUtils]: 5: Hoare triple {3225#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {3225#true} is VALID [2018-11-23 12:21:06,792 INFO L273 TraceCheckUtils]: 6: Hoare triple {3225#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {3258#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:21:06,793 INFO L273 TraceCheckUtils]: 7: Hoare triple {3258#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {3262#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:06,793 INFO L273 TraceCheckUtils]: 8: Hoare triple {3262#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {3262#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:06,794 INFO L273 TraceCheckUtils]: 9: Hoare triple {3262#(and (= 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 * (3 * ~i~0 - 3), 4); {3262#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:06,795 INFO L273 TraceCheckUtils]: 10: Hoare triple {3262#(and (= 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 * (3 * ~i~0 - 2), 4); {3272#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:06,796 INFO L273 TraceCheckUtils]: 11: Hoare triple {3272#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8))) 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 * (3 * ~i~0 - 1), 4); {3276#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:06,796 INFO L273 TraceCheckUtils]: 12: Hoare triple {3276#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3276#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:06,797 INFO L273 TraceCheckUtils]: 13: Hoare triple {3276#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {3276#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:06,805 INFO L273 TraceCheckUtils]: 14: Hoare triple {3276#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} ~i~0 := 0; {3286#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:06,806 INFO L273 TraceCheckUtils]: 15: Hoare triple {3286#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 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; {3286#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:06,838 INFO L273 TraceCheckUtils]: 16: Hoare triple {3286#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} assume #t~short6; {3286#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:06,840 INFO L256 TraceCheckUtils]: 17: Hoare triple {3286#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0)))} is VALID [2018-11-23 12:21:06,842 INFO L273 TraceCheckUtils]: 18: Hoare triple {3296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0)))} ~cond := #in~cond; {3296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0)))} is VALID [2018-11-23 12:21:06,842 INFO L273 TraceCheckUtils]: 19: Hoare triple {3296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0)))} assume !(0 == ~cond); {3296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0)))} is VALID [2018-11-23 12:21:06,844 INFO L273 TraceCheckUtils]: 20: Hoare triple {3296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0)))} assume true; {3296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0)))} is VALID [2018-11-23 12:21:06,844 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {3296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0)))} {3286#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} #87#return; {3286#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:06,846 INFO L273 TraceCheckUtils]: 22: Hoare triple {3286#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {3286#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:06,846 INFO L273 TraceCheckUtils]: 23: Hoare triple {3286#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3315#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:06,848 INFO L273 TraceCheckUtils]: 24: Hoare triple {3315#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 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; {3315#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:06,849 INFO L273 TraceCheckUtils]: 25: Hoare triple {3315#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {3234#|main_#t~short6|} is VALID [2018-11-23 12:21:06,850 INFO L256 TraceCheckUtils]: 26: Hoare triple {3234#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3325#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:21:06,850 INFO L273 TraceCheckUtils]: 27: Hoare triple {3325#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {3329#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:21:06,852 INFO L273 TraceCheckUtils]: 28: Hoare triple {3329#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3226#false} is VALID [2018-11-23 12:21:06,852 INFO L273 TraceCheckUtils]: 29: Hoare triple {3226#false} assume !false; {3226#false} is VALID [2018-11-23 12:21:06,855 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:06,873 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:21:06,874 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 21 [2018-11-23 12:21:06,874 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 30 [2018-11-23 12:21:06,874 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:06,874 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-23 12:21:07,068 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:07,068 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-23 12:21:07,069 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-23 12:21:07,069 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=354, Unknown=0, NotChecked=0, Total=420 [2018-11-23 12:21:07,069 INFO L87 Difference]: Start difference. First operand 58 states and 70 transitions. Second operand 21 states. [2018-11-23 12:21:12,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:12,635 INFO L93 Difference]: Finished difference Result 166 states and 206 transitions. [2018-11-23 12:21:12,635 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2018-11-23 12:21:12,635 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 30 [2018-11-23 12:21:12,635 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:12,635 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:21:12,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 143 transitions. [2018-11-23 12:21:12,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:21:12,641 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 143 transitions. [2018-11-23 12:21:12,641 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states and 143 transitions. [2018-11-23 12:21:12,913 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 143 edges. 143 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:12,918 INFO L225 Difference]: With dead ends: 166 [2018-11-23 12:21:12,919 INFO L226 Difference]: Without dead ends: 164 [2018-11-23 12:21:12,920 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 23 SyntacticMatches, 3 SemanticMatches, 49 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 698 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=450, Invalid=2100, Unknown=0, NotChecked=0, Total=2550 [2018-11-23 12:21:12,920 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2018-11-23 12:21:14,413 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 102. [2018-11-23 12:21:14,414 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:14,414 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand 102 states. [2018-11-23 12:21:14,414 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand 102 states. [2018-11-23 12:21:14,414 INFO L87 Difference]: Start difference. First operand 164 states. Second operand 102 states. [2018-11-23 12:21:14,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:14,420 INFO L93 Difference]: Finished difference Result 164 states and 204 transitions. [2018-11-23 12:21:14,421 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 204 transitions. [2018-11-23 12:21:14,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:14,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:14,422 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 164 states. [2018-11-23 12:21:14,422 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 164 states. [2018-11-23 12:21:14,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:14,427 INFO L93 Difference]: Finished difference Result 164 states and 204 transitions. [2018-11-23 12:21:14,428 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 204 transitions. [2018-11-23 12:21:14,428 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:14,429 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:14,429 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:14,429 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:14,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 102 states. [2018-11-23 12:21:14,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 124 transitions. [2018-11-23 12:21:14,432 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 124 transitions. Word has length 30 [2018-11-23 12:21:14,432 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:14,432 INFO L480 AbstractCegarLoop]: Abstraction has 102 states and 124 transitions. [2018-11-23 12:21:14,432 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-23 12:21:14,433 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 124 transitions. [2018-11-23 12:21:14,433 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2018-11-23 12:21:14,433 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:14,434 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, 1, 1, 1, 1, 1] [2018-11-23 12:21:14,434 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:14,434 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:14,434 INFO L82 PathProgramCache]: Analyzing trace with hash 541288908, now seen corresponding path program 1 times [2018-11-23 12:21:14,434 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:14,434 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:14,435 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:14,435 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:14,435 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:14,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:14,588 INFO L256 TraceCheckUtils]: 0: Hoare triple {4081#true} call ULTIMATE.init(); {4081#true} is VALID [2018-11-23 12:21:14,588 INFO L273 TraceCheckUtils]: 1: Hoare triple {4081#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {4081#true} is VALID [2018-11-23 12:21:14,588 INFO L273 TraceCheckUtils]: 2: Hoare triple {4081#true} assume true; {4081#true} is VALID [2018-11-23 12:21:14,589 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4081#true} {4081#true} #83#return; {4081#true} is VALID [2018-11-23 12:21:14,589 INFO L256 TraceCheckUtils]: 4: Hoare triple {4081#true} call #t~ret7 := main(); {4081#true} is VALID [2018-11-23 12:21:14,589 INFO L273 TraceCheckUtils]: 5: Hoare triple {4081#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {4081#true} is VALID [2018-11-23 12:21:14,589 INFO L273 TraceCheckUtils]: 6: Hoare triple {4081#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {4081#true} is VALID [2018-11-23 12:21:14,589 INFO L273 TraceCheckUtils]: 7: Hoare triple {4081#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {4081#true} is VALID [2018-11-23 12:21:14,589 INFO L273 TraceCheckUtils]: 8: Hoare triple {4081#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {4081#true} is VALID [2018-11-23 12:21:14,589 INFO L273 TraceCheckUtils]: 9: Hoare triple {4081#true} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {4081#true} is VALID [2018-11-23 12:21:14,591 INFO L273 TraceCheckUtils]: 10: Hoare triple {4081#true} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {4083#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:21:14,591 INFO L273 TraceCheckUtils]: 11: Hoare triple {4083#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {4083#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:21:14,593 INFO L273 TraceCheckUtils]: 12: Hoare triple {4083#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4083#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:21:14,593 INFO L273 TraceCheckUtils]: 13: Hoare triple {4083#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {4083#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:21:14,594 INFO L273 TraceCheckUtils]: 14: Hoare triple {4083#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {4083#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:21:14,595 INFO L273 TraceCheckUtils]: 15: Hoare triple {4083#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {4082#false} is VALID [2018-11-23 12:21:14,595 INFO L273 TraceCheckUtils]: 16: Hoare triple {4082#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {4082#false} is VALID [2018-11-23 12:21:14,595 INFO L273 TraceCheckUtils]: 17: Hoare triple {4082#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4082#false} is VALID [2018-11-23 12:21:14,595 INFO L273 TraceCheckUtils]: 18: Hoare triple {4082#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {4082#false} is VALID [2018-11-23 12:21:14,596 INFO L273 TraceCheckUtils]: 19: Hoare triple {4082#false} ~i~0 := 0; {4082#false} is VALID [2018-11-23 12:21:14,596 INFO L273 TraceCheckUtils]: 20: Hoare triple {4082#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; {4082#false} is VALID [2018-11-23 12:21:14,596 INFO L273 TraceCheckUtils]: 21: Hoare triple {4082#false} assume #t~short6; {4082#false} is VALID [2018-11-23 12:21:14,596 INFO L256 TraceCheckUtils]: 22: Hoare triple {4082#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {4081#true} is VALID [2018-11-23 12:21:14,597 INFO L273 TraceCheckUtils]: 23: Hoare triple {4081#true} ~cond := #in~cond; {4081#true} is VALID [2018-11-23 12:21:14,597 INFO L273 TraceCheckUtils]: 24: Hoare triple {4081#true} assume !(0 == ~cond); {4081#true} is VALID [2018-11-23 12:21:14,597 INFO L273 TraceCheckUtils]: 25: Hoare triple {4081#true} assume true; {4081#true} is VALID [2018-11-23 12:21:14,598 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {4081#true} {4082#false} #87#return; {4082#false} is VALID [2018-11-23 12:21:14,598 INFO L273 TraceCheckUtils]: 27: Hoare triple {4082#false} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {4082#false} is VALID [2018-11-23 12:21:14,598 INFO L273 TraceCheckUtils]: 28: Hoare triple {4082#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4082#false} is VALID [2018-11-23 12:21:14,598 INFO L273 TraceCheckUtils]: 29: Hoare triple {4082#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; {4082#false} is VALID [2018-11-23 12:21:14,599 INFO L273 TraceCheckUtils]: 30: Hoare triple {4082#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {4082#false} is VALID [2018-11-23 12:21:14,599 INFO L256 TraceCheckUtils]: 31: Hoare triple {4082#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {4082#false} is VALID [2018-11-23 12:21:14,599 INFO L273 TraceCheckUtils]: 32: Hoare triple {4082#false} ~cond := #in~cond; {4082#false} is VALID [2018-11-23 12:21:14,599 INFO L273 TraceCheckUtils]: 33: Hoare triple {4082#false} assume 0 == ~cond; {4082#false} is VALID [2018-11-23 12:21:14,600 INFO L273 TraceCheckUtils]: 34: Hoare triple {4082#false} assume !false; {4082#false} is VALID [2018-11-23 12:21:14,600 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 9 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 12:21:14,600 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:21:14,601 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:21:14,601 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 35 [2018-11-23 12:21:14,601 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:14,601 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:21:14,629 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:14,629 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:21:14,630 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:21:14,630 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:21:14,630 INFO L87 Difference]: Start difference. First operand 102 states and 124 transitions. Second operand 3 states. [2018-11-23 12:21:15,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:15,354 INFO L93 Difference]: Finished difference Result 126 states and 151 transitions. [2018-11-23 12:21:15,354 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:21:15,354 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 35 [2018-11-23 12:21:15,355 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:15,355 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:21:15,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 65 transitions. [2018-11-23 12:21:15,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:21:15,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 65 transitions. [2018-11-23 12:21:15,357 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 65 transitions. [2018-11-23 12:21:16,166 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:21:16,168 INFO L225 Difference]: With dead ends: 126 [2018-11-23 12:21:16,169 INFO L226 Difference]: Without dead ends: 102 [2018-11-23 12:21:16,169 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:16,171 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2018-11-23 12:21:16,885 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 102. [2018-11-23 12:21:16,886 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:16,886 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand 102 states. [2018-11-23 12:21:16,886 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 102 states. [2018-11-23 12:21:16,886 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 102 states. [2018-11-23 12:21:16,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:16,890 INFO L93 Difference]: Finished difference Result 102 states and 122 transitions. [2018-11-23 12:21:16,890 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 122 transitions. [2018-11-23 12:21:16,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:16,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:16,891 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 102 states. [2018-11-23 12:21:16,891 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 102 states. [2018-11-23 12:21:16,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:16,894 INFO L93 Difference]: Finished difference Result 102 states and 122 transitions. [2018-11-23 12:21:16,894 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 122 transitions. [2018-11-23 12:21:16,895 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:16,895 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:16,895 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:16,895 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:16,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 102 states. [2018-11-23 12:21:16,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 122 transitions. [2018-11-23 12:21:16,898 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 122 transitions. Word has length 35 [2018-11-23 12:21:16,898 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:16,898 INFO L480 AbstractCegarLoop]: Abstraction has 102 states and 122 transitions. [2018-11-23 12:21:16,899 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:21:16,899 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 122 transitions. [2018-11-23 12:21:16,899 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2018-11-23 12:21:16,899 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:16,900 INFO L402 BasicCegarLoop]: trace histogram [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:16,900 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:16,900 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:16,900 INFO L82 PathProgramCache]: Analyzing trace with hash 1365472462, now seen corresponding path program 1 times [2018-11-23 12:21:16,900 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:16,901 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:16,901 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:16,901 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:16,902 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:16,908 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:17,125 INFO L256 TraceCheckUtils]: 0: Hoare triple {4595#true} call ULTIMATE.init(); {4595#true} is VALID [2018-11-23 12:21:17,125 INFO L273 TraceCheckUtils]: 1: Hoare triple {4595#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {4595#true} is VALID [2018-11-23 12:21:17,126 INFO L273 TraceCheckUtils]: 2: Hoare triple {4595#true} assume true; {4595#true} is VALID [2018-11-23 12:21:17,126 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4595#true} {4595#true} #83#return; {4595#true} is VALID [2018-11-23 12:21:17,126 INFO L256 TraceCheckUtils]: 4: Hoare triple {4595#true} call #t~ret7 := main(); {4595#true} is VALID [2018-11-23 12:21:17,126 INFO L273 TraceCheckUtils]: 5: Hoare triple {4595#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {4595#true} is VALID [2018-11-23 12:21:17,126 INFO L273 TraceCheckUtils]: 6: Hoare triple {4595#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {4595#true} is VALID [2018-11-23 12:21:17,126 INFO L273 TraceCheckUtils]: 7: Hoare triple {4595#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {4595#true} is VALID [2018-11-23 12:21:17,127 INFO L273 TraceCheckUtils]: 8: Hoare triple {4595#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {4595#true} is VALID [2018-11-23 12:21:17,127 INFO L273 TraceCheckUtils]: 9: Hoare triple {4595#true} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {4595#true} is VALID [2018-11-23 12:21:17,139 INFO L273 TraceCheckUtils]: 10: Hoare triple {4595#true} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {4597#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:17,152 INFO L273 TraceCheckUtils]: 11: Hoare triple {4597#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {4597#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:17,164 INFO L273 TraceCheckUtils]: 12: Hoare triple {4597#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4597#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:17,173 INFO L273 TraceCheckUtils]: 13: Hoare triple {4597#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {4597#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:17,185 INFO L273 TraceCheckUtils]: 14: Hoare triple {4597#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {4597#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:17,198 INFO L273 TraceCheckUtils]: 15: Hoare triple {4597#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {4596#false} is VALID [2018-11-23 12:21:17,199 INFO L273 TraceCheckUtils]: 16: Hoare triple {4596#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {4596#false} is VALID [2018-11-23 12:21:17,199 INFO L273 TraceCheckUtils]: 17: Hoare triple {4596#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4596#false} is VALID [2018-11-23 12:21:17,199 INFO L273 TraceCheckUtils]: 18: Hoare triple {4596#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {4596#false} is VALID [2018-11-23 12:21:17,199 INFO L273 TraceCheckUtils]: 19: Hoare triple {4596#false} ~i~0 := 0; {4596#false} is VALID [2018-11-23 12:21:17,199 INFO L273 TraceCheckUtils]: 20: Hoare triple {4596#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; {4596#false} is VALID [2018-11-23 12:21:17,200 INFO L273 TraceCheckUtils]: 21: Hoare triple {4596#false} assume #t~short6; {4596#false} is VALID [2018-11-23 12:21:17,200 INFO L256 TraceCheckUtils]: 22: Hoare triple {4596#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {4595#true} is VALID [2018-11-23 12:21:17,200 INFO L273 TraceCheckUtils]: 23: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2018-11-23 12:21:17,200 INFO L273 TraceCheckUtils]: 24: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2018-11-23 12:21:17,200 INFO L273 TraceCheckUtils]: 25: Hoare triple {4595#true} assume true; {4595#true} is VALID [2018-11-23 12:21:17,201 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {4595#true} {4596#false} #87#return; {4596#false} is VALID [2018-11-23 12:21:17,201 INFO L273 TraceCheckUtils]: 27: Hoare triple {4596#false} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {4596#false} is VALID [2018-11-23 12:21:17,201 INFO L273 TraceCheckUtils]: 28: Hoare triple {4596#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4596#false} is VALID [2018-11-23 12:21:17,201 INFO L273 TraceCheckUtils]: 29: Hoare triple {4596#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; {4596#false} is VALID [2018-11-23 12:21:17,201 INFO L273 TraceCheckUtils]: 30: Hoare triple {4596#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {4596#false} is VALID [2018-11-23 12:21:17,201 INFO L256 TraceCheckUtils]: 31: Hoare triple {4596#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {4596#false} is VALID [2018-11-23 12:21:17,202 INFO L273 TraceCheckUtils]: 32: Hoare triple {4596#false} ~cond := #in~cond; {4596#false} is VALID [2018-11-23 12:21:17,202 INFO L273 TraceCheckUtils]: 33: Hoare triple {4596#false} assume 0 == ~cond; {4596#false} is VALID [2018-11-23 12:21:17,202 INFO L273 TraceCheckUtils]: 34: Hoare triple {4596#false} assume !false; {4596#false} is VALID [2018-11-23 12:21:17,203 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 9 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 12:21:17,203 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:21:17,204 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:21:17,204 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 35 [2018-11-23 12:21:17,204 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:17,204 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:21:17,573 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:17,573 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:21:17,573 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:21:17,573 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:21:17,573 INFO L87 Difference]: Start difference. First operand 102 states and 122 transitions. Second operand 3 states. [2018-11-23 12:21:18,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:18,310 INFO L93 Difference]: Finished difference Result 121 states and 142 transitions. [2018-11-23 12:21:18,310 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:21:18,310 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 35 [2018-11-23 12:21:18,311 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:18,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:21:18,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 65 transitions. [2018-11-23 12:21:18,312 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:21:18,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 65 transitions. [2018-11-23 12:21:18,313 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 65 transitions. [2018-11-23 12:21:18,737 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:21:18,740 INFO L225 Difference]: With dead ends: 121 [2018-11-23 12:21:18,740 INFO L226 Difference]: Without dead ends: 97 [2018-11-23 12:21:18,740 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:21:18,741 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2018-11-23 12:21:19,279 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 96. [2018-11-23 12:21:19,279 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:19,279 INFO L82 GeneralOperation]: Start isEquivalent. First operand 97 states. Second operand 96 states. [2018-11-23 12:21:19,279 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand 96 states. [2018-11-23 12:21:19,279 INFO L87 Difference]: Start difference. First operand 97 states. Second operand 96 states. [2018-11-23 12:21:19,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:19,282 INFO L93 Difference]: Finished difference Result 97 states and 115 transitions. [2018-11-23 12:21:19,283 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 115 transitions. [2018-11-23 12:21:19,283 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:19,283 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:19,283 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand 97 states. [2018-11-23 12:21:19,284 INFO L87 Difference]: Start difference. First operand 96 states. Second operand 97 states. [2018-11-23 12:21:19,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:19,286 INFO L93 Difference]: Finished difference Result 97 states and 115 transitions. [2018-11-23 12:21:19,286 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 115 transitions. [2018-11-23 12:21:19,287 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:19,287 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:19,287 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:19,287 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:19,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 96 states. [2018-11-23 12:21:19,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 114 transitions. [2018-11-23 12:21:19,290 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 114 transitions. Word has length 35 [2018-11-23 12:21:19,290 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:19,290 INFO L480 AbstractCegarLoop]: Abstraction has 96 states and 114 transitions. [2018-11-23 12:21:19,290 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:21:19,290 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 114 transitions. [2018-11-23 12:21:19,291 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-23 12:21:19,291 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:19,291 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] [2018-11-23 12:21:19,292 INFO L423 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:19,292 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:19,292 INFO L82 PathProgramCache]: Analyzing trace with hash -1380382439, now seen corresponding path program 2 times [2018-11-23 12:21:19,292 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:19,292 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:19,293 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:19,293 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:19,293 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:19,304 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:19,987 WARN L180 SmtUtils]: Spent 295.00 ms on a formula simplification. DAG size of input: 18 DAG size of output: 13 [2018-11-23 12:21:20,269 INFO L256 TraceCheckUtils]: 0: Hoare triple {5086#true} call ULTIMATE.init(); {5086#true} is VALID [2018-11-23 12:21:20,270 INFO L273 TraceCheckUtils]: 1: Hoare triple {5086#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {5086#true} is VALID [2018-11-23 12:21:20,270 INFO L273 TraceCheckUtils]: 2: Hoare triple {5086#true} assume true; {5086#true} is VALID [2018-11-23 12:21:20,270 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5086#true} {5086#true} #83#return; {5086#true} is VALID [2018-11-23 12:21:20,271 INFO L256 TraceCheckUtils]: 4: Hoare triple {5086#true} call #t~ret7 := main(); {5086#true} is VALID [2018-11-23 12:21:20,271 INFO L273 TraceCheckUtils]: 5: Hoare triple {5086#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {5086#true} is VALID [2018-11-23 12:21:20,272 INFO L273 TraceCheckUtils]: 6: Hoare triple {5086#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {5088#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:21:20,272 INFO L273 TraceCheckUtils]: 7: Hoare triple {5088#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {5089#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:20,273 INFO L273 TraceCheckUtils]: 8: Hoare triple {5089#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {5089#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:20,274 INFO L273 TraceCheckUtils]: 9: Hoare triple {5089#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {5089#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:20,275 INFO L273 TraceCheckUtils]: 10: Hoare triple {5089#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {5089#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:20,276 INFO L273 TraceCheckUtils]: 11: Hoare triple {5089#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {5090#(and (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)))) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-23 12:21:20,277 INFO L273 TraceCheckUtils]: 12: Hoare triple {5090#(and (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)))) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5091#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4))))) (<= (* 3 main_~i~0) 5)) (<= (* 3 main_~i~0) 6) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-23 12:21:20,278 INFO L273 TraceCheckUtils]: 13: Hoare triple {5091#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4))))) (<= (* 3 main_~i~0) 5)) (<= (* 3 main_~i~0) 6) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {5092#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))))} is VALID [2018-11-23 12:21:20,279 INFO L273 TraceCheckUtils]: 14: Hoare triple {5092#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))))} ~i~0 := 0; {5093#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:20,280 INFO L273 TraceCheckUtils]: 15: Hoare triple {5093#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 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; {5093#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:20,281 INFO L273 TraceCheckUtils]: 16: Hoare triple {5093#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} assume #t~short6; {5093#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:20,281 INFO L256 TraceCheckUtils]: 17: Hoare triple {5093#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5086#true} is VALID [2018-11-23 12:21:20,282 INFO L273 TraceCheckUtils]: 18: Hoare triple {5086#true} ~cond := #in~cond; {5086#true} is VALID [2018-11-23 12:21:20,282 INFO L273 TraceCheckUtils]: 19: Hoare triple {5086#true} assume !(0 == ~cond); {5086#true} is VALID [2018-11-23 12:21:20,282 INFO L273 TraceCheckUtils]: 20: Hoare triple {5086#true} assume true; {5086#true} is VALID [2018-11-23 12:21:20,283 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {5086#true} {5093#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} #87#return; {5093#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:20,284 INFO L273 TraceCheckUtils]: 22: Hoare triple {5093#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {5093#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:20,284 INFO L273 TraceCheckUtils]: 23: Hoare triple {5093#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5094#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:21:20,285 INFO L273 TraceCheckUtils]: 24: Hoare triple {5094#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} 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; {5094#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:21:20,286 INFO L273 TraceCheckUtils]: 25: Hoare triple {5094#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} assume #t~short6; {5094#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:21:20,286 INFO L256 TraceCheckUtils]: 26: Hoare triple {5094#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5086#true} is VALID [2018-11-23 12:21:20,286 INFO L273 TraceCheckUtils]: 27: Hoare triple {5086#true} ~cond := #in~cond; {5086#true} is VALID [2018-11-23 12:21:20,286 INFO L273 TraceCheckUtils]: 28: Hoare triple {5086#true} assume !(0 == ~cond); {5086#true} is VALID [2018-11-23 12:21:20,286 INFO L273 TraceCheckUtils]: 29: Hoare triple {5086#true} assume true; {5086#true} is VALID [2018-11-23 12:21:20,287 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {5086#true} {5094#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} #87#return; {5094#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:21:20,288 INFO L273 TraceCheckUtils]: 31: Hoare triple {5094#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {5094#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:21:20,289 INFO L273 TraceCheckUtils]: 32: Hoare triple {5094#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5095#(or (<= ~CELLCOUNT~0 main_~i~0) (<= 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:20,290 INFO L273 TraceCheckUtils]: 33: Hoare triple {5095#(or (<= ~CELLCOUNT~0 main_~i~0) (<= 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; {5096#|main_#t~short6|} is VALID [2018-11-23 12:21:20,291 INFO L273 TraceCheckUtils]: 34: Hoare triple {5096#|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; {5087#false} is VALID [2018-11-23 12:21:20,291 INFO L256 TraceCheckUtils]: 35: Hoare triple {5087#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5087#false} is VALID [2018-11-23 12:21:20,291 INFO L273 TraceCheckUtils]: 36: Hoare triple {5087#false} ~cond := #in~cond; {5087#false} is VALID [2018-11-23 12:21:20,291 INFO L273 TraceCheckUtils]: 37: Hoare triple {5087#false} assume 0 == ~cond; {5087#false} is VALID [2018-11-23 12:21:20,292 INFO L273 TraceCheckUtils]: 38: Hoare triple {5087#false} assume !false; {5087#false} is VALID [2018-11-23 12:21:20,299 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:21:20,300 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:21:20,300 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:21:20,316 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:21:20,338 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:21:20,338 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:21:20,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:20,354 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:21:20,464 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 12:21:20,468 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 12:21:20,474 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:20,476 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:20,483 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:20,483 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:20, output treesize:16 [2018-11-23 12:21:20,831 INFO L256 TraceCheckUtils]: 0: Hoare triple {5086#true} call ULTIMATE.init(); {5086#true} is VALID [2018-11-23 12:21:20,832 INFO L273 TraceCheckUtils]: 1: Hoare triple {5086#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {5086#true} is VALID [2018-11-23 12:21:20,832 INFO L273 TraceCheckUtils]: 2: Hoare triple {5086#true} assume true; {5086#true} is VALID [2018-11-23 12:21:20,832 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5086#true} {5086#true} #83#return; {5086#true} is VALID [2018-11-23 12:21:20,832 INFO L256 TraceCheckUtils]: 4: Hoare triple {5086#true} call #t~ret7 := main(); {5086#true} is VALID [2018-11-23 12:21:20,832 INFO L273 TraceCheckUtils]: 5: Hoare triple {5086#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {5086#true} is VALID [2018-11-23 12:21:20,833 INFO L273 TraceCheckUtils]: 6: Hoare triple {5086#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {5118#(and (= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:20,834 INFO L273 TraceCheckUtils]: 7: Hoare triple {5118#(and (= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {5122#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:20,835 INFO L273 TraceCheckUtils]: 8: Hoare triple {5122#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {5122#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:20,836 INFO L273 TraceCheckUtils]: 9: Hoare triple {5122#(and (= 1 main_~CCCELVOL1~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 * (3 * ~i~0 - 3), 4); {5122#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:20,837 INFO L273 TraceCheckUtils]: 10: Hoare triple {5122#(and (= 1 main_~CCCELVOL1~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 * (3 * ~i~0 - 2), 4); {5122#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:20,838 INFO L273 TraceCheckUtils]: 11: Hoare triple {5122#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {5135#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-23 12:21:20,839 INFO L273 TraceCheckUtils]: 12: Hoare triple {5135#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5135#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-23 12:21:20,840 INFO L273 TraceCheckUtils]: 13: Hoare triple {5135#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {5135#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-23 12:21:20,841 INFO L273 TraceCheckUtils]: 14: Hoare triple {5135#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} ~i~0 := 0; {5145#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} is VALID [2018-11-23 12:21:20,842 INFO L273 TraceCheckUtils]: 15: Hoare triple {5145#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= 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; {5145#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} is VALID [2018-11-23 12:21:20,842 INFO L273 TraceCheckUtils]: 16: Hoare triple {5145#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} assume #t~short6; {5145#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} is VALID [2018-11-23 12:21:20,844 INFO L256 TraceCheckUtils]: 17: Hoare triple {5145#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5155#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} is VALID [2018-11-23 12:21:20,845 INFO L273 TraceCheckUtils]: 18: Hoare triple {5155#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} ~cond := #in~cond; {5155#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} is VALID [2018-11-23 12:21:20,845 INFO L273 TraceCheckUtils]: 19: Hoare triple {5155#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} assume !(0 == ~cond); {5155#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} is VALID [2018-11-23 12:21:20,846 INFO L273 TraceCheckUtils]: 20: Hoare triple {5155#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} assume true; {5155#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} is VALID [2018-11-23 12:21:20,847 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {5155#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} {5145#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} #87#return; {5145#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} is VALID [2018-11-23 12:21:20,847 INFO L273 TraceCheckUtils]: 22: Hoare triple {5145#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {5145#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} is VALID [2018-11-23 12:21:20,848 INFO L273 TraceCheckUtils]: 23: Hoare triple {5145#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5174#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-23 12:21:20,850 INFO L273 TraceCheckUtils]: 24: Hoare triple {5174#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} 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; {5174#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-23 12:21:20,850 INFO L273 TraceCheckUtils]: 25: Hoare triple {5174#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} assume #t~short6; {5174#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-23 12:21:20,852 INFO L256 TraceCheckUtils]: 26: Hoare triple {5174#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5155#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} is VALID [2018-11-23 12:21:20,852 INFO L273 TraceCheckUtils]: 27: Hoare triple {5155#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} ~cond := #in~cond; {5155#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} is VALID [2018-11-23 12:21:20,853 INFO L273 TraceCheckUtils]: 28: Hoare triple {5155#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} assume !(0 == ~cond); {5155#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} is VALID [2018-11-23 12:21:20,854 INFO L273 TraceCheckUtils]: 29: Hoare triple {5155#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} assume true; {5155#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} is VALID [2018-11-23 12:21:20,855 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {5155#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} {5174#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} #87#return; {5174#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-23 12:21:20,855 INFO L273 TraceCheckUtils]: 31: Hoare triple {5174#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {5174#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-23 12:21:20,856 INFO L273 TraceCheckUtils]: 32: Hoare triple {5174#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5202#(and (= main_~i~0 2) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-23 12:21:20,857 INFO L273 TraceCheckUtils]: 33: Hoare triple {5202#(and (= main_~i~0 2) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} 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; {5206#(and (= main_~i~0 2) |main_#t~short6| (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-23 12:21:20,858 INFO L273 TraceCheckUtils]: 34: Hoare triple {5206#(and (= main_~i~0 2) |main_#t~short6| (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {5087#false} is VALID [2018-11-23 12:21:20,858 INFO L256 TraceCheckUtils]: 35: Hoare triple {5087#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5087#false} is VALID [2018-11-23 12:21:20,858 INFO L273 TraceCheckUtils]: 36: Hoare triple {5087#false} ~cond := #in~cond; {5087#false} is VALID [2018-11-23 12:21:20,859 INFO L273 TraceCheckUtils]: 37: Hoare triple {5087#false} assume 0 == ~cond; {5087#false} is VALID [2018-11-23 12:21:20,859 INFO L273 TraceCheckUtils]: 38: Hoare triple {5087#false} assume !false; {5087#false} is VALID [2018-11-23 12:21:20,863 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:21:20,885 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:21:20,886 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 19 [2018-11-23 12:21:20,886 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 39 [2018-11-23 12:21:20,886 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:20,886 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-23 12:21:20,982 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:20,982 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-23 12:21:20,983 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-23 12:21:20,983 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=292, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:21:20,984 INFO L87 Difference]: Start difference. First operand 96 states and 114 transitions. Second operand 19 states. [2018-11-23 12:21:26,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:26,337 INFO L93 Difference]: Finished difference Result 202 states and 241 transitions. [2018-11-23 12:21:26,337 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2018-11-23 12:21:26,337 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 39 [2018-11-23 12:21:26,338 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:26,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:21:26,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 140 transitions. [2018-11-23 12:21:26,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:21:26,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 140 transitions. [2018-11-23 12:21:26,342 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 140 transitions. [2018-11-23 12:21:26,552 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:26,556 INFO L225 Difference]: With dead ends: 202 [2018-11-23 12:21:26,556 INFO L226 Difference]: Without dead ends: 152 [2018-11-23 12:21:26,559 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 73 GetRequests, 30 SyntacticMatches, 3 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 346 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=352, Invalid=1370, Unknown=0, NotChecked=0, Total=1722 [2018-11-23 12:21:26,559 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 152 states. [2018-11-23 12:21:27,108 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 152 to 131. [2018-11-23 12:21:27,108 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:27,108 INFO L82 GeneralOperation]: Start isEquivalent. First operand 152 states. Second operand 131 states. [2018-11-23 12:21:27,108 INFO L74 IsIncluded]: Start isIncluded. First operand 152 states. Second operand 131 states. [2018-11-23 12:21:27,109 INFO L87 Difference]: Start difference. First operand 152 states. Second operand 131 states. [2018-11-23 12:21:27,114 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:27,114 INFO L93 Difference]: Finished difference Result 152 states and 177 transitions. [2018-11-23 12:21:27,114 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 177 transitions. [2018-11-23 12:21:27,115 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:27,115 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:27,115 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand 152 states. [2018-11-23 12:21:27,115 INFO L87 Difference]: Start difference. First operand 131 states. Second operand 152 states. [2018-11-23 12:21:27,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:27,120 INFO L93 Difference]: Finished difference Result 152 states and 177 transitions. [2018-11-23 12:21:27,120 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 177 transitions. [2018-11-23 12:21:27,121 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:27,121 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:27,121 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:27,121 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:27,121 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 131 states. [2018-11-23 12:21:27,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 155 transitions. [2018-11-23 12:21:27,124 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 155 transitions. Word has length 39 [2018-11-23 12:21:27,125 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:27,125 INFO L480 AbstractCegarLoop]: Abstraction has 131 states and 155 transitions. [2018-11-23 12:21:27,125 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-23 12:21:27,125 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 155 transitions. [2018-11-23 12:21:27,126 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-23 12:21:27,126 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:27,126 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] [2018-11-23 12:21:27,126 INFO L423 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:27,126 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:27,127 INFO L82 PathProgramCache]: Analyzing trace with hash -1889855529, now seen corresponding path program 1 times [2018-11-23 12:21:27,127 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:27,127 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:27,128 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:27,128 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:21:27,128 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:27,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:27,867 WARN L180 SmtUtils]: Spent 341.00 ms on a formula simplification. DAG size of input: 18 DAG size of output: 13 [2018-11-23 12:21:28,308 INFO L256 TraceCheckUtils]: 0: Hoare triple {6016#true} call ULTIMATE.init(); {6016#true} is VALID [2018-11-23 12:21:28,308 INFO L273 TraceCheckUtils]: 1: Hoare triple {6016#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {6016#true} is VALID [2018-11-23 12:21:28,308 INFO L273 TraceCheckUtils]: 2: Hoare triple {6016#true} assume true; {6016#true} is VALID [2018-11-23 12:21:28,309 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6016#true} {6016#true} #83#return; {6016#true} is VALID [2018-11-23 12:21:28,309 INFO L256 TraceCheckUtils]: 4: Hoare triple {6016#true} call #t~ret7 := main(); {6016#true} is VALID [2018-11-23 12:21:28,310 INFO L273 TraceCheckUtils]: 5: Hoare triple {6016#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {6016#true} is VALID [2018-11-23 12:21:28,313 INFO L273 TraceCheckUtils]: 6: Hoare triple {6016#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {6018#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:21:28,314 INFO L273 TraceCheckUtils]: 7: Hoare triple {6018#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {6019#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:28,315 INFO L273 TraceCheckUtils]: 8: Hoare triple {6019#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {6019#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:28,315 INFO L273 TraceCheckUtils]: 9: Hoare triple {6019#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {6019#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:28,316 INFO L273 TraceCheckUtils]: 10: Hoare triple {6019#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {6019#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:28,317 INFO L273 TraceCheckUtils]: 11: Hoare triple {6019#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {6020#(and (= main_~i~0 1) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)))) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:28,318 INFO L273 TraceCheckUtils]: 12: Hoare triple {6020#(and (= main_~i~0 1) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)))) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6021#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4))))) (<= (* 3 main_~i~0) 5)) (<= (* 3 main_~i~0) 6) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:28,320 INFO L273 TraceCheckUtils]: 13: Hoare triple {6021#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4))))) (<= (* 3 main_~i~0) 5)) (<= (* 3 main_~i~0) 6) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {6022#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))))} is VALID [2018-11-23 12:21:28,321 INFO L273 TraceCheckUtils]: 14: Hoare triple {6022#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))))} ~i~0 := 0; {6023#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:28,322 INFO L273 TraceCheckUtils]: 15: Hoare triple {6023#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 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; {6023#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:28,322 INFO L273 TraceCheckUtils]: 16: Hoare triple {6023#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} assume #t~short6; {6023#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:28,323 INFO L256 TraceCheckUtils]: 17: Hoare triple {6023#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6016#true} is VALID [2018-11-23 12:21:28,323 INFO L273 TraceCheckUtils]: 18: Hoare triple {6016#true} ~cond := #in~cond; {6016#true} is VALID [2018-11-23 12:21:28,323 INFO L273 TraceCheckUtils]: 19: Hoare triple {6016#true} assume !(0 == ~cond); {6016#true} is VALID [2018-11-23 12:21:28,323 INFO L273 TraceCheckUtils]: 20: Hoare triple {6016#true} assume true; {6016#true} is VALID [2018-11-23 12:21:28,324 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {6016#true} {6023#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} #87#return; {6023#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:28,325 INFO L273 TraceCheckUtils]: 22: Hoare triple {6023#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {6023#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:28,326 INFO L273 TraceCheckUtils]: 23: Hoare triple {6023#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6024#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:21:28,327 INFO L273 TraceCheckUtils]: 24: Hoare triple {6024#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} 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; {6024#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:21:28,327 INFO L273 TraceCheckUtils]: 25: Hoare triple {6024#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} assume #t~short6; {6024#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:21:28,327 INFO L256 TraceCheckUtils]: 26: Hoare triple {6024#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6016#true} is VALID [2018-11-23 12:21:28,327 INFO L273 TraceCheckUtils]: 27: Hoare triple {6016#true} ~cond := #in~cond; {6016#true} is VALID [2018-11-23 12:21:28,328 INFO L273 TraceCheckUtils]: 28: Hoare triple {6016#true} assume !(0 == ~cond); {6016#true} is VALID [2018-11-23 12:21:28,328 INFO L273 TraceCheckUtils]: 29: Hoare triple {6016#true} assume true; {6016#true} is VALID [2018-11-23 12:21:28,329 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {6016#true} {6024#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} #87#return; {6024#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:21:28,330 INFO L273 TraceCheckUtils]: 31: Hoare triple {6024#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {6024#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:21:28,331 INFO L273 TraceCheckUtils]: 32: Hoare triple {6024#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6025#(or (<= ~CELLCOUNT~0 main_~i~0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))))} is VALID [2018-11-23 12:21:28,332 INFO L273 TraceCheckUtils]: 33: Hoare triple {6025#(or (<= ~CELLCOUNT~0 main_~i~0) (= 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; {6026#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:21:28,332 INFO L273 TraceCheckUtils]: 34: Hoare triple {6026#(= 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; {6027#|main_#t~short6|} is VALID [2018-11-23 12:21:28,333 INFO L256 TraceCheckUtils]: 35: Hoare triple {6027#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6028#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-23 12:21:28,334 INFO L273 TraceCheckUtils]: 36: Hoare triple {6028#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {6029#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:21:28,334 INFO L273 TraceCheckUtils]: 37: Hoare triple {6029#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {6017#false} is VALID [2018-11-23 12:21:28,335 INFO L273 TraceCheckUtils]: 38: Hoare triple {6017#false} assume !false; {6017#false} is VALID [2018-11-23 12:21:28,340 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:21:28,340 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:21:28,340 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:21:28,349 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:28,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:28,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:28,379 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:21:28,442 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 12:21:28,448 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 12:21:28,455 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:28,458 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:28,461 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:28,462 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 12:21:28,861 INFO L256 TraceCheckUtils]: 0: Hoare triple {6016#true} call ULTIMATE.init(); {6016#true} is VALID [2018-11-23 12:21:28,862 INFO L273 TraceCheckUtils]: 1: Hoare triple {6016#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {6016#true} is VALID [2018-11-23 12:21:28,862 INFO L273 TraceCheckUtils]: 2: Hoare triple {6016#true} assume true; {6016#true} is VALID [2018-11-23 12:21:28,862 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6016#true} {6016#true} #83#return; {6016#true} is VALID [2018-11-23 12:21:28,862 INFO L256 TraceCheckUtils]: 4: Hoare triple {6016#true} call #t~ret7 := main(); {6016#true} is VALID [2018-11-23 12:21:28,862 INFO L273 TraceCheckUtils]: 5: Hoare triple {6016#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {6016#true} is VALID [2018-11-23 12:21:28,863 INFO L273 TraceCheckUtils]: 6: Hoare triple {6016#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {6051#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:21:28,863 INFO L273 TraceCheckUtils]: 7: Hoare triple {6051#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {6055#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:28,864 INFO L273 TraceCheckUtils]: 8: Hoare triple {6055#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {6055#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:28,864 INFO L273 TraceCheckUtils]: 9: Hoare triple {6055#(and (= 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 * (3 * ~i~0 - 3), 4); {6055#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:28,865 INFO L273 TraceCheckUtils]: 10: Hoare triple {6055#(and (= 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 * (3 * ~i~0 - 2), 4); {6055#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:28,865 INFO L273 TraceCheckUtils]: 11: Hoare triple {6055#(and (= 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 * (3 * ~i~0 - 1), 4); {6068#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:28,866 INFO L273 TraceCheckUtils]: 12: Hoare triple {6068#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6068#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:28,867 INFO L273 TraceCheckUtils]: 13: Hoare triple {6068#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {6068#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:28,867 INFO L273 TraceCheckUtils]: 14: Hoare triple {6068#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} ~i~0 := 0; {6078#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:28,868 INFO L273 TraceCheckUtils]: 15: Hoare triple {6078#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 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; {6078#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:28,869 INFO L273 TraceCheckUtils]: 16: Hoare triple {6078#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} assume #t~short6; {6078#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:28,870 INFO L256 TraceCheckUtils]: 17: Hoare triple {6078#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6088#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} is VALID [2018-11-23 12:21:28,871 INFO L273 TraceCheckUtils]: 18: Hoare triple {6088#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} ~cond := #in~cond; {6088#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} is VALID [2018-11-23 12:21:28,872 INFO L273 TraceCheckUtils]: 19: Hoare triple {6088#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} assume !(0 == ~cond); {6088#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} is VALID [2018-11-23 12:21:28,872 INFO L273 TraceCheckUtils]: 20: Hoare triple {6088#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} assume true; {6088#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} is VALID [2018-11-23 12:21:28,873 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {6088#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} {6078#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} #87#return; {6078#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:28,874 INFO L273 TraceCheckUtils]: 22: Hoare triple {6078#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {6078#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:28,875 INFO L273 TraceCheckUtils]: 23: Hoare triple {6078#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6107#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:28,876 INFO L273 TraceCheckUtils]: 24: Hoare triple {6107#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 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; {6107#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:28,876 INFO L273 TraceCheckUtils]: 25: Hoare triple {6107#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume #t~short6; {6107#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:28,878 INFO L256 TraceCheckUtils]: 26: Hoare triple {6107#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6088#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} is VALID [2018-11-23 12:21:28,878 INFO L273 TraceCheckUtils]: 27: Hoare triple {6088#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} ~cond := #in~cond; {6088#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} is VALID [2018-11-23 12:21:28,879 INFO L273 TraceCheckUtils]: 28: Hoare triple {6088#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} assume !(0 == ~cond); {6088#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} is VALID [2018-11-23 12:21:28,879 INFO L273 TraceCheckUtils]: 29: Hoare triple {6088#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} assume true; {6088#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} is VALID [2018-11-23 12:21:28,880 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {6088#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} {6107#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} #87#return; {6107#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:28,881 INFO L273 TraceCheckUtils]: 31: Hoare triple {6107#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {6107#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:28,882 INFO L273 TraceCheckUtils]: 32: Hoare triple {6107#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6135#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:28,883 INFO L273 TraceCheckUtils]: 33: Hoare triple {6135#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 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; {6135#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:28,884 INFO L273 TraceCheckUtils]: 34: Hoare triple {6135#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {6027#|main_#t~short6|} is VALID [2018-11-23 12:21:28,885 INFO L256 TraceCheckUtils]: 35: Hoare triple {6027#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6145#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:21:28,885 INFO L273 TraceCheckUtils]: 36: Hoare triple {6145#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {6149#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:21:28,886 INFO L273 TraceCheckUtils]: 37: Hoare triple {6149#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6017#false} is VALID [2018-11-23 12:21:28,886 INFO L273 TraceCheckUtils]: 38: Hoare triple {6017#false} assume !false; {6017#false} is VALID [2018-11-23 12:21:28,890 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:21:28,918 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:21:28,918 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 12] total 23 [2018-11-23 12:21:28,918 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 39 [2018-11-23 12:21:28,919 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:28,919 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-23 12:21:29,008 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:21:29,009 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-23 12:21:29,009 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-23 12:21:29,010 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=441, Unknown=0, NotChecked=0, Total=506 [2018-11-23 12:21:29,010 INFO L87 Difference]: Start difference. First operand 131 states and 155 transitions. Second operand 23 states. [2018-11-23 12:21:35,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:35,349 INFO L93 Difference]: Finished difference Result 277 states and 335 transitions. [2018-11-23 12:21:35,349 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2018-11-23 12:21:35,349 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 39 [2018-11-23 12:21:35,349 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:35,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:21:35,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 146 transitions. [2018-11-23 12:21:35,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:21:35,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 146 transitions. [2018-11-23 12:21:35,354 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 35 states and 146 transitions. [2018-11-23 12:21:35,640 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:35,645 INFO L225 Difference]: With dead ends: 277 [2018-11-23 12:21:35,645 INFO L226 Difference]: Without dead ends: 212 [2018-11-23 12:21:35,647 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 30 SyntacticMatches, 3 SemanticMatches, 52 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 718 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=456, Invalid=2406, Unknown=0, NotChecked=0, Total=2862 [2018-11-23 12:21:35,648 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 212 states. [2018-11-23 12:21:36,543 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 212 to 179. [2018-11-23 12:21:36,544 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:36,544 INFO L82 GeneralOperation]: Start isEquivalent. First operand 212 states. Second operand 179 states. [2018-11-23 12:21:36,544 INFO L74 IsIncluded]: Start isIncluded. First operand 212 states. Second operand 179 states. [2018-11-23 12:21:36,544 INFO L87 Difference]: Start difference. First operand 212 states. Second operand 179 states. [2018-11-23 12:21:36,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:36,550 INFO L93 Difference]: Finished difference Result 212 states and 244 transitions. [2018-11-23 12:21:36,550 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 244 transitions. [2018-11-23 12:21:36,551 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:36,551 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:36,551 INFO L74 IsIncluded]: Start isIncluded. First operand 179 states. Second operand 212 states. [2018-11-23 12:21:36,552 INFO L87 Difference]: Start difference. First operand 179 states. Second operand 212 states. [2018-11-23 12:21:36,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:36,558 INFO L93 Difference]: Finished difference Result 212 states and 244 transitions. [2018-11-23 12:21:36,558 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 244 transitions. [2018-11-23 12:21:36,559 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:36,559 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:36,559 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:36,559 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:36,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 179 states. [2018-11-23 12:21:36,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 179 states to 179 states and 208 transitions. [2018-11-23 12:21:36,563 INFO L78 Accepts]: Start accepts. Automaton has 179 states and 208 transitions. Word has length 39 [2018-11-23 12:21:36,564 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:36,564 INFO L480 AbstractCegarLoop]: Abstraction has 179 states and 208 transitions. [2018-11-23 12:21:36,564 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-23 12:21:36,564 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 208 transitions. [2018-11-23 12:21:36,565 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2018-11-23 12:21:36,565 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:36,565 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:36,565 INFO L423 AbstractCegarLoop]: === Iteration 16 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:36,566 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:36,566 INFO L82 PathProgramCache]: Analyzing trace with hash 926233367, now seen corresponding path program 1 times [2018-11-23 12:21:36,566 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:36,566 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:36,567 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:36,567 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:36,567 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:36,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:36,744 INFO L256 TraceCheckUtils]: 0: Hoare triple {7254#true} call ULTIMATE.init(); {7254#true} is VALID [2018-11-23 12:21:36,744 INFO L273 TraceCheckUtils]: 1: Hoare triple {7254#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {7254#true} is VALID [2018-11-23 12:21:36,744 INFO L273 TraceCheckUtils]: 2: Hoare triple {7254#true} assume true; {7254#true} is VALID [2018-11-23 12:21:36,744 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7254#true} {7254#true} #83#return; {7254#true} is VALID [2018-11-23 12:21:36,744 INFO L256 TraceCheckUtils]: 4: Hoare triple {7254#true} call #t~ret7 := main(); {7254#true} is VALID [2018-11-23 12:21:36,745 INFO L273 TraceCheckUtils]: 5: Hoare triple {7254#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {7254#true} is VALID [2018-11-23 12:21:36,745 INFO L273 TraceCheckUtils]: 6: Hoare triple {7254#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {7254#true} is VALID [2018-11-23 12:21:36,745 INFO L273 TraceCheckUtils]: 7: Hoare triple {7254#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {7254#true} is VALID [2018-11-23 12:21:36,745 INFO L273 TraceCheckUtils]: 8: Hoare triple {7254#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {7254#true} is VALID [2018-11-23 12:21:36,745 INFO L273 TraceCheckUtils]: 9: Hoare triple {7254#true} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {7254#true} is VALID [2018-11-23 12:21:36,745 INFO L273 TraceCheckUtils]: 10: Hoare triple {7254#true} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {7254#true} is VALID [2018-11-23 12:21:36,746 INFO L273 TraceCheckUtils]: 11: Hoare triple {7254#true} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {7256#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:36,746 INFO L273 TraceCheckUtils]: 12: Hoare triple {7256#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7256#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:36,746 INFO L273 TraceCheckUtils]: 13: Hoare triple {7256#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {7256#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:36,747 INFO L273 TraceCheckUtils]: 14: Hoare triple {7256#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {7256#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:36,747 INFO L273 TraceCheckUtils]: 15: Hoare triple {7256#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {7256#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:36,748 INFO L273 TraceCheckUtils]: 16: Hoare triple {7256#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {7255#false} is VALID [2018-11-23 12:21:36,748 INFO L273 TraceCheckUtils]: 17: Hoare triple {7255#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7255#false} is VALID [2018-11-23 12:21:36,748 INFO L273 TraceCheckUtils]: 18: Hoare triple {7255#false} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {7255#false} is VALID [2018-11-23 12:21:36,748 INFO L273 TraceCheckUtils]: 19: Hoare triple {7255#false} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {7255#false} is VALID [2018-11-23 12:21:36,748 INFO L273 TraceCheckUtils]: 20: Hoare triple {7255#false} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {7255#false} is VALID [2018-11-23 12:21:36,748 INFO L273 TraceCheckUtils]: 21: Hoare triple {7255#false} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {7255#false} is VALID [2018-11-23 12:21:36,748 INFO L273 TraceCheckUtils]: 22: Hoare triple {7255#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7255#false} is VALID [2018-11-23 12:21:36,748 INFO L273 TraceCheckUtils]: 23: Hoare triple {7255#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {7255#false} is VALID [2018-11-23 12:21:36,749 INFO L273 TraceCheckUtils]: 24: Hoare triple {7255#false} ~i~0 := 0; {7255#false} is VALID [2018-11-23 12:21:36,749 INFO L273 TraceCheckUtils]: 25: Hoare triple {7255#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; {7255#false} is VALID [2018-11-23 12:21:36,749 INFO L273 TraceCheckUtils]: 26: Hoare triple {7255#false} assume #t~short6; {7255#false} is VALID [2018-11-23 12:21:36,749 INFO L256 TraceCheckUtils]: 27: Hoare triple {7255#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {7254#true} is VALID [2018-11-23 12:21:36,749 INFO L273 TraceCheckUtils]: 28: Hoare triple {7254#true} ~cond := #in~cond; {7254#true} is VALID [2018-11-23 12:21:36,749 INFO L273 TraceCheckUtils]: 29: Hoare triple {7254#true} assume !(0 == ~cond); {7254#true} is VALID [2018-11-23 12:21:36,749 INFO L273 TraceCheckUtils]: 30: Hoare triple {7254#true} assume true; {7254#true} is VALID [2018-11-23 12:21:36,750 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {7254#true} {7255#false} #87#return; {7255#false} is VALID [2018-11-23 12:21:36,750 INFO L273 TraceCheckUtils]: 32: Hoare triple {7255#false} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {7255#false} is VALID [2018-11-23 12:21:36,750 INFO L273 TraceCheckUtils]: 33: Hoare triple {7255#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7255#false} is VALID [2018-11-23 12:21:36,750 INFO L273 TraceCheckUtils]: 34: Hoare triple {7255#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; {7255#false} is VALID [2018-11-23 12:21:36,750 INFO L273 TraceCheckUtils]: 35: Hoare triple {7255#false} assume #t~short6; {7255#false} is VALID [2018-11-23 12:21:36,751 INFO L256 TraceCheckUtils]: 36: Hoare triple {7255#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {7254#true} is VALID [2018-11-23 12:21:36,751 INFO L273 TraceCheckUtils]: 37: Hoare triple {7254#true} ~cond := #in~cond; {7254#true} is VALID [2018-11-23 12:21:36,751 INFO L273 TraceCheckUtils]: 38: Hoare triple {7254#true} assume !(0 == ~cond); {7254#true} is VALID [2018-11-23 12:21:36,751 INFO L273 TraceCheckUtils]: 39: Hoare triple {7254#true} assume true; {7254#true} is VALID [2018-11-23 12:21:36,751 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {7254#true} {7255#false} #87#return; {7255#false} is VALID [2018-11-23 12:21:36,752 INFO L273 TraceCheckUtils]: 41: Hoare triple {7255#false} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {7255#false} is VALID [2018-11-23 12:21:36,752 INFO L273 TraceCheckUtils]: 42: Hoare triple {7255#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7255#false} is VALID [2018-11-23 12:21:36,752 INFO L273 TraceCheckUtils]: 43: Hoare triple {7255#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; {7255#false} is VALID [2018-11-23 12:21:36,752 INFO L273 TraceCheckUtils]: 44: Hoare triple {7255#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {7255#false} is VALID [2018-11-23 12:21:36,752 INFO L256 TraceCheckUtils]: 45: Hoare triple {7255#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {7255#false} is VALID [2018-11-23 12:21:36,752 INFO L273 TraceCheckUtils]: 46: Hoare triple {7255#false} ~cond := #in~cond; {7255#false} is VALID [2018-11-23 12:21:36,752 INFO L273 TraceCheckUtils]: 47: Hoare triple {7255#false} assume 0 == ~cond; {7255#false} is VALID [2018-11-23 12:21:36,752 INFO L273 TraceCheckUtils]: 48: Hoare triple {7255#false} assume !false; {7255#false} is VALID [2018-11-23 12:21:36,754 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 20 proven. 0 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2018-11-23 12:21:36,754 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:21:36,754 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:21:36,754 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 49 [2018-11-23 12:21:36,754 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:36,755 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:21:36,789 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:36,789 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:21:36,789 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:21:36,789 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:21:36,790 INFO L87 Difference]: Start difference. First operand 179 states and 208 transitions. Second operand 3 states. [2018-11-23 12:21:37,772 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:37,773 INFO L93 Difference]: Finished difference Result 218 states and 253 transitions. [2018-11-23 12:21:37,773 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:21:37,773 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 49 [2018-11-23 12:21:37,773 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:37,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:21:37,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 67 transitions. [2018-11-23 12:21:37,774 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:21:37,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 67 transitions. [2018-11-23 12:21:37,774 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 67 transitions. [2018-11-23 12:21:37,846 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:21:37,850 INFO L225 Difference]: With dead ends: 218 [2018-11-23 12:21:37,851 INFO L226 Difference]: Without dead ends: 152 [2018-11-23 12:21:37,851 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,852 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 152 states. [2018-11-23 12:21:38,924 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 152 to 149. [2018-11-23 12:21:38,924 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:38,924 INFO L82 GeneralOperation]: Start isEquivalent. First operand 152 states. Second operand 149 states. [2018-11-23 12:21:38,924 INFO L74 IsIncluded]: Start isIncluded. First operand 152 states. Second operand 149 states. [2018-11-23 12:21:38,924 INFO L87 Difference]: Start difference. First operand 152 states. Second operand 149 states. [2018-11-23 12:21:38,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:38,927 INFO L93 Difference]: Finished difference Result 152 states and 174 transitions. [2018-11-23 12:21:38,927 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 174 transitions. [2018-11-23 12:21:38,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:38,928 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:38,928 INFO L74 IsIncluded]: Start isIncluded. First operand 149 states. Second operand 152 states. [2018-11-23 12:21:38,928 INFO L87 Difference]: Start difference. First operand 149 states. Second operand 152 states. [2018-11-23 12:21:38,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:38,931 INFO L93 Difference]: Finished difference Result 152 states and 174 transitions. [2018-11-23 12:21:38,931 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 174 transitions. [2018-11-23 12:21:38,932 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:38,932 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:38,932 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:38,932 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:38,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 149 states. [2018-11-23 12:21:38,936 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 149 states to 149 states and 171 transitions. [2018-11-23 12:21:38,936 INFO L78 Accepts]: Start accepts. Automaton has 149 states and 171 transitions. Word has length 49 [2018-11-23 12:21:38,936 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:38,936 INFO L480 AbstractCegarLoop]: Abstraction has 149 states and 171 transitions. [2018-11-23 12:21:38,936 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:21:38,936 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 171 transitions. [2018-11-23 12:21:38,937 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2018-11-23 12:21:38,937 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:38,937 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:38,937 INFO L423 AbstractCegarLoop]: === Iteration 17 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:38,938 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:38,938 INFO L82 PathProgramCache]: Analyzing trace with hash 14766060, now seen corresponding path program 3 times [2018-11-23 12:21:38,938 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:38,938 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:38,939 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:38,939 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:38,939 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:38,951 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:39,331 INFO L256 TraceCheckUtils]: 0: Hoare triple {8056#true} call ULTIMATE.init(); {8056#true} is VALID [2018-11-23 12:21:39,331 INFO L273 TraceCheckUtils]: 1: Hoare triple {8056#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {8056#true} is VALID [2018-11-23 12:21:39,331 INFO L273 TraceCheckUtils]: 2: Hoare triple {8056#true} assume true; {8056#true} is VALID [2018-11-23 12:21:39,332 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8056#true} {8056#true} #83#return; {8056#true} is VALID [2018-11-23 12:21:39,332 INFO L256 TraceCheckUtils]: 4: Hoare triple {8056#true} call #t~ret7 := main(); {8056#true} is VALID [2018-11-23 12:21:39,332 INFO L273 TraceCheckUtils]: 5: Hoare triple {8056#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {8056#true} is VALID [2018-11-23 12:21:39,332 INFO L273 TraceCheckUtils]: 6: Hoare triple {8056#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {8056#true} is VALID [2018-11-23 12:21:39,333 INFO L273 TraceCheckUtils]: 7: Hoare triple {8056#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {8058#(= main_~i~0 1)} is VALID [2018-11-23 12:21:39,333 INFO L273 TraceCheckUtils]: 8: Hoare triple {8058#(= main_~i~0 1)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {8058#(= main_~i~0 1)} is VALID [2018-11-23 12:21:39,334 INFO L273 TraceCheckUtils]: 9: Hoare triple {8058#(= main_~i~0 1)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {8059#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} is VALID [2018-11-23 12:21:39,334 INFO L273 TraceCheckUtils]: 10: Hoare triple {8059#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {8059#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} is VALID [2018-11-23 12:21:39,335 INFO L273 TraceCheckUtils]: 11: Hoare triple {8059#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {8059#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} is VALID [2018-11-23 12:21:39,335 INFO L273 TraceCheckUtils]: 12: Hoare triple {8059#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8060#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:21:39,336 INFO L273 TraceCheckUtils]: 13: Hoare triple {8060#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {8060#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:21:39,337 INFO L273 TraceCheckUtils]: 14: Hoare triple {8060#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {8061#(and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:39,338 INFO L273 TraceCheckUtils]: 15: Hoare triple {8061#(and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 12 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 * (3 * ~i~0 - 2), 4); {8061#(and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:39,340 INFO L273 TraceCheckUtils]: 16: Hoare triple {8061#(and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 12 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 * (3 * ~i~0 - 1), 4); {8061#(and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:39,341 INFO L273 TraceCheckUtils]: 17: Hoare triple {8061#(and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8062#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:39,341 INFO L273 TraceCheckUtils]: 18: Hoare triple {8062#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {8062#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:39,342 INFO L273 TraceCheckUtils]: 19: Hoare triple {8062#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} ~i~0 := 0; {8063#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:39,343 INFO L273 TraceCheckUtils]: 20: Hoare triple {8063#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |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; {8063#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:39,344 INFO L273 TraceCheckUtils]: 21: Hoare triple {8063#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} assume #t~short6; {8063#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:39,344 INFO L256 TraceCheckUtils]: 22: Hoare triple {8063#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {8056#true} is VALID [2018-11-23 12:21:39,344 INFO L273 TraceCheckUtils]: 23: Hoare triple {8056#true} ~cond := #in~cond; {8056#true} is VALID [2018-11-23 12:21:39,344 INFO L273 TraceCheckUtils]: 24: Hoare triple {8056#true} assume !(0 == ~cond); {8056#true} is VALID [2018-11-23 12:21:39,345 INFO L273 TraceCheckUtils]: 25: Hoare triple {8056#true} assume true; {8056#true} is VALID [2018-11-23 12:21:39,346 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {8056#true} {8063#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} #87#return; {8063#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:39,346 INFO L273 TraceCheckUtils]: 27: Hoare triple {8063#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {8063#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:39,348 INFO L273 TraceCheckUtils]: 28: Hoare triple {8063#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8064#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:39,348 INFO L273 TraceCheckUtils]: 29: Hoare triple {8064#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |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; {8064#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:39,349 INFO L273 TraceCheckUtils]: 30: Hoare triple {8064#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} assume #t~short6; {8064#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:39,349 INFO L256 TraceCheckUtils]: 31: Hoare triple {8064#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {8056#true} is VALID [2018-11-23 12:21:39,349 INFO L273 TraceCheckUtils]: 32: Hoare triple {8056#true} ~cond := #in~cond; {8056#true} is VALID [2018-11-23 12:21:39,349 INFO L273 TraceCheckUtils]: 33: Hoare triple {8056#true} assume !(0 == ~cond); {8056#true} is VALID [2018-11-23 12:21:39,350 INFO L273 TraceCheckUtils]: 34: Hoare triple {8056#true} assume true; {8056#true} is VALID [2018-11-23 12:21:39,351 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {8056#true} {8064#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} #87#return; {8064#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:39,351 INFO L273 TraceCheckUtils]: 36: Hoare triple {8064#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {8064#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:39,352 INFO L273 TraceCheckUtils]: 37: Hoare triple {8064#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8065#(<= 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:21:39,352 INFO L273 TraceCheckUtils]: 38: Hoare triple {8065#(<= 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; {8065#(<= 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:21:39,352 INFO L273 TraceCheckUtils]: 39: Hoare triple {8065#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} assume #t~short6; {8065#(<= 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:21:39,352 INFO L256 TraceCheckUtils]: 40: Hoare triple {8065#(<= 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)); {8056#true} is VALID [2018-11-23 12:21:39,353 INFO L273 TraceCheckUtils]: 41: Hoare triple {8056#true} ~cond := #in~cond; {8056#true} is VALID [2018-11-23 12:21:39,353 INFO L273 TraceCheckUtils]: 42: Hoare triple {8056#true} assume !(0 == ~cond); {8056#true} is VALID [2018-11-23 12:21:39,353 INFO L273 TraceCheckUtils]: 43: Hoare triple {8056#true} assume true; {8056#true} is VALID [2018-11-23 12:21:39,354 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {8056#true} {8065#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} #87#return; {8065#(<= 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:21:39,355 INFO L273 TraceCheckUtils]: 45: Hoare triple {8065#(<= 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; {8065#(<= 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:21:39,356 INFO L273 TraceCheckUtils]: 46: Hoare triple {8065#(<= 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; {8066#(<= 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:39,356 INFO L273 TraceCheckUtils]: 47: Hoare triple {8066#(<= 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; {8067#|main_#t~short6|} is VALID [2018-11-23 12:21:39,377 INFO L273 TraceCheckUtils]: 48: Hoare triple {8067#|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; {8057#false} is VALID [2018-11-23 12:21:39,377 INFO L256 TraceCheckUtils]: 49: Hoare triple {8057#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {8057#false} is VALID [2018-11-23 12:21:39,377 INFO L273 TraceCheckUtils]: 50: Hoare triple {8057#false} ~cond := #in~cond; {8057#false} is VALID [2018-11-23 12:21:39,377 INFO L273 TraceCheckUtils]: 51: Hoare triple {8057#false} assume 0 == ~cond; {8057#false} is VALID [2018-11-23 12:21:39,378 INFO L273 TraceCheckUtils]: 52: Hoare triple {8057#false} assume !false; {8057#false} is VALID [2018-11-23 12:21:39,383 INFO L134 CoverageAnalysis]: Checked inductivity of 49 backedges. 9 proven. 28 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:21:39,383 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:21:39,383 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:21:39,392 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:21:39,428 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 12:21:39,428 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:21:39,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:39,444 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:21:39,559 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:39,567 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:39,572 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:39,575 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:39,592 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:39,592 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:19 [2018-11-23 12:21:39,596 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:39,597 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_29|, main_~CCCELVOL3~0]. (and (= main_~i~0 2) (= (store |v_#memory_int_29| |main_~#volArray~0.base| (store (select |v_#memory_int_29| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)) main_~CCCELVOL3~0)) |#memory_int|) (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0)) [2018-11-23 12:21:39,597 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12))))) [2018-11-23 12:21:39,720 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:39,732 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:39,736 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:39,742 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:39,752 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:39,770 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:39,770 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-23 12:21:39,776 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:39,776 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_30|, main_~CCCELVOL2~0]. (let ((.cse0 (select |v_#memory_int_30| |main_~#volArray~0.base|)) (.cse1 (* 12 main_~i~0))) (and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 12)))) (= |#memory_int| (store |v_#memory_int_30| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 8)) main_~CCCELVOL2~0))))) [2018-11-23 12:21:39,776 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12))))) [2018-11-23 12:21:39,803 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:39,811 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:39,813 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:39,818 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:39,821 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:39,832 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:39,852 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:39,852 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:26, output treesize:22 [2018-11-23 12:21:40,588 INFO L256 TraceCheckUtils]: 0: Hoare triple {8056#true} call ULTIMATE.init(); {8056#true} is VALID [2018-11-23 12:21:40,588 INFO L273 TraceCheckUtils]: 1: Hoare triple {8056#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {8056#true} is VALID [2018-11-23 12:21:40,588 INFO L273 TraceCheckUtils]: 2: Hoare triple {8056#true} assume true; {8056#true} is VALID [2018-11-23 12:21:40,589 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8056#true} {8056#true} #83#return; {8056#true} is VALID [2018-11-23 12:21:40,589 INFO L256 TraceCheckUtils]: 4: Hoare triple {8056#true} call #t~ret7 := main(); {8056#true} is VALID [2018-11-23 12:21:40,589 INFO L273 TraceCheckUtils]: 5: Hoare triple {8056#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {8056#true} is VALID [2018-11-23 12:21:40,590 INFO L273 TraceCheckUtils]: 6: Hoare triple {8056#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {8089#(and (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:21:40,591 INFO L273 TraceCheckUtils]: 7: Hoare triple {8089#(and (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {8093#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:21:40,591 INFO L273 TraceCheckUtils]: 8: Hoare triple {8093#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 7 main_~CCCELVOL3~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {8093#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:21:40,592 INFO L273 TraceCheckUtils]: 9: Hoare triple {8093#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {8093#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:21:40,592 INFO L273 TraceCheckUtils]: 10: Hoare triple {8093#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {8093#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:21:40,593 INFO L273 TraceCheckUtils]: 11: Hoare triple {8093#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {8093#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:21:40,593 INFO L273 TraceCheckUtils]: 12: Hoare triple {8093#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 7 main_~CCCELVOL3~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8109#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:21:40,594 INFO L273 TraceCheckUtils]: 13: Hoare triple {8109#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {8109#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:21:40,595 INFO L273 TraceCheckUtils]: 14: Hoare triple {8109#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {8116#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} is VALID [2018-11-23 12:21:40,597 INFO L273 TraceCheckUtils]: 15: Hoare triple {8116#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {8116#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} is VALID [2018-11-23 12:21:40,598 INFO L273 TraceCheckUtils]: 16: Hoare triple {8116#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {8123#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:21:40,599 INFO L273 TraceCheckUtils]: 17: Hoare triple {8123#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8123#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:21:40,600 INFO L273 TraceCheckUtils]: 18: Hoare triple {8123#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {8123#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:21:40,600 INFO L273 TraceCheckUtils]: 19: Hoare triple {8123#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} ~i~0 := 0; {8133#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:40,601 INFO L273 TraceCheckUtils]: 20: Hoare triple {8133#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |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; {8133#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:40,602 INFO L273 TraceCheckUtils]: 21: Hoare triple {8133#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 0))} assume #t~short6; {8133#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:40,604 INFO L256 TraceCheckUtils]: 22: Hoare triple {8133#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} is VALID [2018-11-23 12:21:40,605 INFO L273 TraceCheckUtils]: 23: Hoare triple {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} ~cond := #in~cond; {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} is VALID [2018-11-23 12:21:40,605 INFO L273 TraceCheckUtils]: 24: Hoare triple {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} assume !(0 == ~cond); {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} is VALID [2018-11-23 12:21:40,606 INFO L273 TraceCheckUtils]: 25: Hoare triple {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} assume true; {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} is VALID [2018-11-23 12:21:40,607 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} {8133#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 0))} #87#return; {8133#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:40,608 INFO L273 TraceCheckUtils]: 27: Hoare triple {8133#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {8133#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:40,609 INFO L273 TraceCheckUtils]: 28: Hoare triple {8133#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8162#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 1))} is VALID [2018-11-23 12:21:40,610 INFO L273 TraceCheckUtils]: 29: Hoare triple {8162#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 1))} 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; {8162#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 1))} is VALID [2018-11-23 12:21:40,611 INFO L273 TraceCheckUtils]: 30: Hoare triple {8162#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 1))} assume #t~short6; {8162#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 1))} is VALID [2018-11-23 12:21:40,613 INFO L256 TraceCheckUtils]: 31: Hoare triple {8162#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 1))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} is VALID [2018-11-23 12:21:40,614 INFO L273 TraceCheckUtils]: 32: Hoare triple {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} ~cond := #in~cond; {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} is VALID [2018-11-23 12:21:40,614 INFO L273 TraceCheckUtils]: 33: Hoare triple {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} assume !(0 == ~cond); {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} is VALID [2018-11-23 12:21:40,615 INFO L273 TraceCheckUtils]: 34: Hoare triple {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} assume true; {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} is VALID [2018-11-23 12:21:40,616 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} {8162#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 1))} #87#return; {8162#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 1))} is VALID [2018-11-23 12:21:40,616 INFO L273 TraceCheckUtils]: 36: Hoare triple {8162#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 1))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {8162#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 1))} is VALID [2018-11-23 12:21:40,617 INFO L273 TraceCheckUtils]: 37: Hoare triple {8162#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) (= main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8190#(and (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:21:40,618 INFO L273 TraceCheckUtils]: 38: Hoare triple {8190#(and (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |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; {8190#(and (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:21:40,619 INFO L273 TraceCheckUtils]: 39: Hoare triple {8190#(and (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume #t~short6; {8190#(and (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:21:40,621 INFO L256 TraceCheckUtils]: 40: Hoare triple {8190#(and (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} is VALID [2018-11-23 12:21:40,622 INFO L273 TraceCheckUtils]: 41: Hoare triple {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} ~cond := #in~cond; {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} is VALID [2018-11-23 12:21:40,622 INFO L273 TraceCheckUtils]: 42: Hoare triple {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} assume !(0 == ~cond); {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} is VALID [2018-11-23 12:21:40,623 INFO L273 TraceCheckUtils]: 43: Hoare triple {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} assume true; {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} is VALID [2018-11-23 12:21:40,624 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {8143#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_7| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 20))) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_7| 12)))))} {8190#(and (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #87#return; {8190#(and (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:21:40,625 INFO L273 TraceCheckUtils]: 45: Hoare triple {8190#(and (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {8190#(and (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:21:40,626 INFO L273 TraceCheckUtils]: 46: Hoare triple {8190#(and (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8218#(and (= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:21:40,627 INFO L273 TraceCheckUtils]: 47: Hoare triple {8218#(and (= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |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; {8222#(and (= main_~i~0 3) |main_#t~short6| (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:21:40,627 INFO L273 TraceCheckUtils]: 48: Hoare triple {8222#(and (= main_~i~0 3) |main_#t~short6| (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {8057#false} is VALID [2018-11-23 12:21:40,628 INFO L256 TraceCheckUtils]: 49: Hoare triple {8057#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {8057#false} is VALID [2018-11-23 12:21:40,628 INFO L273 TraceCheckUtils]: 50: Hoare triple {8057#false} ~cond := #in~cond; {8057#false} is VALID [2018-11-23 12:21:40,628 INFO L273 TraceCheckUtils]: 51: Hoare triple {8057#false} assume 0 == ~cond; {8057#false} is VALID [2018-11-23 12:21:40,628 INFO L273 TraceCheckUtils]: 52: Hoare triple {8057#false} assume !false; {8057#false} is VALID [2018-11-23 12:21:40,638 INFO L134 CoverageAnalysis]: Checked inductivity of 49 backedges. 9 proven. 28 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:21:40,657 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:21:40,657 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 23 [2018-11-23 12:21:40,658 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 53 [2018-11-23 12:21:40,658 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:40,658 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-23 12:21:40,809 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:40,809 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-23 12:21:40,809 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-23 12:21:40,810 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=433, Unknown=0, NotChecked=0, Total=506 [2018-11-23 12:21:40,810 INFO L87 Difference]: Start difference. First operand 149 states and 171 transitions. Second operand 23 states. [2018-11-23 12:21:41,937 WARN L180 SmtUtils]: Spent 154.00 ms on a formula simplification that was a NOOP. DAG size: 20 [2018-11-23 12:21:43,177 WARN L180 SmtUtils]: Spent 180.00 ms on a formula simplification that was a NOOP. DAG size: 27 [2018-11-23 12:21:51,291 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:51,291 INFO L93 Difference]: Finished difference Result 302 states and 356 transitions. [2018-11-23 12:21:51,291 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 44 states. [2018-11-23 12:21:51,291 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 53 [2018-11-23 12:21:51,291 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:51,292 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:21:51,295 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 222 transitions. [2018-11-23 12:21:51,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:21:51,298 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 222 transitions. [2018-11-23 12:21:51,299 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 44 states and 222 transitions. [2018-11-23 12:21:51,645 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 222 edges. 222 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:51,653 INFO L225 Difference]: With dead ends: 302 [2018-11-23 12:21:51,653 INFO L226 Difference]: Without dead ends: 258 [2018-11-23 12:21:51,655 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 38 SyntacticMatches, 7 SemanticMatches, 59 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1042 ImplicationChecksByTransitivity, 3.7s TimeCoverageRelationStatistics Valid=536, Invalid=3124, Unknown=0, NotChecked=0, Total=3660 [2018-11-23 12:21:51,656 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 258 states. [2018-11-23 12:21:53,905 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 258 to 187. [2018-11-23 12:21:53,906 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:53,906 INFO L82 GeneralOperation]: Start isEquivalent. First operand 258 states. Second operand 187 states. [2018-11-23 12:21:53,906 INFO L74 IsIncluded]: Start isIncluded. First operand 258 states. Second operand 187 states. [2018-11-23 12:21:53,906 INFO L87 Difference]: Start difference. First operand 258 states. Second operand 187 states. [2018-11-23 12:21:53,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:53,914 INFO L93 Difference]: Finished difference Result 258 states and 303 transitions. [2018-11-23 12:21:53,914 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 303 transitions. [2018-11-23 12:21:53,915 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:53,915 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:53,915 INFO L74 IsIncluded]: Start isIncluded. First operand 187 states. Second operand 258 states. [2018-11-23 12:21:53,916 INFO L87 Difference]: Start difference. First operand 187 states. Second operand 258 states. [2018-11-23 12:21:53,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:53,923 INFO L93 Difference]: Finished difference Result 258 states and 303 transitions. [2018-11-23 12:21:53,923 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 303 transitions. [2018-11-23 12:21:53,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:53,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:53,924 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:53,925 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:53,925 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 187 states. [2018-11-23 12:21:53,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 187 states to 187 states and 222 transitions. [2018-11-23 12:21:53,930 INFO L78 Accepts]: Start accepts. Automaton has 187 states and 222 transitions. Word has length 53 [2018-11-23 12:21:53,930 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:53,930 INFO L480 AbstractCegarLoop]: Abstraction has 187 states and 222 transitions. [2018-11-23 12:21:53,930 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-23 12:21:53,930 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 222 transitions. [2018-11-23 12:21:53,931 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2018-11-23 12:21:53,931 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:53,931 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:53,932 INFO L423 AbstractCegarLoop]: === Iteration 18 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:53,932 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:53,932 INFO L82 PathProgramCache]: Analyzing trace with hash -604096212, now seen corresponding path program 1 times [2018-11-23 12:21:53,932 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:53,932 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:53,933 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:53,933 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:21:53,933 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:53,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:54,783 WARN L180 SmtUtils]: Spent 195.00 ms on a formula simplification. DAG size of input: 22 DAG size of output: 19 [2018-11-23 12:21:55,230 INFO L256 TraceCheckUtils]: 0: Hoare triple {9482#true} call ULTIMATE.init(); {9482#true} is VALID [2018-11-23 12:21:55,230 INFO L273 TraceCheckUtils]: 1: Hoare triple {9482#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {9482#true} is VALID [2018-11-23 12:21:55,230 INFO L273 TraceCheckUtils]: 2: Hoare triple {9482#true} assume true; {9482#true} is VALID [2018-11-23 12:21:55,230 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9482#true} {9482#true} #83#return; {9482#true} is VALID [2018-11-23 12:21:55,231 INFO L256 TraceCheckUtils]: 4: Hoare triple {9482#true} call #t~ret7 := main(); {9482#true} is VALID [2018-11-23 12:21:55,231 INFO L273 TraceCheckUtils]: 5: Hoare triple {9482#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {9482#true} is VALID [2018-11-23 12:21:55,231 INFO L273 TraceCheckUtils]: 6: Hoare triple {9482#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {9482#true} is VALID [2018-11-23 12:21:55,232 INFO L273 TraceCheckUtils]: 7: Hoare triple {9482#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {9484#(= main_~i~0 1)} is VALID [2018-11-23 12:21:55,232 INFO L273 TraceCheckUtils]: 8: Hoare triple {9484#(= main_~i~0 1)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {9484#(= main_~i~0 1)} is VALID [2018-11-23 12:21:55,234 INFO L273 TraceCheckUtils]: 9: Hoare triple {9484#(= main_~i~0 1)} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {9484#(= main_~i~0 1)} is VALID [2018-11-23 12:21:55,234 INFO L273 TraceCheckUtils]: 10: Hoare triple {9484#(= main_~i~0 1)} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {9484#(= main_~i~0 1)} is VALID [2018-11-23 12:21:55,236 INFO L273 TraceCheckUtils]: 11: Hoare triple {9484#(= main_~i~0 1)} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {9484#(= main_~i~0 1)} is VALID [2018-11-23 12:21:55,238 INFO L273 TraceCheckUtils]: 12: Hoare triple {9484#(= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9485#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:21:55,238 INFO L273 TraceCheckUtils]: 13: Hoare triple {9485#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {9485#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:21:55,240 INFO L273 TraceCheckUtils]: 14: Hoare triple {9485#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {9486#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:55,240 INFO L273 TraceCheckUtils]: 15: Hoare triple {9486#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {9486#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:55,242 INFO L273 TraceCheckUtils]: 16: Hoare triple {9486#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {9486#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:55,242 INFO L273 TraceCheckUtils]: 17: Hoare triple {9486#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9487#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:55,244 INFO L273 TraceCheckUtils]: 18: Hoare triple {9487#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {9487#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:55,244 INFO L273 TraceCheckUtils]: 19: Hoare triple {9487#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} ~i~0 := 0; {9488#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:55,246 INFO L273 TraceCheckUtils]: 20: Hoare triple {9488#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |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; {9488#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:55,246 INFO L273 TraceCheckUtils]: 21: Hoare triple {9488#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} assume #t~short6; {9488#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:55,247 INFO L256 TraceCheckUtils]: 22: Hoare triple {9488#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9482#true} is VALID [2018-11-23 12:21:55,247 INFO L273 TraceCheckUtils]: 23: Hoare triple {9482#true} ~cond := #in~cond; {9482#true} is VALID [2018-11-23 12:21:55,247 INFO L273 TraceCheckUtils]: 24: Hoare triple {9482#true} assume !(0 == ~cond); {9482#true} is VALID [2018-11-23 12:21:55,247 INFO L273 TraceCheckUtils]: 25: Hoare triple {9482#true} assume true; {9482#true} is VALID [2018-11-23 12:21:55,253 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {9482#true} {9488#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} #87#return; {9488#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:55,254 INFO L273 TraceCheckUtils]: 27: Hoare triple {9488#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {9488#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:55,255 INFO L273 TraceCheckUtils]: 28: Hoare triple {9488#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9489#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:55,255 INFO L273 TraceCheckUtils]: 29: Hoare triple {9489#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |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; {9489#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:55,257 INFO L273 TraceCheckUtils]: 30: Hoare triple {9489#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} assume #t~short6; {9489#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:55,257 INFO L256 TraceCheckUtils]: 31: Hoare triple {9489#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9482#true} is VALID [2018-11-23 12:21:55,257 INFO L273 TraceCheckUtils]: 32: Hoare triple {9482#true} ~cond := #in~cond; {9482#true} is VALID [2018-11-23 12:21:55,257 INFO L273 TraceCheckUtils]: 33: Hoare triple {9482#true} assume !(0 == ~cond); {9482#true} is VALID [2018-11-23 12:21:55,258 INFO L273 TraceCheckUtils]: 34: Hoare triple {9482#true} assume true; {9482#true} is VALID [2018-11-23 12:21:55,259 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {9482#true} {9489#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} #87#return; {9489#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:55,277 INFO L273 TraceCheckUtils]: 36: Hoare triple {9489#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {9489#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:55,292 INFO L273 TraceCheckUtils]: 37: Hoare triple {9489#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9490#(= 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:21:55,294 INFO L273 TraceCheckUtils]: 38: Hoare triple {9490#(= 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; {9490#(= 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:21:55,295 INFO L273 TraceCheckUtils]: 39: Hoare triple {9490#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} assume #t~short6; {9490#(= 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:21:55,295 INFO L256 TraceCheckUtils]: 40: Hoare triple {9490#(= 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)); {9482#true} is VALID [2018-11-23 12:21:55,295 INFO L273 TraceCheckUtils]: 41: Hoare triple {9482#true} ~cond := #in~cond; {9482#true} is VALID [2018-11-23 12:21:55,295 INFO L273 TraceCheckUtils]: 42: Hoare triple {9482#true} assume !(0 == ~cond); {9482#true} is VALID [2018-11-23 12:21:55,296 INFO L273 TraceCheckUtils]: 43: Hoare triple {9482#true} assume true; {9482#true} is VALID [2018-11-23 12:21:55,305 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {9482#true} {9490#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} #87#return; {9490#(= 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:21:55,318 INFO L273 TraceCheckUtils]: 45: Hoare triple {9490#(= 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; {9490#(= 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:21:55,334 INFO L273 TraceCheckUtils]: 46: Hoare triple {9490#(= 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; {9491#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:21:55,343 INFO L273 TraceCheckUtils]: 47: Hoare triple {9491#(= 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; {9491#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:21:55,355 INFO L273 TraceCheckUtils]: 48: Hoare triple {9491#(= 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; {9492#|main_#t~short6|} is VALID [2018-11-23 12:21:55,368 INFO L256 TraceCheckUtils]: 49: Hoare triple {9492#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9493#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-23 12:21:55,379 INFO L273 TraceCheckUtils]: 50: Hoare triple {9493#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {9494#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:21:55,379 INFO L273 TraceCheckUtils]: 51: Hoare triple {9494#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {9483#false} is VALID [2018-11-23 12:21:55,379 INFO L273 TraceCheckUtils]: 52: Hoare triple {9483#false} assume !false; {9483#false} is VALID [2018-11-23 12:21:55,385 INFO L134 CoverageAnalysis]: Checked inductivity of 49 backedges. 6 proven. 31 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:21:55,385 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:21:55,385 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:21:55,399 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:55,423 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:55,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:55,442 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:21:55,535 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:55,541 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:55,545 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:55,549 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:55,556 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:55,557 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-23 12:21:55,662 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:55,684 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:55,685 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:55,688 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:55,697 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:55,708 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:55,708 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-23 12:21:55,762 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:55,772 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:55,773 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:55,773 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:55,774 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:55,777 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:55,788 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:55,797 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:55,797 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-23 12:21:56,460 INFO L256 TraceCheckUtils]: 0: Hoare triple {9482#true} call ULTIMATE.init(); {9482#true} is VALID [2018-11-23 12:21:56,461 INFO L273 TraceCheckUtils]: 1: Hoare triple {9482#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {9482#true} is VALID [2018-11-23 12:21:56,461 INFO L273 TraceCheckUtils]: 2: Hoare triple {9482#true} assume true; {9482#true} is VALID [2018-11-23 12:21:56,461 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9482#true} {9482#true} #83#return; {9482#true} is VALID [2018-11-23 12:21:56,461 INFO L256 TraceCheckUtils]: 4: Hoare triple {9482#true} call #t~ret7 := main(); {9482#true} is VALID [2018-11-23 12:21:56,462 INFO L273 TraceCheckUtils]: 5: Hoare triple {9482#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {9482#true} is VALID [2018-11-23 12:21:56,462 INFO L273 TraceCheckUtils]: 6: Hoare triple {9482#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {9516#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:21:56,463 INFO L273 TraceCheckUtils]: 7: Hoare triple {9516#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {9520#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:56,463 INFO L273 TraceCheckUtils]: 8: Hoare triple {9520#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {9520#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:56,464 INFO L273 TraceCheckUtils]: 9: Hoare triple {9520#(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 * (3 * ~i~0 - 3), 4); {9520#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:56,464 INFO L273 TraceCheckUtils]: 10: Hoare triple {9520#(and (= 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 * (3 * ~i~0 - 2), 4); {9520#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:56,465 INFO L273 TraceCheckUtils]: 11: Hoare triple {9520#(and (= 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 * (3 * ~i~0 - 1), 4); {9520#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:56,466 INFO L273 TraceCheckUtils]: 12: Hoare triple {9520#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9536#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:56,466 INFO L273 TraceCheckUtils]: 13: Hoare triple {9536#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {9536#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:56,467 INFO L273 TraceCheckUtils]: 14: Hoare triple {9536#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {9543#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} is VALID [2018-11-23 12:21:56,469 INFO L273 TraceCheckUtils]: 15: Hoare triple {9543#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {9547#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8))) 0) (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} is VALID [2018-11-23 12:21:56,470 INFO L273 TraceCheckUtils]: 16: Hoare triple {9547#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8))) 0) (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {9551#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:21:56,471 INFO L273 TraceCheckUtils]: 17: Hoare triple {9551#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9551#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:21:56,472 INFO L273 TraceCheckUtils]: 18: Hoare triple {9551#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {9551#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:21:56,473 INFO L273 TraceCheckUtils]: 19: Hoare triple {9551#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} ~i~0 := 0; {9561#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:56,474 INFO L273 TraceCheckUtils]: 20: Hoare triple {9561#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= 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; {9561#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:56,475 INFO L273 TraceCheckUtils]: 21: Hoare triple {9561#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} assume #t~short6; {9561#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:56,476 INFO L256 TraceCheckUtils]: 22: Hoare triple {9561#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-23 12:21:56,477 INFO L273 TraceCheckUtils]: 23: Hoare triple {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} ~cond := #in~cond; {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-23 12:21:56,478 INFO L273 TraceCheckUtils]: 24: Hoare triple {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} assume !(0 == ~cond); {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-23 12:21:56,478 INFO L273 TraceCheckUtils]: 25: Hoare triple {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} assume true; {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-23 12:21:56,479 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} {9561#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} #87#return; {9561#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:56,480 INFO L273 TraceCheckUtils]: 27: Hoare triple {9561#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {9561#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:56,481 INFO L273 TraceCheckUtils]: 28: Hoare triple {9561#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9590#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:21:56,482 INFO L273 TraceCheckUtils]: 29: Hoare triple {9590#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} 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; {9590#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:21:56,483 INFO L273 TraceCheckUtils]: 30: Hoare triple {9590#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume #t~short6; {9590#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:21:56,484 INFO L256 TraceCheckUtils]: 31: Hoare triple {9590#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-23 12:21:56,485 INFO L273 TraceCheckUtils]: 32: Hoare triple {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} ~cond := #in~cond; {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-23 12:21:56,486 INFO L273 TraceCheckUtils]: 33: Hoare triple {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} assume !(0 == ~cond); {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-23 12:21:56,486 INFO L273 TraceCheckUtils]: 34: Hoare triple {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} assume true; {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-23 12:21:56,487 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} {9590#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #87#return; {9590#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:21:56,488 INFO L273 TraceCheckUtils]: 36: Hoare triple {9590#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {9590#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:21:56,489 INFO L273 TraceCheckUtils]: 37: Hoare triple {9590#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9618#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:21:56,490 INFO L273 TraceCheckUtils]: 38: Hoare triple {9618#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} 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; {9618#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:21:56,491 INFO L273 TraceCheckUtils]: 39: Hoare triple {9618#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume #t~short6; {9618#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:21:56,493 INFO L256 TraceCheckUtils]: 40: Hoare triple {9618#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-23 12:21:56,493 INFO L273 TraceCheckUtils]: 41: Hoare triple {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} ~cond := #in~cond; {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-23 12:21:56,494 INFO L273 TraceCheckUtils]: 42: Hoare triple {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} assume !(0 == ~cond); {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-23 12:21:56,494 INFO L273 TraceCheckUtils]: 43: Hoare triple {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} assume true; {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-23 12:21:56,495 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {9571#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} {9618#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #87#return; {9618#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:21:56,496 INFO L273 TraceCheckUtils]: 45: Hoare triple {9618#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {9618#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:21:56,497 INFO L273 TraceCheckUtils]: 46: Hoare triple {9618#(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| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9646#(and (= main_~i~0 3) (= (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) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:21:56,498 INFO L273 TraceCheckUtils]: 47: Hoare triple {9646#(and (= main_~i~0 3) (= (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) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} 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; {9646#(and (= main_~i~0 3) (= (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) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:21:56,499 INFO L273 TraceCheckUtils]: 48: Hoare triple {9646#(and (= main_~i~0 3) (= (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) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {9492#|main_#t~short6|} is VALID [2018-11-23 12:21:56,500 INFO L256 TraceCheckUtils]: 49: Hoare triple {9492#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9656#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:21:56,501 INFO L273 TraceCheckUtils]: 50: Hoare triple {9656#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {9660#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:21:56,501 INFO L273 TraceCheckUtils]: 51: Hoare triple {9660#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9483#false} is VALID [2018-11-23 12:21:56,501 INFO L273 TraceCheckUtils]: 52: Hoare triple {9483#false} assume !false; {9483#false} is VALID [2018-11-23 12:21:56,513 INFO L134 CoverageAnalysis]: Checked inductivity of 49 backedges. 0 proven. 37 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:21:56,532 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:21:56,532 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 16] total 26 [2018-11-23 12:21:56,533 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 53 [2018-11-23 12:21:56,533 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:56,533 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states. [2018-11-23 12:21:56,640 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:56,641 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2018-11-23 12:21:56,641 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2018-11-23 12:21:56,643 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=106, Invalid=544, Unknown=0, NotChecked=0, Total=650 [2018-11-23 12:21:56,644 INFO L87 Difference]: Start difference. First operand 187 states and 222 transitions. Second operand 26 states. [2018-11-23 12:22:02,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:02,774 INFO L93 Difference]: Finished difference Result 286 states and 333 transitions. [2018-11-23 12:22:02,775 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2018-11-23 12:22:02,775 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 53 [2018-11-23 12:22:02,775 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:02,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:22:02,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 166 transitions. [2018-11-23 12:22:02,777 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:22:02,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 166 transitions. [2018-11-23 12:22:02,779 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 36 states and 166 transitions. [2018-11-23 12:22:03,069 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 166 edges. 166 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:03,076 INFO L225 Difference]: With dead ends: 286 [2018-11-23 12:22:03,077 INFO L226 Difference]: Without dead ends: 284 [2018-11-23 12:22:03,078 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 91 GetRequests, 37 SyntacticMatches, 7 SemanticMatches, 47 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 656 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=343, Invalid=2009, Unknown=0, NotChecked=0, Total=2352 [2018-11-23 12:22:03,078 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 284 states. [2018-11-23 12:22:05,783 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 284 to 231. [2018-11-23 12:22:05,783 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:05,783 INFO L82 GeneralOperation]: Start isEquivalent. First operand 284 states. Second operand 231 states. [2018-11-23 12:22:05,783 INFO L74 IsIncluded]: Start isIncluded. First operand 284 states. Second operand 231 states. [2018-11-23 12:22:05,784 INFO L87 Difference]: Start difference. First operand 284 states. Second operand 231 states. [2018-11-23 12:22:05,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:05,792 INFO L93 Difference]: Finished difference Result 284 states and 331 transitions. [2018-11-23 12:22:05,792 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 331 transitions. [2018-11-23 12:22:05,793 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:05,793 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:05,794 INFO L74 IsIncluded]: Start isIncluded. First operand 231 states. Second operand 284 states. [2018-11-23 12:22:05,794 INFO L87 Difference]: Start difference. First operand 231 states. Second operand 284 states. [2018-11-23 12:22:05,802 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:05,802 INFO L93 Difference]: Finished difference Result 284 states and 331 transitions. [2018-11-23 12:22:05,803 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 331 transitions. [2018-11-23 12:22:05,804 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:05,804 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:05,804 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:05,804 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:05,804 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 231 states. [2018-11-23 12:22:05,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 231 states to 231 states and 274 transitions. [2018-11-23 12:22:05,811 INFO L78 Accepts]: Start accepts. Automaton has 231 states and 274 transitions. Word has length 53 [2018-11-23 12:22:05,811 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:05,811 INFO L480 AbstractCegarLoop]: Abstraction has 231 states and 274 transitions. [2018-11-23 12:22:05,812 INFO L481 AbstractCegarLoop]: Interpolant automaton has 26 states. [2018-11-23 12:22:05,812 INFO L276 IsEmpty]: Start isEmpty. Operand 231 states and 274 transitions. [2018-11-23 12:22:05,813 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2018-11-23 12:22:05,813 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:05,813 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:05,814 INFO L423 AbstractCegarLoop]: === Iteration 19 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:05,814 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:05,814 INFO L82 PathProgramCache]: Analyzing trace with hash 2102304903, now seen corresponding path program 4 times [2018-11-23 12:22:05,814 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:05,814 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:05,815 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:05,815 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:05,815 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:05,829 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:06,411 INFO L256 TraceCheckUtils]: 0: Hoare triple {10975#true} call ULTIMATE.init(); {10975#true} is VALID [2018-11-23 12:22:06,412 INFO L273 TraceCheckUtils]: 1: Hoare triple {10975#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {10975#true} is VALID [2018-11-23 12:22:06,412 INFO L273 TraceCheckUtils]: 2: Hoare triple {10975#true} assume true; {10975#true} is VALID [2018-11-23 12:22:06,412 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10975#true} {10975#true} #83#return; {10975#true} is VALID [2018-11-23 12:22:06,413 INFO L256 TraceCheckUtils]: 4: Hoare triple {10975#true} call #t~ret7 := main(); {10975#true} is VALID [2018-11-23 12:22:06,413 INFO L273 TraceCheckUtils]: 5: Hoare triple {10975#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {10975#true} is VALID [2018-11-23 12:22:06,413 INFO L273 TraceCheckUtils]: 6: Hoare triple {10975#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {10975#true} is VALID [2018-11-23 12:22:06,414 INFO L273 TraceCheckUtils]: 7: Hoare triple {10975#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {10977#(= main_~i~0 1)} is VALID [2018-11-23 12:22:06,414 INFO L273 TraceCheckUtils]: 8: Hoare triple {10977#(= main_~i~0 1)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {10977#(= main_~i~0 1)} is VALID [2018-11-23 12:22:06,415 INFO L273 TraceCheckUtils]: 9: Hoare triple {10977#(= main_~i~0 1)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {10977#(= main_~i~0 1)} is VALID [2018-11-23 12:22:06,415 INFO L273 TraceCheckUtils]: 10: Hoare triple {10977#(= main_~i~0 1)} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {10978#(and (= main_~i~0 1) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:22:06,416 INFO L273 TraceCheckUtils]: 11: Hoare triple {10978#(and (= main_~i~0 1) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {10978#(and (= main_~i~0 1) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:22:06,416 INFO L273 TraceCheckUtils]: 12: Hoare triple {10978#(and (= main_~i~0 1) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10979#(and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:22:06,417 INFO L273 TraceCheckUtils]: 13: Hoare triple {10979#(and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {10979#(and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:22:06,417 INFO L273 TraceCheckUtils]: 14: Hoare triple {10979#(and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {10979#(and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:22:06,418 INFO L273 TraceCheckUtils]: 15: Hoare triple {10979#(and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {10980#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) main_~CCCELVOL1~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (<= main_~i~0 2))} is VALID [2018-11-23 12:22:06,420 INFO L273 TraceCheckUtils]: 16: Hoare triple {10980#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) main_~CCCELVOL1~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (<= main_~i~0 2))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {10980#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) main_~CCCELVOL1~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (<= main_~i~0 2))} is VALID [2018-11-23 12:22:06,421 INFO L273 TraceCheckUtils]: 17: Hoare triple {10980#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) main_~CCCELVOL1~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (<= main_~i~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10981#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:06,421 INFO L273 TraceCheckUtils]: 18: Hoare triple {10981#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {10981#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:06,422 INFO L273 TraceCheckUtils]: 19: Hoare triple {10981#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} ~i~0 := 0; {10982#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:06,423 INFO L273 TraceCheckUtils]: 20: Hoare triple {10982#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |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; {10982#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:06,423 INFO L273 TraceCheckUtils]: 21: Hoare triple {10982#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} assume #t~short6; {10982#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:06,424 INFO L256 TraceCheckUtils]: 22: Hoare triple {10982#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10975#true} is VALID [2018-11-23 12:22:06,424 INFO L273 TraceCheckUtils]: 23: Hoare triple {10975#true} ~cond := #in~cond; {10975#true} is VALID [2018-11-23 12:22:06,424 INFO L273 TraceCheckUtils]: 24: Hoare triple {10975#true} assume !(0 == ~cond); {10975#true} is VALID [2018-11-23 12:22:06,424 INFO L273 TraceCheckUtils]: 25: Hoare triple {10975#true} assume true; {10975#true} is VALID [2018-11-23 12:22:06,425 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {10975#true} {10982#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} #87#return; {10982#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:06,426 INFO L273 TraceCheckUtils]: 27: Hoare triple {10982#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {10982#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:06,427 INFO L273 TraceCheckUtils]: 28: Hoare triple {10982#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10983#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:06,427 INFO L273 TraceCheckUtils]: 29: Hoare triple {10983#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 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; {10983#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:06,428 INFO L273 TraceCheckUtils]: 30: Hoare triple {10983#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} assume #t~short6; {10983#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:06,428 INFO L256 TraceCheckUtils]: 31: Hoare triple {10983#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10975#true} is VALID [2018-11-23 12:22:06,428 INFO L273 TraceCheckUtils]: 32: Hoare triple {10975#true} ~cond := #in~cond; {10975#true} is VALID [2018-11-23 12:22:06,428 INFO L273 TraceCheckUtils]: 33: Hoare triple {10975#true} assume !(0 == ~cond); {10975#true} is VALID [2018-11-23 12:22:06,429 INFO L273 TraceCheckUtils]: 34: Hoare triple {10975#true} assume true; {10975#true} is VALID [2018-11-23 12:22:06,429 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {10975#true} {10983#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} #87#return; {10983#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:06,430 INFO L273 TraceCheckUtils]: 36: Hoare triple {10983#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {10983#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:06,431 INFO L273 TraceCheckUtils]: 37: Hoare triple {10983#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10984#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:06,432 INFO L273 TraceCheckUtils]: 38: Hoare triple {10984#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |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; {10984#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:06,432 INFO L273 TraceCheckUtils]: 39: Hoare triple {10984#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} assume #t~short6; {10984#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:06,432 INFO L256 TraceCheckUtils]: 40: Hoare triple {10984#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10975#true} is VALID [2018-11-23 12:22:06,432 INFO L273 TraceCheckUtils]: 41: Hoare triple {10975#true} ~cond := #in~cond; {10975#true} is VALID [2018-11-23 12:22:06,433 INFO L273 TraceCheckUtils]: 42: Hoare triple {10975#true} assume !(0 == ~cond); {10975#true} is VALID [2018-11-23 12:22:06,433 INFO L273 TraceCheckUtils]: 43: Hoare triple {10975#true} assume true; {10975#true} is VALID [2018-11-23 12:22:06,434 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {10975#true} {10984#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} #87#return; {10984#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:06,434 INFO L273 TraceCheckUtils]: 45: Hoare triple {10984#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {10984#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:06,435 INFO L273 TraceCheckUtils]: 46: Hoare triple {10984#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10985#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:06,435 INFO L273 TraceCheckUtils]: 47: Hoare triple {10985#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |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; {10985#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:06,436 INFO L273 TraceCheckUtils]: 48: Hoare triple {10985#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} assume #t~short6; {10985#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:06,436 INFO L256 TraceCheckUtils]: 49: Hoare triple {10985#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10975#true} is VALID [2018-11-23 12:22:06,436 INFO L273 TraceCheckUtils]: 50: Hoare triple {10975#true} ~cond := #in~cond; {10975#true} is VALID [2018-11-23 12:22:06,436 INFO L273 TraceCheckUtils]: 51: Hoare triple {10975#true} assume !(0 == ~cond); {10975#true} is VALID [2018-11-23 12:22:06,436 INFO L273 TraceCheckUtils]: 52: Hoare triple {10975#true} assume true; {10975#true} is VALID [2018-11-23 12:22:06,437 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {10975#true} {10985#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} #87#return; {10985#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:06,437 INFO L273 TraceCheckUtils]: 54: Hoare triple {10985#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {10985#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:06,438 INFO L273 TraceCheckUtils]: 55: Hoare triple {10985#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10986#(<= 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:06,438 INFO L273 TraceCheckUtils]: 56: Hoare triple {10986#(<= 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; {10987#|main_#t~short6|} is VALID [2018-11-23 12:22:06,439 INFO L273 TraceCheckUtils]: 57: Hoare triple {10987#|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; {10976#false} is VALID [2018-11-23 12:22:06,439 INFO L256 TraceCheckUtils]: 58: Hoare triple {10976#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10976#false} is VALID [2018-11-23 12:22:06,439 INFO L273 TraceCheckUtils]: 59: Hoare triple {10976#false} ~cond := #in~cond; {10976#false} is VALID [2018-11-23 12:22:06,439 INFO L273 TraceCheckUtils]: 60: Hoare triple {10976#false} assume 0 == ~cond; {10976#false} is VALID [2018-11-23 12:22:06,440 INFO L273 TraceCheckUtils]: 61: Hoare triple {10976#false} assume !false; {10976#false} is VALID [2018-11-23 12:22:06,448 INFO L134 CoverageAnalysis]: Checked inductivity of 81 backedges. 12 proven. 45 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:22:06,448 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:06,448 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:22:06,456 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:22:06,506 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:22:06,506 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:22:06,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:06,539 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:06,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 16 treesize of output 13 [2018-11-23 12:22:06,717 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,718 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,720 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,732 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,732 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:22 [2018-11-23 12:22:06,736 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:06,736 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_35|, main_~CCCELVOL2~0]. (and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |#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| (* 12 main_~i~0) (- 8)) main_~CCCELVOL2~0))) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:22:06,736 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8)))) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:22:06,792 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:06,797 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,799 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,800 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:06,802 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,811 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,824 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,824 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:32, output treesize:31 [2018-11-23 12:22:06,828 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:06,828 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_36|, main_~CCCELVOL1~0]. (let ((.cse0 (select |v_#memory_int_36| |main_~#volArray~0.base|))) (and (<= 3 (select .cse0 (+ |main_~#volArray~0.offset| 16))) (<= main_~CCCELVOL1~0 1) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0) (= (store |v_#memory_int_36| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| 20) main_~CCCELVOL1~0)) |#memory_int|))) [2018-11-23 12:22:06,829 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse1 (select |#memory_int| |main_~#volArray~0.base|))) (let ((.cse0 (select .cse1 (+ |main_~#volArray~0.offset| 20)))) (and (= |main_~#volArray~0.offset| 0) (<= .cse0 1) (<= 3 (select .cse1 (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 .cse0)))) [2018-11-23 12:22:07,534 INFO L256 TraceCheckUtils]: 0: Hoare triple {10975#true} call ULTIMATE.init(); {10975#true} is VALID [2018-11-23 12:22:07,534 INFO L273 TraceCheckUtils]: 1: Hoare triple {10975#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {10975#true} is VALID [2018-11-23 12:22:07,534 INFO L273 TraceCheckUtils]: 2: Hoare triple {10975#true} assume true; {10975#true} is VALID [2018-11-23 12:22:07,534 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10975#true} {10975#true} #83#return; {10975#true} is VALID [2018-11-23 12:22:07,534 INFO L256 TraceCheckUtils]: 4: Hoare triple {10975#true} call #t~ret7 := main(); {10975#true} is VALID [2018-11-23 12:22:07,534 INFO L273 TraceCheckUtils]: 5: Hoare triple {10975#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {10975#true} is VALID [2018-11-23 12:22:07,535 INFO L273 TraceCheckUtils]: 6: Hoare triple {10975#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {11009#(and (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:07,535 INFO L273 TraceCheckUtils]: 7: Hoare triple {11009#(and (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {11013#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:07,536 INFO L273 TraceCheckUtils]: 8: Hoare triple {11013#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {11013#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:07,536 INFO L273 TraceCheckUtils]: 9: Hoare triple {11013#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {11013#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:07,537 INFO L273 TraceCheckUtils]: 10: Hoare triple {11013#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {11013#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:07,537 INFO L273 TraceCheckUtils]: 11: Hoare triple {11013#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {11013#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:07,538 INFO L273 TraceCheckUtils]: 12: Hoare triple {11013#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11029#(and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:07,539 INFO L273 TraceCheckUtils]: 13: Hoare triple {11029#(and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {11029#(and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:07,540 INFO L273 TraceCheckUtils]: 14: Hoare triple {11029#(and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {11029#(and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:07,541 INFO L273 TraceCheckUtils]: 15: Hoare triple {11029#(and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {11039#(and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8)))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:07,542 INFO L273 TraceCheckUtils]: 16: Hoare triple {11039#(and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8)))) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {11043#(and (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,543 INFO L273 TraceCheckUtils]: 17: Hoare triple {11043#(and (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11043#(and (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,544 INFO L273 TraceCheckUtils]: 18: Hoare triple {11043#(and (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {11043#(and (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,545 INFO L273 TraceCheckUtils]: 19: Hoare triple {11043#(and (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} ~i~0 := 0; {11053#(and (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,546 INFO L273 TraceCheckUtils]: 20: Hoare triple {11053#(and (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} 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; {11053#(and (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,547 INFO L273 TraceCheckUtils]: 21: Hoare triple {11053#(and (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume #t~short6; {11053#(and (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,548 INFO L256 TraceCheckUtils]: 22: Hoare triple {11053#(and (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} is VALID [2018-11-23 12:22:07,549 INFO L273 TraceCheckUtils]: 23: Hoare triple {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} ~cond := #in~cond; {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} is VALID [2018-11-23 12:22:07,550 INFO L273 TraceCheckUtils]: 24: Hoare triple {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} assume !(0 == ~cond); {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} is VALID [2018-11-23 12:22:07,550 INFO L273 TraceCheckUtils]: 25: Hoare triple {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} assume true; {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} is VALID [2018-11-23 12:22:07,551 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} {11053#(and (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #87#return; {11053#(and (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,552 INFO L273 TraceCheckUtils]: 27: Hoare triple {11053#(and (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {11053#(and (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,553 INFO L273 TraceCheckUtils]: 28: Hoare triple {11053#(and (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11082#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,554 INFO L273 TraceCheckUtils]: 29: Hoare triple {11082#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} 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; {11082#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,555 INFO L273 TraceCheckUtils]: 30: Hoare triple {11082#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume #t~short6; {11082#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,556 INFO L256 TraceCheckUtils]: 31: Hoare triple {11082#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} is VALID [2018-11-23 12:22:07,557 INFO L273 TraceCheckUtils]: 32: Hoare triple {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} ~cond := #in~cond; {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} is VALID [2018-11-23 12:22:07,557 INFO L273 TraceCheckUtils]: 33: Hoare triple {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} assume !(0 == ~cond); {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} is VALID [2018-11-23 12:22:07,558 INFO L273 TraceCheckUtils]: 34: Hoare triple {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} assume true; {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} is VALID [2018-11-23 12:22:07,559 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} {11082#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #87#return; {11082#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,560 INFO L273 TraceCheckUtils]: 36: Hoare triple {11082#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {11082#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,561 INFO L273 TraceCheckUtils]: 37: Hoare triple {11082#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11110#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,562 INFO L273 TraceCheckUtils]: 38: Hoare triple {11110#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} 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; {11110#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,563 INFO L273 TraceCheckUtils]: 39: Hoare triple {11110#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume #t~short6; {11110#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,564 INFO L256 TraceCheckUtils]: 40: Hoare triple {11110#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} is VALID [2018-11-23 12:22:07,565 INFO L273 TraceCheckUtils]: 41: Hoare triple {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} ~cond := #in~cond; {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} is VALID [2018-11-23 12:22:07,565 INFO L273 TraceCheckUtils]: 42: Hoare triple {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} assume !(0 == ~cond); {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} is VALID [2018-11-23 12:22:07,566 INFO L273 TraceCheckUtils]: 43: Hoare triple {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} assume true; {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} is VALID [2018-11-23 12:22:07,567 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} {11110#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #87#return; {11110#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,568 INFO L273 TraceCheckUtils]: 45: Hoare triple {11110#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {11110#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,569 INFO L273 TraceCheckUtils]: 46: Hoare triple {11110#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11138#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,570 INFO L273 TraceCheckUtils]: 47: Hoare triple {11138#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} 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; {11138#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,571 INFO L273 TraceCheckUtils]: 48: Hoare triple {11138#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume #t~short6; {11138#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,573 INFO L256 TraceCheckUtils]: 49: Hoare triple {11138#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} is VALID [2018-11-23 12:22:07,573 INFO L273 TraceCheckUtils]: 50: Hoare triple {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} ~cond := #in~cond; {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} is VALID [2018-11-23 12:22:07,574 INFO L273 TraceCheckUtils]: 51: Hoare triple {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} assume !(0 == ~cond); {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} is VALID [2018-11-23 12:22:07,574 INFO L273 TraceCheckUtils]: 52: Hoare triple {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} assume true; {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} is VALID [2018-11-23 12:22:07,575 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {11063#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (and (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 20) 1)))} {11138#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #87#return; {11138#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,576 INFO L273 TraceCheckUtils]: 54: Hoare triple {11138#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {11138#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,577 INFO L273 TraceCheckUtils]: 55: Hoare triple {11138#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11166#(and (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:07,579 INFO L273 TraceCheckUtils]: 56: Hoare triple {11166#(and (= |main_~#volArray~0.offset| 0) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20)) 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} 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; {10987#|main_#t~short6|} is VALID [2018-11-23 12:22:07,579 INFO L273 TraceCheckUtils]: 57: Hoare triple {10987#|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; {10976#false} is VALID [2018-11-23 12:22:07,579 INFO L256 TraceCheckUtils]: 58: Hoare triple {10976#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10976#false} is VALID [2018-11-23 12:22:07,580 INFO L273 TraceCheckUtils]: 59: Hoare triple {10976#false} ~cond := #in~cond; {10976#false} is VALID [2018-11-23 12:22:07,580 INFO L273 TraceCheckUtils]: 60: Hoare triple {10976#false} assume 0 == ~cond; {10976#false} is VALID [2018-11-23 12:22:07,580 INFO L273 TraceCheckUtils]: 61: Hoare triple {10976#false} assume !false; {10976#false} is VALID [2018-11-23 12:22:07,593 INFO L134 CoverageAnalysis]: Checked inductivity of 81 backedges. 12 proven. 45 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:22:07,611 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:07,612 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 24 [2018-11-23 12:22:07,612 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 62 [2018-11-23 12:22:07,612 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:07,615 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-23 12:22:07,726 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:07,726 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-23 12:22:07,726 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-23 12:22:07,727 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=79, Invalid=473, Unknown=0, NotChecked=0, Total=552 [2018-11-23 12:22:07,727 INFO L87 Difference]: Start difference. First operand 231 states and 274 transitions. Second operand 24 states. [2018-11-23 12:22:17,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:17,443 INFO L93 Difference]: Finished difference Result 360 states and 419 transitions. [2018-11-23 12:22:17,443 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 57 states. [2018-11-23 12:22:17,443 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 62 [2018-11-23 12:22:17,444 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:17,444 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:22:17,447 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 248 transitions. [2018-11-23 12:22:17,447 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:22:17,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 248 transitions. [2018-11-23 12:22:17,451 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 57 states and 248 transitions. [2018-11-23 12:22:17,841 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 248 edges. 248 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:17,850 INFO L225 Difference]: With dead ends: 360 [2018-11-23 12:22:17,850 INFO L226 Difference]: Without dead ends: 325 [2018-11-23 12:22:17,852 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 126 GetRequests, 45 SyntacticMatches, 8 SemanticMatches, 73 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1702 ImplicationChecksByTransitivity, 3.4s TimeCoverageRelationStatistics Valid=800, Invalid=4750, Unknown=0, NotChecked=0, Total=5550 [2018-11-23 12:22:17,852 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 325 states. [2018-11-23 12:22:20,048 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 325 to 235. [2018-11-23 12:22:20,049 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:20,049 INFO L82 GeneralOperation]: Start isEquivalent. First operand 325 states. Second operand 235 states. [2018-11-23 12:22:20,049 INFO L74 IsIncluded]: Start isIncluded. First operand 325 states. Second operand 235 states. [2018-11-23 12:22:20,049 INFO L87 Difference]: Start difference. First operand 325 states. Second operand 235 states. [2018-11-23 12:22:20,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:20,058 INFO L93 Difference]: Finished difference Result 325 states and 378 transitions. [2018-11-23 12:22:20,058 INFO L276 IsEmpty]: Start isEmpty. Operand 325 states and 378 transitions. [2018-11-23 12:22:20,059 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:20,059 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:20,060 INFO L74 IsIncluded]: Start isIncluded. First operand 235 states. Second operand 325 states. [2018-11-23 12:22:20,060 INFO L87 Difference]: Start difference. First operand 235 states. Second operand 325 states. [2018-11-23 12:22:20,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:20,068 INFO L93 Difference]: Finished difference Result 325 states and 378 transitions. [2018-11-23 12:22:20,068 INFO L276 IsEmpty]: Start isEmpty. Operand 325 states and 378 transitions. [2018-11-23 12:22:20,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:20,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:20,070 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:20,070 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:20,070 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 235 states. [2018-11-23 12:22:20,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 235 states to 235 states and 277 transitions. [2018-11-23 12:22:20,076 INFO L78 Accepts]: Start accepts. Automaton has 235 states and 277 transitions. Word has length 62 [2018-11-23 12:22:20,076 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:20,076 INFO L480 AbstractCegarLoop]: Abstraction has 235 states and 277 transitions. [2018-11-23 12:22:20,076 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-23 12:22:20,076 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 277 transitions. [2018-11-23 12:22:20,077 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2018-11-23 12:22:20,077 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:20,078 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:20,078 INFO L423 AbstractCegarLoop]: === Iteration 20 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:20,078 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:20,078 INFO L82 PathProgramCache]: Analyzing trace with hash -1107724153, now seen corresponding path program 2 times [2018-11-23 12:22:20,078 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:20,078 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:20,079 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:20,079 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:22:20,079 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:20,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:20,477 INFO L256 TraceCheckUtils]: 0: Hoare triple {12733#true} call ULTIMATE.init(); {12733#true} is VALID [2018-11-23 12:22:20,477 INFO L273 TraceCheckUtils]: 1: Hoare triple {12733#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {12733#true} is VALID [2018-11-23 12:22:20,478 INFO L273 TraceCheckUtils]: 2: Hoare triple {12733#true} assume true; {12733#true} is VALID [2018-11-23 12:22:20,478 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12733#true} {12733#true} #83#return; {12733#true} is VALID [2018-11-23 12:22:20,478 INFO L256 TraceCheckUtils]: 4: Hoare triple {12733#true} call #t~ret7 := main(); {12733#true} is VALID [2018-11-23 12:22:20,478 INFO L273 TraceCheckUtils]: 5: Hoare triple {12733#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {12733#true} is VALID [2018-11-23 12:22:20,478 INFO L273 TraceCheckUtils]: 6: Hoare triple {12733#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {12733#true} is VALID [2018-11-23 12:22:20,478 INFO L273 TraceCheckUtils]: 7: Hoare triple {12733#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {12735#(= main_~i~0 1)} is VALID [2018-11-23 12:22:20,479 INFO L273 TraceCheckUtils]: 8: Hoare triple {12735#(= main_~i~0 1)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {12735#(= main_~i~0 1)} is VALID [2018-11-23 12:22:20,479 INFO L273 TraceCheckUtils]: 9: Hoare triple {12735#(= main_~i~0 1)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {12735#(= main_~i~0 1)} is VALID [2018-11-23 12:22:20,479 INFO L273 TraceCheckUtils]: 10: Hoare triple {12735#(= main_~i~0 1)} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {12735#(= main_~i~0 1)} is VALID [2018-11-23 12:22:20,480 INFO L273 TraceCheckUtils]: 11: Hoare triple {12735#(= main_~i~0 1)} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {12735#(= main_~i~0 1)} is VALID [2018-11-23 12:22:20,480 INFO L273 TraceCheckUtils]: 12: Hoare triple {12735#(= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12736#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:22:20,481 INFO L273 TraceCheckUtils]: 13: Hoare triple {12736#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {12736#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:22:20,481 INFO L273 TraceCheckUtils]: 14: Hoare triple {12736#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {12736#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:22:20,482 INFO L273 TraceCheckUtils]: 15: Hoare triple {12736#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {12737#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,483 INFO L273 TraceCheckUtils]: 16: Hoare triple {12737#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {12737#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,484 INFO L273 TraceCheckUtils]: 17: Hoare triple {12737#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12738#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,485 INFO L273 TraceCheckUtils]: 18: Hoare triple {12738#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {12738#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,486 INFO L273 TraceCheckUtils]: 19: Hoare triple {12738#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} ~i~0 := 0; {12739#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:20,486 INFO L273 TraceCheckUtils]: 20: Hoare triple {12739#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |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; {12739#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:20,487 INFO L273 TraceCheckUtils]: 21: Hoare triple {12739#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} assume #t~short6; {12739#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:20,487 INFO L256 TraceCheckUtils]: 22: Hoare triple {12739#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12733#true} is VALID [2018-11-23 12:22:20,488 INFO L273 TraceCheckUtils]: 23: Hoare triple {12733#true} ~cond := #in~cond; {12733#true} is VALID [2018-11-23 12:22:20,488 INFO L273 TraceCheckUtils]: 24: Hoare triple {12733#true} assume !(0 == ~cond); {12733#true} is VALID [2018-11-23 12:22:20,488 INFO L273 TraceCheckUtils]: 25: Hoare triple {12733#true} assume true; {12733#true} is VALID [2018-11-23 12:22:20,489 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {12733#true} {12739#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} #87#return; {12739#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:20,490 INFO L273 TraceCheckUtils]: 27: Hoare triple {12739#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {12739#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:20,491 INFO L273 TraceCheckUtils]: 28: Hoare triple {12739#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12740#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,491 INFO L273 TraceCheckUtils]: 29: Hoare triple {12740#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 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; {12740#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,492 INFO L273 TraceCheckUtils]: 30: Hoare triple {12740#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} assume #t~short6; {12740#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,492 INFO L256 TraceCheckUtils]: 31: Hoare triple {12740#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12733#true} is VALID [2018-11-23 12:22:20,492 INFO L273 TraceCheckUtils]: 32: Hoare triple {12733#true} ~cond := #in~cond; {12733#true} is VALID [2018-11-23 12:22:20,492 INFO L273 TraceCheckUtils]: 33: Hoare triple {12733#true} assume !(0 == ~cond); {12733#true} is VALID [2018-11-23 12:22:20,492 INFO L273 TraceCheckUtils]: 34: Hoare triple {12733#true} assume true; {12733#true} is VALID [2018-11-23 12:22:20,493 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {12733#true} {12740#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} #87#return; {12740#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,494 INFO L273 TraceCheckUtils]: 36: Hoare triple {12740#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {12740#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,495 INFO L273 TraceCheckUtils]: 37: Hoare triple {12740#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12741#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,495 INFO L273 TraceCheckUtils]: 38: Hoare triple {12741#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |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; {12741#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,496 INFO L273 TraceCheckUtils]: 39: Hoare triple {12741#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} assume #t~short6; {12741#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,496 INFO L256 TraceCheckUtils]: 40: Hoare triple {12741#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12733#true} is VALID [2018-11-23 12:22:20,496 INFO L273 TraceCheckUtils]: 41: Hoare triple {12733#true} ~cond := #in~cond; {12733#true} is VALID [2018-11-23 12:22:20,497 INFO L273 TraceCheckUtils]: 42: Hoare triple {12733#true} assume !(0 == ~cond); {12733#true} is VALID [2018-11-23 12:22:20,497 INFO L273 TraceCheckUtils]: 43: Hoare triple {12733#true} assume true; {12733#true} is VALID [2018-11-23 12:22:20,498 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {12733#true} {12741#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} #87#return; {12741#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,498 INFO L273 TraceCheckUtils]: 45: Hoare triple {12741#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {12741#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,499 INFO L273 TraceCheckUtils]: 46: Hoare triple {12741#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12742#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,500 INFO L273 TraceCheckUtils]: 47: Hoare triple {12742#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |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; {12742#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,500 INFO L273 TraceCheckUtils]: 48: Hoare triple {12742#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} assume #t~short6; {12742#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,501 INFO L256 TraceCheckUtils]: 49: Hoare triple {12742#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12733#true} is VALID [2018-11-23 12:22:20,501 INFO L273 TraceCheckUtils]: 50: Hoare triple {12733#true} ~cond := #in~cond; {12733#true} is VALID [2018-11-23 12:22:20,501 INFO L273 TraceCheckUtils]: 51: Hoare triple {12733#true} assume !(0 == ~cond); {12733#true} is VALID [2018-11-23 12:22:20,501 INFO L273 TraceCheckUtils]: 52: Hoare triple {12733#true} assume true; {12733#true} is VALID [2018-11-23 12:22:20,502 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {12733#true} {12742#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} #87#return; {12742#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,503 INFO L273 TraceCheckUtils]: 54: Hoare triple {12742#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {12742#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,503 INFO L273 TraceCheckUtils]: 55: Hoare triple {12742#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12743#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:22:20,504 INFO L273 TraceCheckUtils]: 56: Hoare triple {12743#(= 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; {12743#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:22:20,505 INFO L273 TraceCheckUtils]: 57: Hoare triple {12743#(= 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; {12744#|main_#t~short6|} is VALID [2018-11-23 12:22:20,506 INFO L256 TraceCheckUtils]: 58: Hoare triple {12744#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12745#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-23 12:22:20,506 INFO L273 TraceCheckUtils]: 59: Hoare triple {12745#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {12746#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:22:20,507 INFO L273 TraceCheckUtils]: 60: Hoare triple {12746#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {12734#false} is VALID [2018-11-23 12:22:20,507 INFO L273 TraceCheckUtils]: 61: Hoare triple {12734#false} assume !false; {12734#false} is VALID [2018-11-23 12:22:20,515 INFO L134 CoverageAnalysis]: Checked inductivity of 81 backedges. 8 proven. 49 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:22:20,515 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:20,515 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:22:20,525 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:22:20,563 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:22:20,563 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:22:20,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:20,582 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:20,760 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:20,766 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:20,773 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:20,777 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:20,786 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:20,786 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-23 12:22:20,839 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:20,852 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:20,853 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 18 treesize of output 27 [2018-11-23 12:22:20,857 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:20,864 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:20,873 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:20,873 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:26, output treesize:22 [2018-11-23 12:22:21,398 WARN L180 SmtUtils]: Spent 128.00 ms on a formula simplification that was a NOOP. DAG size: 18 [2018-11-23 12:22:22,411 INFO L256 TraceCheckUtils]: 0: Hoare triple {12733#true} call ULTIMATE.init(); {12733#true} is VALID [2018-11-23 12:22:22,412 INFO L273 TraceCheckUtils]: 1: Hoare triple {12733#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {12733#true} is VALID [2018-11-23 12:22:22,412 INFO L273 TraceCheckUtils]: 2: Hoare triple {12733#true} assume true; {12733#true} is VALID [2018-11-23 12:22:22,412 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12733#true} {12733#true} #83#return; {12733#true} is VALID [2018-11-23 12:22:22,412 INFO L256 TraceCheckUtils]: 4: Hoare triple {12733#true} call #t~ret7 := main(); {12733#true} is VALID [2018-11-23 12:22:22,413 INFO L273 TraceCheckUtils]: 5: Hoare triple {12733#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {12733#true} is VALID [2018-11-23 12:22:22,433 INFO L273 TraceCheckUtils]: 6: Hoare triple {12733#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {12768#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:22:22,442 INFO L273 TraceCheckUtils]: 7: Hoare triple {12768#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {12772#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:22,453 INFO L273 TraceCheckUtils]: 8: Hoare triple {12772#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {12772#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:22,454 INFO L273 TraceCheckUtils]: 9: Hoare triple {12772#(and (= 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 * (3 * ~i~0 - 3), 4); {12772#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:22,454 INFO L273 TraceCheckUtils]: 10: Hoare triple {12772#(and (= 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 * (3 * ~i~0 - 2), 4); {12772#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:22,455 INFO L273 TraceCheckUtils]: 11: Hoare triple {12772#(and (= 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 * (3 * ~i~0 - 1), 4); {12772#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:22,455 INFO L273 TraceCheckUtils]: 12: Hoare triple {12772#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12788#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:22,456 INFO L273 TraceCheckUtils]: 13: Hoare triple {12788#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {12788#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:22,456 INFO L273 TraceCheckUtils]: 14: Hoare triple {12788#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {12788#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:22,457 INFO L273 TraceCheckUtils]: 15: Hoare triple {12788#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {12798#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8))) 0) (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:22,458 INFO L273 TraceCheckUtils]: 16: Hoare triple {12798#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8))) 0) (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {12802#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:22,459 INFO L273 TraceCheckUtils]: 17: Hoare triple {12802#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12802#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:22,460 INFO L273 TraceCheckUtils]: 18: Hoare triple {12802#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {12802#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:22,460 INFO L273 TraceCheckUtils]: 19: Hoare triple {12802#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} ~i~0 := 0; {12812#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:22,461 INFO L273 TraceCheckUtils]: 20: Hoare triple {12812#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= 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; {12812#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:22,462 INFO L273 TraceCheckUtils]: 21: Hoare triple {12812#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} assume #t~short6; {12812#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:22,464 INFO L256 TraceCheckUtils]: 22: Hoare triple {12812#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} is VALID [2018-11-23 12:22:22,465 INFO L273 TraceCheckUtils]: 23: Hoare triple {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} ~cond := #in~cond; {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} is VALID [2018-11-23 12:22:22,465 INFO L273 TraceCheckUtils]: 24: Hoare triple {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} assume !(0 == ~cond); {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} is VALID [2018-11-23 12:22:22,466 INFO L273 TraceCheckUtils]: 25: Hoare triple {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} assume true; {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} is VALID [2018-11-23 12:22:22,467 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} {12812#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} #87#return; {12812#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:22,468 INFO L273 TraceCheckUtils]: 27: Hoare triple {12812#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {12812#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:22,469 INFO L273 TraceCheckUtils]: 28: Hoare triple {12812#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12841#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:22,470 INFO L273 TraceCheckUtils]: 29: Hoare triple {12841#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} 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; {12841#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:22,470 INFO L273 TraceCheckUtils]: 30: Hoare triple {12841#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume #t~short6; {12841#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:22,472 INFO L256 TraceCheckUtils]: 31: Hoare triple {12841#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} is VALID [2018-11-23 12:22:22,473 INFO L273 TraceCheckUtils]: 32: Hoare triple {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} ~cond := #in~cond; {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} is VALID [2018-11-23 12:22:22,473 INFO L273 TraceCheckUtils]: 33: Hoare triple {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} assume !(0 == ~cond); {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} is VALID [2018-11-23 12:22:22,474 INFO L273 TraceCheckUtils]: 34: Hoare triple {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} assume true; {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} is VALID [2018-11-23 12:22:22,475 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} {12841#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #87#return; {12841#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:22,475 INFO L273 TraceCheckUtils]: 36: Hoare triple {12841#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {12841#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:22,476 INFO L273 TraceCheckUtils]: 37: Hoare triple {12841#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12869#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:22,477 INFO L273 TraceCheckUtils]: 38: Hoare triple {12869#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} 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; {12869#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:22,478 INFO L273 TraceCheckUtils]: 39: Hoare triple {12869#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume #t~short6; {12869#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:22,480 INFO L256 TraceCheckUtils]: 40: Hoare triple {12869#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} is VALID [2018-11-23 12:22:22,481 INFO L273 TraceCheckUtils]: 41: Hoare triple {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} ~cond := #in~cond; {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} is VALID [2018-11-23 12:22:22,481 INFO L273 TraceCheckUtils]: 42: Hoare triple {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} assume !(0 == ~cond); {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} is VALID [2018-11-23 12:22:22,482 INFO L273 TraceCheckUtils]: 43: Hoare triple {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} assume true; {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} is VALID [2018-11-23 12:22:22,483 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} {12869#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #87#return; {12869#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:22,484 INFO L273 TraceCheckUtils]: 45: Hoare triple {12869#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {12869#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:22,484 INFO L273 TraceCheckUtils]: 46: Hoare triple {12869#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12897#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:22,485 INFO L273 TraceCheckUtils]: 47: Hoare triple {12897#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} 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; {12897#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:22,486 INFO L273 TraceCheckUtils]: 48: Hoare triple {12897#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume #t~short6; {12897#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:22,488 INFO L256 TraceCheckUtils]: 49: Hoare triple {12897#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} is VALID [2018-11-23 12:22:22,489 INFO L273 TraceCheckUtils]: 50: Hoare triple {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} ~cond := #in~cond; {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} is VALID [2018-11-23 12:22:22,489 INFO L273 TraceCheckUtils]: 51: Hoare triple {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} assume !(0 == ~cond); {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} is VALID [2018-11-23 12:22:22,490 INFO L273 TraceCheckUtils]: 52: Hoare triple {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} assume true; {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} is VALID [2018-11-23 12:22:22,491 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {12822#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_17| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_17|) 20) 0)))} {12897#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #87#return; {12897#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:22,492 INFO L273 TraceCheckUtils]: 54: Hoare triple {12897#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {12897#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:22,492 INFO L273 TraceCheckUtils]: 55: Hoare triple {12897#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12925#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 4))} is VALID [2018-11-23 12:22:22,493 INFO L273 TraceCheckUtils]: 56: Hoare triple {12925#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 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; {12925#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 4))} is VALID [2018-11-23 12:22:22,494 INFO L273 TraceCheckUtils]: 57: Hoare triple {12925#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 4))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {12744#|main_#t~short6|} is VALID [2018-11-23 12:22:22,495 INFO L256 TraceCheckUtils]: 58: Hoare triple {12744#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12935#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:22:22,496 INFO L273 TraceCheckUtils]: 59: Hoare triple {12935#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {12939#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:22:22,496 INFO L273 TraceCheckUtils]: 60: Hoare triple {12939#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12734#false} is VALID [2018-11-23 12:22:22,497 INFO L273 TraceCheckUtils]: 61: Hoare triple {12734#false} assume !false; {12734#false} is VALID [2018-11-23 12:22:22,509 INFO L134 CoverageAnalysis]: Checked inductivity of 81 backedges. 0 proven. 57 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:22:22,528 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:22,528 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 16] total 27 [2018-11-23 12:22:22,529 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 62 [2018-11-23 12:22:22,529 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:22,529 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states. [2018-11-23 12:22:22,642 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:22,642 INFO L459 AbstractCegarLoop]: Interpolant automaton has 27 states [2018-11-23 12:22:22,643 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2018-11-23 12:22:22,643 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=104, Invalid=598, Unknown=0, NotChecked=0, Total=702 [2018-11-23 12:22:22,644 INFO L87 Difference]: Start difference. First operand 235 states and 277 transitions. Second operand 27 states. [2018-11-23 12:22:32,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:32,026 INFO L93 Difference]: Finished difference Result 365 states and 432 transitions. [2018-11-23 12:22:32,026 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 49 states. [2018-11-23 12:22:32,026 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 62 [2018-11-23 12:22:32,027 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:32,027 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 12:22:32,029 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 229 transitions. [2018-11-23 12:22:32,029 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 12:22:32,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 229 transitions. [2018-11-23 12:22:32,032 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 49 states and 229 transitions. [2018-11-23 12:22:32,407 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:22:32,415 INFO L225 Difference]: With dead ends: 365 [2018-11-23 12:22:32,415 INFO L226 Difference]: Without dead ends: 363 [2018-11-23 12:22:32,417 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 44 SyntacticMatches, 8 SemanticMatches, 60 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1114 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=507, Invalid=3275, Unknown=0, NotChecked=0, Total=3782 [2018-11-23 12:22:32,417 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 363 states. [2018-11-23 12:22:35,575 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 363 to 282. [2018-11-23 12:22:35,575 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:35,575 INFO L82 GeneralOperation]: Start isEquivalent. First operand 363 states. Second operand 282 states. [2018-11-23 12:22:35,576 INFO L74 IsIncluded]: Start isIncluded. First operand 363 states. Second operand 282 states. [2018-11-23 12:22:35,576 INFO L87 Difference]: Start difference. First operand 363 states. Second operand 282 states. [2018-11-23 12:22:35,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:35,586 INFO L93 Difference]: Finished difference Result 363 states and 430 transitions. [2018-11-23 12:22:35,586 INFO L276 IsEmpty]: Start isEmpty. Operand 363 states and 430 transitions. [2018-11-23 12:22:35,588 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:35,588 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:35,588 INFO L74 IsIncluded]: Start isIncluded. First operand 282 states. Second operand 363 states. [2018-11-23 12:22:35,588 INFO L87 Difference]: Start difference. First operand 282 states. Second operand 363 states. [2018-11-23 12:22:35,599 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:35,599 INFO L93 Difference]: Finished difference Result 363 states and 430 transitions. [2018-11-23 12:22:35,599 INFO L276 IsEmpty]: Start isEmpty. Operand 363 states and 430 transitions. [2018-11-23 12:22:35,600 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:35,601 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:35,601 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:35,601 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:35,601 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 282 states. [2018-11-23 12:22:35,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 282 states to 282 states and 340 transitions. [2018-11-23 12:22:35,609 INFO L78 Accepts]: Start accepts. Automaton has 282 states and 340 transitions. Word has length 62 [2018-11-23 12:22:35,609 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:35,609 INFO L480 AbstractCegarLoop]: Abstraction has 282 states and 340 transitions. [2018-11-23 12:22:35,609 INFO L481 AbstractCegarLoop]: Interpolant automaton has 27 states. [2018-11-23 12:22:35,610 INFO L276 IsEmpty]: Start isEmpty. Operand 282 states and 340 transitions. [2018-11-23 12:22:35,611 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2018-11-23 12:22:35,611 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:35,611 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 6, 5, 5, 5, 5, 5, 5, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:35,612 INFO L423 AbstractCegarLoop]: === Iteration 21 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:35,612 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:35,612 INFO L82 PathProgramCache]: Analyzing trace with hash -436007028, now seen corresponding path program 2 times [2018-11-23 12:22:35,612 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:35,612 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:35,613 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:35,613 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:22:35,613 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:35,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:36,042 INFO L256 TraceCheckUtils]: 0: Hoare triple {14613#true} call ULTIMATE.init(); {14613#true} is VALID [2018-11-23 12:22:36,042 INFO L273 TraceCheckUtils]: 1: Hoare triple {14613#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {14613#true} is VALID [2018-11-23 12:22:36,042 INFO L273 TraceCheckUtils]: 2: Hoare triple {14613#true} assume true; {14613#true} is VALID [2018-11-23 12:22:36,042 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14613#true} {14613#true} #83#return; {14613#true} is VALID [2018-11-23 12:22:36,042 INFO L256 TraceCheckUtils]: 4: Hoare triple {14613#true} call #t~ret7 := main(); {14613#true} is VALID [2018-11-23 12:22:36,043 INFO L273 TraceCheckUtils]: 5: Hoare triple {14613#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {14613#true} is VALID [2018-11-23 12:22:36,043 INFO L273 TraceCheckUtils]: 6: Hoare triple {14613#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {14613#true} is VALID [2018-11-23 12:22:36,043 INFO L273 TraceCheckUtils]: 7: Hoare triple {14613#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {14615#(= main_~i~0 1)} is VALID [2018-11-23 12:22:36,044 INFO L273 TraceCheckUtils]: 8: Hoare triple {14615#(= main_~i~0 1)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {14615#(= main_~i~0 1)} is VALID [2018-11-23 12:22:36,044 INFO L273 TraceCheckUtils]: 9: Hoare triple {14615#(= main_~i~0 1)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {14615#(= main_~i~0 1)} is VALID [2018-11-23 12:22:36,046 INFO L273 TraceCheckUtils]: 10: Hoare triple {14615#(= main_~i~0 1)} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {14615#(= main_~i~0 1)} is VALID [2018-11-23 12:22:36,046 INFO L273 TraceCheckUtils]: 11: Hoare triple {14615#(= main_~i~0 1)} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {14615#(= main_~i~0 1)} is VALID [2018-11-23 12:22:36,048 INFO L273 TraceCheckUtils]: 12: Hoare triple {14615#(= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {14616#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:22:36,048 INFO L273 TraceCheckUtils]: 13: Hoare triple {14616#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {14616#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:22:36,050 INFO L273 TraceCheckUtils]: 14: Hoare triple {14616#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {14616#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:22:36,050 INFO L273 TraceCheckUtils]: 15: Hoare triple {14616#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {14616#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:22:36,052 INFO L273 TraceCheckUtils]: 16: Hoare triple {14616#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {14617#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)))))} is VALID [2018-11-23 12:22:36,052 INFO L273 TraceCheckUtils]: 17: Hoare triple {14617#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {14618#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,054 INFO L273 TraceCheckUtils]: 18: Hoare triple {14618#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4)))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {14618#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,054 INFO L273 TraceCheckUtils]: 19: Hoare triple {14618#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4)))))} ~i~0 := 0; {14619#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:36,056 INFO L273 TraceCheckUtils]: 20: Hoare triple {14619#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 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; {14619#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:36,056 INFO L273 TraceCheckUtils]: 21: Hoare triple {14619#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} assume #t~short6; {14619#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:36,056 INFO L256 TraceCheckUtils]: 22: Hoare triple {14619#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14613#true} is VALID [2018-11-23 12:22:36,056 INFO L273 TraceCheckUtils]: 23: Hoare triple {14613#true} ~cond := #in~cond; {14613#true} is VALID [2018-11-23 12:22:36,056 INFO L273 TraceCheckUtils]: 24: Hoare triple {14613#true} assume !(0 == ~cond); {14613#true} is VALID [2018-11-23 12:22:36,057 INFO L273 TraceCheckUtils]: 25: Hoare triple {14613#true} assume true; {14613#true} is VALID [2018-11-23 12:22:36,058 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {14613#true} {14619#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} #87#return; {14619#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:36,058 INFO L273 TraceCheckUtils]: 27: Hoare triple {14619#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {14619#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:36,060 INFO L273 TraceCheckUtils]: 28: Hoare triple {14619#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14620#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,060 INFO L273 TraceCheckUtils]: 29: Hoare triple {14620#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 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; {14620#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,063 INFO L273 TraceCheckUtils]: 30: Hoare triple {14620#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4)))))} assume #t~short6; {14620#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,063 INFO L256 TraceCheckUtils]: 31: Hoare triple {14620#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14613#true} is VALID [2018-11-23 12:22:36,063 INFO L273 TraceCheckUtils]: 32: Hoare triple {14613#true} ~cond := #in~cond; {14613#true} is VALID [2018-11-23 12:22:36,063 INFO L273 TraceCheckUtils]: 33: Hoare triple {14613#true} assume !(0 == ~cond); {14613#true} is VALID [2018-11-23 12:22:36,063 INFO L273 TraceCheckUtils]: 34: Hoare triple {14613#true} assume true; {14613#true} is VALID [2018-11-23 12:22:36,064 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {14613#true} {14620#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4)))))} #87#return; {14620#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,065 INFO L273 TraceCheckUtils]: 36: Hoare triple {14620#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {14620#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,065 INFO L273 TraceCheckUtils]: 37: Hoare triple {14620#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14621#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,068 INFO L273 TraceCheckUtils]: 38: Hoare triple {14621#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 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; {14621#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,068 INFO L273 TraceCheckUtils]: 39: Hoare triple {14621#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 4)))))} assume #t~short6; {14621#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,068 INFO L256 TraceCheckUtils]: 40: Hoare triple {14621#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 4)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14613#true} is VALID [2018-11-23 12:22:36,068 INFO L273 TraceCheckUtils]: 41: Hoare triple {14613#true} ~cond := #in~cond; {14613#true} is VALID [2018-11-23 12:22:36,068 INFO L273 TraceCheckUtils]: 42: Hoare triple {14613#true} assume !(0 == ~cond); {14613#true} is VALID [2018-11-23 12:22:36,068 INFO L273 TraceCheckUtils]: 43: Hoare triple {14613#true} assume true; {14613#true} is VALID [2018-11-23 12:22:36,070 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {14613#true} {14621#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 4)))))} #87#return; {14621#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,070 INFO L273 TraceCheckUtils]: 45: Hoare triple {14621#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 4)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {14621#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,072 INFO L273 TraceCheckUtils]: 46: Hoare triple {14621#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 4)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14622#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,072 INFO L273 TraceCheckUtils]: 47: Hoare triple {14622#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 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; {14622#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,075 INFO L273 TraceCheckUtils]: 48: Hoare triple {14622#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4)))))} assume #t~short6; {14622#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,075 INFO L256 TraceCheckUtils]: 49: Hoare triple {14622#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14613#true} is VALID [2018-11-23 12:22:36,075 INFO L273 TraceCheckUtils]: 50: Hoare triple {14613#true} ~cond := #in~cond; {14613#true} is VALID [2018-11-23 12:22:36,075 INFO L273 TraceCheckUtils]: 51: Hoare triple {14613#true} assume !(0 == ~cond); {14613#true} is VALID [2018-11-23 12:22:36,075 INFO L273 TraceCheckUtils]: 52: Hoare triple {14613#true} assume true; {14613#true} is VALID [2018-11-23 12:22:36,076 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {14613#true} {14622#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4)))))} #87#return; {14622#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,077 INFO L273 TraceCheckUtils]: 54: Hoare triple {14622#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {14622#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,077 INFO L273 TraceCheckUtils]: 55: Hoare triple {14622#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14623#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,079 INFO L273 TraceCheckUtils]: 56: Hoare triple {14623#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 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; {14623#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,079 INFO L273 TraceCheckUtils]: 57: Hoare triple {14623#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))} assume #t~short6; {14623#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,079 INFO L256 TraceCheckUtils]: 58: Hoare triple {14623#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14613#true} is VALID [2018-11-23 12:22:36,079 INFO L273 TraceCheckUtils]: 59: Hoare triple {14613#true} ~cond := #in~cond; {14613#true} is VALID [2018-11-23 12:22:36,079 INFO L273 TraceCheckUtils]: 60: Hoare triple {14613#true} assume !(0 == ~cond); {14613#true} is VALID [2018-11-23 12:22:36,079 INFO L273 TraceCheckUtils]: 61: Hoare triple {14613#true} assume true; {14613#true} is VALID [2018-11-23 12:22:36,082 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {14613#true} {14623#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))} #87#return; {14623#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,082 INFO L273 TraceCheckUtils]: 63: Hoare triple {14623#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {14623#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:36,085 INFO L273 TraceCheckUtils]: 64: Hoare triple {14623#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14624#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:22:36,085 INFO L273 TraceCheckUtils]: 65: Hoare triple {14624#(= 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; {14624#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:22:36,088 INFO L273 TraceCheckUtils]: 66: Hoare triple {14624#(= 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; {14625#|main_#t~short6|} is VALID [2018-11-23 12:22:36,088 INFO L256 TraceCheckUtils]: 67: Hoare triple {14625#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14626#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-23 12:22:36,091 INFO L273 TraceCheckUtils]: 68: Hoare triple {14626#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {14627#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:22:36,091 INFO L273 TraceCheckUtils]: 69: Hoare triple {14627#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {14614#false} is VALID [2018-11-23 12:22:36,091 INFO L273 TraceCheckUtils]: 70: Hoare triple {14614#false} assume !false; {14614#false} is VALID [2018-11-23 12:22:36,099 INFO L134 CoverageAnalysis]: Checked inductivity of 122 backedges. 10 proven. 72 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-23 12:22:36,100 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:36,100 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:22:36,111 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:22:36,139 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:22:36,139 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:22:36,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:36,156 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:36,264 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 12:22:36,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 10 treesize of output 9 [2018-11-23 12:22:36,270 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:36,272 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:36,277 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:36,277 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 12:22:37,119 INFO L256 TraceCheckUtils]: 0: Hoare triple {14613#true} call ULTIMATE.init(); {14613#true} is VALID [2018-11-23 12:22:37,119 INFO L273 TraceCheckUtils]: 1: Hoare triple {14613#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {14613#true} is VALID [2018-11-23 12:22:37,119 INFO L273 TraceCheckUtils]: 2: Hoare triple {14613#true} assume true; {14613#true} is VALID [2018-11-23 12:22:37,120 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14613#true} {14613#true} #83#return; {14613#true} is VALID [2018-11-23 12:22:37,120 INFO L256 TraceCheckUtils]: 4: Hoare triple {14613#true} call #t~ret7 := main(); {14613#true} is VALID [2018-11-23 12:22:37,120 INFO L273 TraceCheckUtils]: 5: Hoare triple {14613#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {14613#true} is VALID [2018-11-23 12:22:37,120 INFO L273 TraceCheckUtils]: 6: Hoare triple {14613#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {14649#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:22:37,121 INFO L273 TraceCheckUtils]: 7: Hoare triple {14649#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {14653#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,122 INFO L273 TraceCheckUtils]: 8: Hoare triple {14653#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {14653#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,122 INFO L273 TraceCheckUtils]: 9: Hoare triple {14653#(and (= 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 * (3 * ~i~0 - 3), 4); {14653#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,122 INFO L273 TraceCheckUtils]: 10: Hoare triple {14653#(and (= 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 * (3 * ~i~0 - 2), 4); {14653#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,123 INFO L273 TraceCheckUtils]: 11: Hoare triple {14653#(and (= 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 * (3 * ~i~0 - 1), 4); {14653#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,123 INFO L273 TraceCheckUtils]: 12: Hoare triple {14653#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {14669#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,124 INFO L273 TraceCheckUtils]: 13: Hoare triple {14669#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {14669#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,125 INFO L273 TraceCheckUtils]: 14: Hoare triple {14669#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {14669#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,125 INFO L273 TraceCheckUtils]: 15: Hoare triple {14669#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {14669#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,126 INFO L273 TraceCheckUtils]: 16: Hoare triple {14669#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {14682#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:37,127 INFO L273 TraceCheckUtils]: 17: Hoare triple {14682#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {14682#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:37,128 INFO L273 TraceCheckUtils]: 18: Hoare triple {14682#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {14682#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:37,129 INFO L273 TraceCheckUtils]: 19: Hoare triple {14682#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} ~i~0 := 0; {14692#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:37,129 INFO L273 TraceCheckUtils]: 20: Hoare triple {14692#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= 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; {14692#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:37,130 INFO L273 TraceCheckUtils]: 21: Hoare triple {14692#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} assume #t~short6; {14692#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:37,131 INFO L256 TraceCheckUtils]: 22: Hoare triple {14692#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:22:37,132 INFO L273 TraceCheckUtils]: 23: Hoare triple {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} ~cond := #in~cond; {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:22:37,132 INFO L273 TraceCheckUtils]: 24: Hoare triple {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} assume !(0 == ~cond); {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:22:37,133 INFO L273 TraceCheckUtils]: 25: Hoare triple {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} assume true; {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:22:37,134 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} {14692#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} #87#return; {14692#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:37,135 INFO L273 TraceCheckUtils]: 27: Hoare triple {14692#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {14692#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:37,135 INFO L273 TraceCheckUtils]: 28: Hoare triple {14692#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14721#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:37,136 INFO L273 TraceCheckUtils]: 29: Hoare triple {14721#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} 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; {14721#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:37,137 INFO L273 TraceCheckUtils]: 30: Hoare triple {14721#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume #t~short6; {14721#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:37,138 INFO L256 TraceCheckUtils]: 31: Hoare triple {14721#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:22:37,139 INFO L273 TraceCheckUtils]: 32: Hoare triple {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} ~cond := #in~cond; {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:22:37,139 INFO L273 TraceCheckUtils]: 33: Hoare triple {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} assume !(0 == ~cond); {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:22:37,140 INFO L273 TraceCheckUtils]: 34: Hoare triple {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} assume true; {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:22:37,141 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} {14721#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #87#return; {14721#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:37,141 INFO L273 TraceCheckUtils]: 36: Hoare triple {14721#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {14721#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:37,142 INFO L273 TraceCheckUtils]: 37: Hoare triple {14721#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14749#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:37,143 INFO L273 TraceCheckUtils]: 38: Hoare triple {14749#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} 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; {14749#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:37,144 INFO L273 TraceCheckUtils]: 39: Hoare triple {14749#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume #t~short6; {14749#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:37,145 INFO L256 TraceCheckUtils]: 40: Hoare triple {14749#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:22:37,146 INFO L273 TraceCheckUtils]: 41: Hoare triple {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} ~cond := #in~cond; {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:22:37,146 INFO L273 TraceCheckUtils]: 42: Hoare triple {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} assume !(0 == ~cond); {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:22:37,147 INFO L273 TraceCheckUtils]: 43: Hoare triple {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} assume true; {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:22:37,147 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} {14749#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #87#return; {14749#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:37,148 INFO L273 TraceCheckUtils]: 45: Hoare triple {14749#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {14749#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:37,149 INFO L273 TraceCheckUtils]: 46: Hoare triple {14749#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14777#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:37,150 INFO L273 TraceCheckUtils]: 47: Hoare triple {14777#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} 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; {14777#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:37,151 INFO L273 TraceCheckUtils]: 48: Hoare triple {14777#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume #t~short6; {14777#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:37,152 INFO L256 TraceCheckUtils]: 49: Hoare triple {14777#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:22:37,152 INFO L273 TraceCheckUtils]: 50: Hoare triple {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} ~cond := #in~cond; {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:22:37,153 INFO L273 TraceCheckUtils]: 51: Hoare triple {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} assume !(0 == ~cond); {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:22:37,153 INFO L273 TraceCheckUtils]: 52: Hoare triple {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} assume true; {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:22:37,154 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} {14777#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #87#return; {14777#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:37,155 INFO L273 TraceCheckUtils]: 54: Hoare triple {14777#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {14777#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-23 12:22:37,156 INFO L273 TraceCheckUtils]: 55: Hoare triple {14777#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14805#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 4))} is VALID [2018-11-23 12:22:37,157 INFO L273 TraceCheckUtils]: 56: Hoare triple {14805#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 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; {14805#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 4))} is VALID [2018-11-23 12:22:37,157 INFO L273 TraceCheckUtils]: 57: Hoare triple {14805#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 4))} assume #t~short6; {14805#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 4))} is VALID [2018-11-23 12:22:37,159 INFO L256 TraceCheckUtils]: 58: Hoare triple {14805#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 4))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:22:37,159 INFO L273 TraceCheckUtils]: 59: Hoare triple {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} ~cond := #in~cond; {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:22:37,160 INFO L273 TraceCheckUtils]: 60: Hoare triple {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} assume !(0 == ~cond); {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:22:37,160 INFO L273 TraceCheckUtils]: 61: Hoare triple {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} assume true; {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} is VALID [2018-11-23 12:22:37,161 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {14702#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} {14805#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 4))} #87#return; {14805#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 4))} is VALID [2018-11-23 12:22:37,162 INFO L273 TraceCheckUtils]: 63: Hoare triple {14805#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 4))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {14805#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 4))} is VALID [2018-11-23 12:22:37,163 INFO L273 TraceCheckUtils]: 64: Hoare triple {14805#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14833#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 5))} is VALID [2018-11-23 12:22:37,163 INFO L273 TraceCheckUtils]: 65: Hoare triple {14833#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 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; {14833#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 5))} is VALID [2018-11-23 12:22:37,164 INFO L273 TraceCheckUtils]: 66: Hoare triple {14833#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 5))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {14625#|main_#t~short6|} is VALID [2018-11-23 12:22:37,165 INFO L256 TraceCheckUtils]: 67: Hoare triple {14625#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14843#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:22:37,166 INFO L273 TraceCheckUtils]: 68: Hoare triple {14843#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {14847#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:22:37,166 INFO L273 TraceCheckUtils]: 69: Hoare triple {14847#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14614#false} is VALID [2018-11-23 12:22:37,167 INFO L273 TraceCheckUtils]: 70: Hoare triple {14614#false} assume !false; {14614#false} is VALID [2018-11-23 12:22:37,179 INFO L134 CoverageAnalysis]: Checked inductivity of 122 backedges. 0 proven. 82 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-23 12:22:37,200 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:37,201 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 16] total 28 [2018-11-23 12:22:37,201 INFO L78 Accepts]: Start accepts. Automaton has 28 states. Word has length 71 [2018-11-23 12:22:37,202 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:37,202 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 28 states. [2018-11-23 12:22:37,327 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:37,328 INFO L459 AbstractCegarLoop]: Interpolant automaton has 28 states [2018-11-23 12:22:37,328 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2018-11-23 12:22:37,328 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=101, Invalid=655, Unknown=0, NotChecked=0, Total=756 [2018-11-23 12:22:37,329 INFO L87 Difference]: Start difference. First operand 282 states and 340 transitions. Second operand 28 states. [2018-11-23 12:22:45,892 WARN L180 SmtUtils]: Spent 150.00 ms on a formula simplification that was a NOOP. DAG size: 24 [2018-11-23 12:22:51,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:51,300 INFO L93 Difference]: Finished difference Result 475 states and 573 transitions. [2018-11-23 12:22:51,300 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 65 states. [2018-11-23 12:22:51,300 INFO L78 Accepts]: Start accepts. Automaton has 28 states. Word has length 71 [2018-11-23 12:22:51,300 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:51,301 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-23 12:22:51,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 312 transitions. [2018-11-23 12:22:51,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-23 12:22:51,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 312 transitions. [2018-11-23 12:22:51,308 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 65 states and 312 transitions. [2018-11-23 12:22:51,869 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 312 edges. 312 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:51,883 INFO L225 Difference]: With dead ends: 475 [2018-11-23 12:22:51,883 INFO L226 Difference]: Without dead ends: 473 [2018-11-23 12:22:51,885 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 51 SyntacticMatches, 9 SemanticMatches, 76 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1878 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=712, Invalid=5294, Unknown=0, NotChecked=0, Total=6006 [2018-11-23 12:22:51,886 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 473 states. [2018-11-23 12:22:56,057 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 473 to 369. [2018-11-23 12:22:56,057 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:56,058 INFO L82 GeneralOperation]: Start isEquivalent. First operand 473 states. Second operand 369 states. [2018-11-23 12:22:56,058 INFO L74 IsIncluded]: Start isIncluded. First operand 473 states. Second operand 369 states. [2018-11-23 12:22:56,058 INFO L87 Difference]: Start difference. First operand 473 states. Second operand 369 states. [2018-11-23 12:22:56,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:56,073 INFO L93 Difference]: Finished difference Result 473 states and 571 transitions. [2018-11-23 12:22:56,073 INFO L276 IsEmpty]: Start isEmpty. Operand 473 states and 571 transitions. [2018-11-23 12:22:56,075 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:56,075 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:56,075 INFO L74 IsIncluded]: Start isIncluded. First operand 369 states. Second operand 473 states. [2018-11-23 12:22:56,075 INFO L87 Difference]: Start difference. First operand 369 states. Second operand 473 states. [2018-11-23 12:22:56,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:56,091 INFO L93 Difference]: Finished difference Result 473 states and 571 transitions. [2018-11-23 12:22:56,091 INFO L276 IsEmpty]: Start isEmpty. Operand 473 states and 571 transitions. [2018-11-23 12:22:56,093 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:56,093 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:56,093 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:56,093 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:56,093 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 369 states. [2018-11-23 12:22:56,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 369 states to 369 states and 454 transitions. [2018-11-23 12:22:56,105 INFO L78 Accepts]: Start accepts. Automaton has 369 states and 454 transitions. Word has length 71 [2018-11-23 12:22:56,106 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:56,106 INFO L480 AbstractCegarLoop]: Abstraction has 369 states and 454 transitions. [2018-11-23 12:22:56,106 INFO L481 AbstractCegarLoop]: Interpolant automaton has 28 states. [2018-11-23 12:22:56,106 INFO L276 IsEmpty]: Start isEmpty. Operand 369 states and 454 transitions. [2018-11-23 12:22:56,108 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2018-11-23 12:22:56,108 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:56,108 INFO L402 BasicCegarLoop]: trace histogram [7, 7, 7, 6, 6, 6, 6, 6, 6, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:56,108 INFO L423 AbstractCegarLoop]: === Iteration 22 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:56,109 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:56,109 INFO L82 PathProgramCache]: Analyzing trace with hash 1731546663, now seen corresponding path program 5 times [2018-11-23 12:22:56,109 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:56,109 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:56,110 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:56,110 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:22:56,110 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:56,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:56,568 INFO L256 TraceCheckUtils]: 0: Hoare triple {17042#true} call ULTIMATE.init(); {17042#true} is VALID [2018-11-23 12:22:56,568 INFO L273 TraceCheckUtils]: 1: Hoare triple {17042#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {17042#true} is VALID [2018-11-23 12:22:56,568 INFO L273 TraceCheckUtils]: 2: Hoare triple {17042#true} assume true; {17042#true} is VALID [2018-11-23 12:22:56,568 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {17042#true} {17042#true} #83#return; {17042#true} is VALID [2018-11-23 12:22:56,568 INFO L256 TraceCheckUtils]: 4: Hoare triple {17042#true} call #t~ret7 := main(); {17042#true} is VALID [2018-11-23 12:22:56,569 INFO L273 TraceCheckUtils]: 5: Hoare triple {17042#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {17042#true} is VALID [2018-11-23 12:22:56,569 INFO L273 TraceCheckUtils]: 6: Hoare triple {17042#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {17044#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:22:56,571 INFO L273 TraceCheckUtils]: 7: Hoare triple {17044#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {17045#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:22:56,571 INFO L273 TraceCheckUtils]: 8: Hoare triple {17045#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {17045#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:22:56,573 INFO L273 TraceCheckUtils]: 9: Hoare triple {17045#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {17045#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:22:56,573 INFO L273 TraceCheckUtils]: 10: Hoare triple {17045#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {17045#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:22:56,575 INFO L273 TraceCheckUtils]: 11: Hoare triple {17045#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {17045#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:22:56,575 INFO L273 TraceCheckUtils]: 12: Hoare triple {17045#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17046#(and (<= main_~i~0 2) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-23 12:22:56,577 INFO L273 TraceCheckUtils]: 13: Hoare triple {17046#(and (<= main_~i~0 2) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {17046#(and (<= main_~i~0 2) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-23 12:22:56,577 INFO L273 TraceCheckUtils]: 14: Hoare triple {17046#(and (<= main_~i~0 2) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {17046#(and (<= main_~i~0 2) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-23 12:22:56,579 INFO L273 TraceCheckUtils]: 15: Hoare triple {17046#(and (<= main_~i~0 2) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {17046#(and (<= main_~i~0 2) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-23 12:22:56,579 INFO L273 TraceCheckUtils]: 16: Hoare triple {17046#(and (<= main_~i~0 2) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {17046#(and (<= main_~i~0 2) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-23 12:22:56,581 INFO L273 TraceCheckUtils]: 17: Hoare triple {17046#(and (<= main_~i~0 2) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17047#(and (<= main_~i~0 3) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-23 12:22:56,583 INFO L273 TraceCheckUtils]: 18: Hoare triple {17047#(and (<= main_~i~0 3) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {17048#(<= ~CELLCOUNT~0 6)} is VALID [2018-11-23 12:22:56,586 INFO L273 TraceCheckUtils]: 19: Hoare triple {17048#(<= ~CELLCOUNT~0 6)} ~i~0 := 0; {17049#(and (<= ~CELLCOUNT~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:22:56,586 INFO L273 TraceCheckUtils]: 20: Hoare triple {17049#(and (<= ~CELLCOUNT~0 6) (= 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; {17049#(and (<= ~CELLCOUNT~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:22:56,588 INFO L273 TraceCheckUtils]: 21: Hoare triple {17049#(and (<= ~CELLCOUNT~0 6) (= main_~i~0 0))} assume #t~short6; {17049#(and (<= ~CELLCOUNT~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:22:56,588 INFO L256 TraceCheckUtils]: 22: Hoare triple {17049#(and (<= ~CELLCOUNT~0 6) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17042#true} is VALID [2018-11-23 12:22:56,588 INFO L273 TraceCheckUtils]: 23: Hoare triple {17042#true} ~cond := #in~cond; {17042#true} is VALID [2018-11-23 12:22:56,588 INFO L273 TraceCheckUtils]: 24: Hoare triple {17042#true} assume !(0 == ~cond); {17042#true} is VALID [2018-11-23 12:22:56,588 INFO L273 TraceCheckUtils]: 25: Hoare triple {17042#true} assume true; {17042#true} is VALID [2018-11-23 12:22:56,589 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {17042#true} {17049#(and (<= ~CELLCOUNT~0 6) (= main_~i~0 0))} #87#return; {17049#(and (<= ~CELLCOUNT~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:22:56,590 INFO L273 TraceCheckUtils]: 27: Hoare triple {17049#(and (<= ~CELLCOUNT~0 6) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {17049#(and (<= ~CELLCOUNT~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:22:56,590 INFO L273 TraceCheckUtils]: 28: Hoare triple {17049#(and (<= ~CELLCOUNT~0 6) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17050#(<= ~CELLCOUNT~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:22:56,592 INFO L273 TraceCheckUtils]: 29: Hoare triple {17050#(<= ~CELLCOUNT~0 (+ main_~i~0 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; {17050#(<= ~CELLCOUNT~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:22:56,592 INFO L273 TraceCheckUtils]: 30: Hoare triple {17050#(<= ~CELLCOUNT~0 (+ main_~i~0 5))} assume #t~short6; {17050#(<= ~CELLCOUNT~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:22:56,592 INFO L256 TraceCheckUtils]: 31: Hoare triple {17050#(<= ~CELLCOUNT~0 (+ main_~i~0 5))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17042#true} is VALID [2018-11-23 12:22:56,592 INFO L273 TraceCheckUtils]: 32: Hoare triple {17042#true} ~cond := #in~cond; {17042#true} is VALID [2018-11-23 12:22:56,592 INFO L273 TraceCheckUtils]: 33: Hoare triple {17042#true} assume !(0 == ~cond); {17042#true} is VALID [2018-11-23 12:22:56,592 INFO L273 TraceCheckUtils]: 34: Hoare triple {17042#true} assume true; {17042#true} is VALID [2018-11-23 12:22:56,594 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {17042#true} {17050#(<= ~CELLCOUNT~0 (+ main_~i~0 5))} #87#return; {17050#(<= ~CELLCOUNT~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:22:56,594 INFO L273 TraceCheckUtils]: 36: Hoare triple {17050#(<= ~CELLCOUNT~0 (+ main_~i~0 5))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {17050#(<= ~CELLCOUNT~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:22:56,596 INFO L273 TraceCheckUtils]: 37: Hoare triple {17050#(<= ~CELLCOUNT~0 (+ main_~i~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17051#(<= ~CELLCOUNT~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:22:56,596 INFO L273 TraceCheckUtils]: 38: Hoare triple {17051#(<= ~CELLCOUNT~0 (+ main_~i~0 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; {17051#(<= ~CELLCOUNT~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:22:56,598 INFO L273 TraceCheckUtils]: 39: Hoare triple {17051#(<= ~CELLCOUNT~0 (+ main_~i~0 4))} assume #t~short6; {17051#(<= ~CELLCOUNT~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:22:56,598 INFO L256 TraceCheckUtils]: 40: Hoare triple {17051#(<= ~CELLCOUNT~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17042#true} is VALID [2018-11-23 12:22:56,598 INFO L273 TraceCheckUtils]: 41: Hoare triple {17042#true} ~cond := #in~cond; {17042#true} is VALID [2018-11-23 12:22:56,598 INFO L273 TraceCheckUtils]: 42: Hoare triple {17042#true} assume !(0 == ~cond); {17042#true} is VALID [2018-11-23 12:22:56,598 INFO L273 TraceCheckUtils]: 43: Hoare triple {17042#true} assume true; {17042#true} is VALID [2018-11-23 12:22:56,600 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {17042#true} {17051#(<= ~CELLCOUNT~0 (+ main_~i~0 4))} #87#return; {17051#(<= ~CELLCOUNT~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:22:56,600 INFO L273 TraceCheckUtils]: 45: Hoare triple {17051#(<= ~CELLCOUNT~0 (+ main_~i~0 4))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {17051#(<= ~CELLCOUNT~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:22:56,602 INFO L273 TraceCheckUtils]: 46: Hoare triple {17051#(<= ~CELLCOUNT~0 (+ main_~i~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17052#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:22:56,602 INFO L273 TraceCheckUtils]: 47: Hoare triple {17052#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} 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; {17052#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:22:56,602 INFO L273 TraceCheckUtils]: 48: Hoare triple {17052#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} assume #t~short6; {17052#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:22:56,602 INFO L256 TraceCheckUtils]: 49: Hoare triple {17052#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17042#true} is VALID [2018-11-23 12:22:56,603 INFO L273 TraceCheckUtils]: 50: Hoare triple {17042#true} ~cond := #in~cond; {17042#true} is VALID [2018-11-23 12:22:56,603 INFO L273 TraceCheckUtils]: 51: Hoare triple {17042#true} assume !(0 == ~cond); {17042#true} is VALID [2018-11-23 12:22:56,603 INFO L273 TraceCheckUtils]: 52: Hoare triple {17042#true} assume true; {17042#true} is VALID [2018-11-23 12:22:56,604 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {17042#true} {17052#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} #87#return; {17052#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:22:56,604 INFO L273 TraceCheckUtils]: 54: Hoare triple {17052#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {17052#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:22:56,606 INFO L273 TraceCheckUtils]: 55: Hoare triple {17052#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17053#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:22:56,606 INFO L273 TraceCheckUtils]: 56: Hoare triple {17053#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} 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; {17053#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:22:56,608 INFO L273 TraceCheckUtils]: 57: Hoare triple {17053#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} assume #t~short6; {17053#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:22:56,608 INFO L256 TraceCheckUtils]: 58: Hoare triple {17053#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17042#true} is VALID [2018-11-23 12:22:56,608 INFO L273 TraceCheckUtils]: 59: Hoare triple {17042#true} ~cond := #in~cond; {17042#true} is VALID [2018-11-23 12:22:56,608 INFO L273 TraceCheckUtils]: 60: Hoare triple {17042#true} assume !(0 == ~cond); {17042#true} is VALID [2018-11-23 12:22:56,608 INFO L273 TraceCheckUtils]: 61: Hoare triple {17042#true} assume true; {17042#true} is VALID [2018-11-23 12:22:56,609 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {17042#true} {17053#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} #87#return; {17053#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:22:56,610 INFO L273 TraceCheckUtils]: 63: Hoare triple {17053#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {17053#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:22:56,610 INFO L273 TraceCheckUtils]: 64: Hoare triple {17053#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17054#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:22:56,613 INFO L273 TraceCheckUtils]: 65: Hoare triple {17054#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} 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; {17054#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:22:56,613 INFO L273 TraceCheckUtils]: 66: Hoare triple {17054#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} assume #t~short6; {17054#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:22:56,613 INFO L256 TraceCheckUtils]: 67: Hoare triple {17054#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17042#true} is VALID [2018-11-23 12:22:56,613 INFO L273 TraceCheckUtils]: 68: Hoare triple {17042#true} ~cond := #in~cond; {17042#true} is VALID [2018-11-23 12:22:56,613 INFO L273 TraceCheckUtils]: 69: Hoare triple {17042#true} assume !(0 == ~cond); {17042#true} is VALID [2018-11-23 12:22:56,613 INFO L273 TraceCheckUtils]: 70: Hoare triple {17042#true} assume true; {17042#true} is VALID [2018-11-23 12:22:56,615 INFO L268 TraceCheckUtils]: 71: Hoare quadruple {17042#true} {17054#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} #87#return; {17054#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:22:56,615 INFO L273 TraceCheckUtils]: 72: Hoare triple {17054#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {17054#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:22:56,617 INFO L273 TraceCheckUtils]: 73: Hoare triple {17054#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17055#(<= ~CELLCOUNT~0 main_~i~0)} is VALID [2018-11-23 12:22:56,617 INFO L273 TraceCheckUtils]: 74: Hoare triple {17055#(<= ~CELLCOUNT~0 main_~i~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; {17043#false} is VALID [2018-11-23 12:22:56,618 INFO L273 TraceCheckUtils]: 75: Hoare triple {17043#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {17043#false} is VALID [2018-11-23 12:22:56,618 INFO L256 TraceCheckUtils]: 76: Hoare triple {17043#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17043#false} is VALID [2018-11-23 12:22:56,618 INFO L273 TraceCheckUtils]: 77: Hoare triple {17043#false} ~cond := #in~cond; {17043#false} is VALID [2018-11-23 12:22:56,618 INFO L273 TraceCheckUtils]: 78: Hoare triple {17043#false} assume 0 == ~cond; {17043#false} is VALID [2018-11-23 12:22:56,618 INFO L273 TraceCheckUtils]: 79: Hoare triple {17043#false} assume !false; {17043#false} is VALID [2018-11-23 12:22:56,625 INFO L134 CoverageAnalysis]: Checked inductivity of 172 backedges. 79 proven. 33 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2018-11-23 12:22:56,625 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:56,625 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:22:56,634 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:22:56,680 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 7 check-sat command(s) [2018-11-23 12:22:56,680 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:22:56,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:56,704 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:57,344 INFO L256 TraceCheckUtils]: 0: Hoare triple {17042#true} call ULTIMATE.init(); {17042#true} is VALID [2018-11-23 12:22:57,345 INFO L273 TraceCheckUtils]: 1: Hoare triple {17042#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {17042#true} is VALID [2018-11-23 12:22:57,345 INFO L273 TraceCheckUtils]: 2: Hoare triple {17042#true} assume true; {17042#true} is VALID [2018-11-23 12:22:57,345 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {17042#true} {17042#true} #83#return; {17042#true} is VALID [2018-11-23 12:22:57,345 INFO L256 TraceCheckUtils]: 4: Hoare triple {17042#true} call #t~ret7 := main(); {17042#true} is VALID [2018-11-23 12:22:57,345 INFO L273 TraceCheckUtils]: 5: Hoare triple {17042#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {17042#true} is VALID [2018-11-23 12:22:57,346 INFO L273 TraceCheckUtils]: 6: Hoare triple {17042#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {17044#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:22:57,346 INFO L273 TraceCheckUtils]: 7: Hoare triple {17044#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {17080#(and (<= 2 ~CELLCOUNT~0) (<= main_~i~0 1) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,347 INFO L273 TraceCheckUtils]: 8: Hoare triple {17080#(and (<= 2 ~CELLCOUNT~0) (<= main_~i~0 1) (= (mod ~CELLCOUNT~0 3) 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {17080#(and (<= 2 ~CELLCOUNT~0) (<= main_~i~0 1) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,347 INFO L273 TraceCheckUtils]: 9: Hoare triple {17080#(and (<= 2 ~CELLCOUNT~0) (<= main_~i~0 1) (= (mod ~CELLCOUNT~0 3) 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {17080#(and (<= 2 ~CELLCOUNT~0) (<= main_~i~0 1) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,348 INFO L273 TraceCheckUtils]: 10: Hoare triple {17080#(and (<= 2 ~CELLCOUNT~0) (<= main_~i~0 1) (= (mod ~CELLCOUNT~0 3) 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {17080#(and (<= 2 ~CELLCOUNT~0) (<= main_~i~0 1) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,349 INFO L273 TraceCheckUtils]: 11: Hoare triple {17080#(and (<= 2 ~CELLCOUNT~0) (<= main_~i~0 1) (= (mod ~CELLCOUNT~0 3) 0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {17080#(and (<= 2 ~CELLCOUNT~0) (<= main_~i~0 1) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,350 INFO L273 TraceCheckUtils]: 12: Hoare triple {17080#(and (<= 2 ~CELLCOUNT~0) (<= main_~i~0 1) (= (mod ~CELLCOUNT~0 3) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17096#(and (<= 2 ~CELLCOUNT~0) (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,350 INFO L273 TraceCheckUtils]: 13: Hoare triple {17096#(and (<= 2 ~CELLCOUNT~0) (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 3) 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {17096#(and (<= 2 ~CELLCOUNT~0) (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,351 INFO L273 TraceCheckUtils]: 14: Hoare triple {17096#(and (<= 2 ~CELLCOUNT~0) (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 3) 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {17096#(and (<= 2 ~CELLCOUNT~0) (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,352 INFO L273 TraceCheckUtils]: 15: Hoare triple {17096#(and (<= 2 ~CELLCOUNT~0) (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 3) 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {17096#(and (<= 2 ~CELLCOUNT~0) (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,353 INFO L273 TraceCheckUtils]: 16: Hoare triple {17096#(and (<= 2 ~CELLCOUNT~0) (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 3) 0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {17096#(and (<= 2 ~CELLCOUNT~0) (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,354 INFO L273 TraceCheckUtils]: 17: Hoare triple {17096#(and (<= 2 ~CELLCOUNT~0) (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 3) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17112#(and (<= main_~i~0 3) (<= 2 ~CELLCOUNT~0) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,355 INFO L273 TraceCheckUtils]: 18: Hoare triple {17112#(and (<= main_~i~0 3) (<= 2 ~CELLCOUNT~0) (= (mod ~CELLCOUNT~0 3) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,355 INFO L273 TraceCheckUtils]: 19: Hoare triple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} ~i~0 := 0; {17120#(and (<= 0 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,356 INFO L273 TraceCheckUtils]: 20: Hoare triple {17120#(and (<= 0 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 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; {17120#(and (<= 0 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,357 INFO L273 TraceCheckUtils]: 21: Hoare triple {17120#(and (<= 0 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} assume #t~short6; {17120#(and (<= 0 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,358 INFO L256 TraceCheckUtils]: 22: Hoare triple {17120#(and (<= 0 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,358 INFO L273 TraceCheckUtils]: 23: Hoare triple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} ~cond := #in~cond; {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,359 INFO L273 TraceCheckUtils]: 24: Hoare triple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} assume !(0 == ~cond); {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,378 INFO L273 TraceCheckUtils]: 25: Hoare triple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} assume true; {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,379 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} {17120#(and (<= 0 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} #87#return; {17120#(and (<= 0 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,379 INFO L273 TraceCheckUtils]: 27: Hoare triple {17120#(and (<= 0 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {17120#(and (<= 0 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,380 INFO L273 TraceCheckUtils]: 28: Hoare triple {17120#(and (<= 0 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17148#(and (<= 1 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,380 INFO L273 TraceCheckUtils]: 29: Hoare triple {17148#(and (<= 1 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 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; {17148#(and (<= 1 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,381 INFO L273 TraceCheckUtils]: 30: Hoare triple {17148#(and (<= 1 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} assume #t~short6; {17148#(and (<= 1 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,382 INFO L256 TraceCheckUtils]: 31: Hoare triple {17148#(and (<= 1 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,382 INFO L273 TraceCheckUtils]: 32: Hoare triple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} ~cond := #in~cond; {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,383 INFO L273 TraceCheckUtils]: 33: Hoare triple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} assume !(0 == ~cond); {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,384 INFO L273 TraceCheckUtils]: 34: Hoare triple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} assume true; {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,384 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} {17148#(and (<= 1 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} #87#return; {17148#(and (<= 1 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,385 INFO L273 TraceCheckUtils]: 36: Hoare triple {17148#(and (<= 1 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {17148#(and (<= 1 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,386 INFO L273 TraceCheckUtils]: 37: Hoare triple {17148#(and (<= 1 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17176#(and (<= 2 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,387 INFO L273 TraceCheckUtils]: 38: Hoare triple {17176#(and (<= 2 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 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; {17176#(and (<= 2 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,388 INFO L273 TraceCheckUtils]: 39: Hoare triple {17176#(and (<= 2 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} assume #t~short6; {17176#(and (<= 2 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,389 INFO L256 TraceCheckUtils]: 40: Hoare triple {17176#(and (<= 2 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,389 INFO L273 TraceCheckUtils]: 41: Hoare triple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} ~cond := #in~cond; {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,390 INFO L273 TraceCheckUtils]: 42: Hoare triple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} assume !(0 == ~cond); {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,391 INFO L273 TraceCheckUtils]: 43: Hoare triple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} assume true; {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,391 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} {17176#(and (<= 2 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} #87#return; {17176#(and (<= 2 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,392 INFO L273 TraceCheckUtils]: 45: Hoare triple {17176#(and (<= 2 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {17176#(and (<= 2 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,393 INFO L273 TraceCheckUtils]: 46: Hoare triple {17176#(and (<= 2 main_~i~0) (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17204#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0) (<= 3 main_~i~0))} is VALID [2018-11-23 12:22:57,394 INFO L273 TraceCheckUtils]: 47: Hoare triple {17204#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0) (<= 3 main_~i~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; {17204#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0) (<= 3 main_~i~0))} is VALID [2018-11-23 12:22:57,394 INFO L273 TraceCheckUtils]: 48: Hoare triple {17204#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0) (<= 3 main_~i~0))} assume #t~short6; {17204#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0) (<= 3 main_~i~0))} is VALID [2018-11-23 12:22:57,395 INFO L256 TraceCheckUtils]: 49: Hoare triple {17204#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,396 INFO L273 TraceCheckUtils]: 50: Hoare triple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} ~cond := #in~cond; {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,397 INFO L273 TraceCheckUtils]: 51: Hoare triple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} assume !(0 == ~cond); {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,397 INFO L273 TraceCheckUtils]: 52: Hoare triple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} assume true; {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,398 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} {17204#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0) (<= 3 main_~i~0))} #87#return; {17204#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0) (<= 3 main_~i~0))} is VALID [2018-11-23 12:22:57,399 INFO L273 TraceCheckUtils]: 54: Hoare triple {17204#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0) (<= 3 main_~i~0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {17204#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0) (<= 3 main_~i~0))} is VALID [2018-11-23 12:22:57,400 INFO L273 TraceCheckUtils]: 55: Hoare triple {17204#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0) (<= 3 main_~i~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17232#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (<= 4 main_~i~0) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,400 INFO L273 TraceCheckUtils]: 56: Hoare triple {17232#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (<= 4 main_~i~0) (= (mod ~CELLCOUNT~0 3) 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; {17232#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (<= 4 main_~i~0) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,401 INFO L273 TraceCheckUtils]: 57: Hoare triple {17232#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (<= 4 main_~i~0) (= (mod ~CELLCOUNT~0 3) 0))} assume #t~short6; {17232#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (<= 4 main_~i~0) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,402 INFO L256 TraceCheckUtils]: 58: Hoare triple {17232#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (<= 4 main_~i~0) (= (mod ~CELLCOUNT~0 3) 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,403 INFO L273 TraceCheckUtils]: 59: Hoare triple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} ~cond := #in~cond; {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,403 INFO L273 TraceCheckUtils]: 60: Hoare triple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} assume !(0 == ~cond); {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,404 INFO L273 TraceCheckUtils]: 61: Hoare triple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} assume true; {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,405 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} {17232#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (<= 4 main_~i~0) (= (mod ~CELLCOUNT~0 3) 0))} #87#return; {17232#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (<= 4 main_~i~0) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,405 INFO L273 TraceCheckUtils]: 63: Hoare triple {17232#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (<= 4 main_~i~0) (= (mod ~CELLCOUNT~0 3) 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {17232#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (<= 4 main_~i~0) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,406 INFO L273 TraceCheckUtils]: 64: Hoare triple {17232#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (<= 4 main_~i~0) (= (mod ~CELLCOUNT~0 3) 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17260#(and (<= 2 ~CELLCOUNT~0) (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,407 INFO L273 TraceCheckUtils]: 65: Hoare triple {17260#(and (<= 2 ~CELLCOUNT~0) (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 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; {17260#(and (<= 2 ~CELLCOUNT~0) (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,408 INFO L273 TraceCheckUtils]: 66: Hoare triple {17260#(and (<= 2 ~CELLCOUNT~0) (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} assume #t~short6; {17260#(and (<= 2 ~CELLCOUNT~0) (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,409 INFO L256 TraceCheckUtils]: 67: Hoare triple {17260#(and (<= 2 ~CELLCOUNT~0) (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,409 INFO L273 TraceCheckUtils]: 68: Hoare triple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} ~cond := #in~cond; {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,410 INFO L273 TraceCheckUtils]: 69: Hoare triple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} assume !(0 == ~cond); {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,411 INFO L273 TraceCheckUtils]: 70: Hoare triple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} assume true; {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,411 INFO L268 TraceCheckUtils]: 71: Hoare quadruple {17116#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} {17260#(and (<= 2 ~CELLCOUNT~0) (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} #87#return; {17260#(and (<= 2 ~CELLCOUNT~0) (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,412 INFO L273 TraceCheckUtils]: 72: Hoare triple {17260#(and (<= 2 ~CELLCOUNT~0) (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {17260#(and (<= 2 ~CELLCOUNT~0) (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} is VALID [2018-11-23 12:22:57,413 INFO L273 TraceCheckUtils]: 73: Hoare triple {17260#(and (<= 2 ~CELLCOUNT~0) (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17288#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0) (<= 6 main_~i~0))} is VALID [2018-11-23 12:22:57,414 INFO L273 TraceCheckUtils]: 74: Hoare triple {17288#(and (<= 2 ~CELLCOUNT~0) (<= (div ~CELLCOUNT~0 3) 2) (= (mod ~CELLCOUNT~0 3) 0) (<= 6 main_~i~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; {17043#false} is VALID [2018-11-23 12:22:57,414 INFO L273 TraceCheckUtils]: 75: Hoare triple {17043#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {17043#false} is VALID [2018-11-23 12:22:57,415 INFO L256 TraceCheckUtils]: 76: Hoare triple {17043#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17043#false} is VALID [2018-11-23 12:22:57,415 INFO L273 TraceCheckUtils]: 77: Hoare triple {17043#false} ~cond := #in~cond; {17043#false} is VALID [2018-11-23 12:22:57,415 INFO L273 TraceCheckUtils]: 78: Hoare triple {17043#false} assume 0 == ~cond; {17043#false} is VALID [2018-11-23 12:22:57,415 INFO L273 TraceCheckUtils]: 79: Hoare triple {17043#false} assume !false; {17043#false} is VALID [2018-11-23 12:22:57,430 INFO L134 CoverageAnalysis]: Checked inductivity of 172 backedges. 105 proven. 7 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2018-11-23 12:22:57,449 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:57,449 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 25 [2018-11-23 12:22:57,450 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 80 [2018-11-23 12:22:57,450 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:57,450 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states. [2018-11-23 12:22:57,571 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:57,572 INFO L459 AbstractCegarLoop]: Interpolant automaton has 25 states [2018-11-23 12:22:57,572 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2018-11-23 12:22:57,572 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=142, Invalid=458, Unknown=0, NotChecked=0, Total=600 [2018-11-23 12:22:57,573 INFO L87 Difference]: Start difference. First operand 369 states and 454 transitions. Second operand 25 states. [2018-11-23 12:23:06,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:06,272 INFO L93 Difference]: Finished difference Result 615 states and 733 transitions. [2018-11-23 12:23:06,272 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 12:23:06,273 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 80 [2018-11-23 12:23:06,273 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:06,273 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 12:23:06,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 114 transitions. [2018-11-23 12:23:06,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 12:23:06,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 114 transitions. [2018-11-23 12:23:06,276 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 114 transitions. [2018-11-23 12:23:06,418 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:06,429 INFO L225 Difference]: With dead ends: 615 [2018-11-23 12:23:06,430 INFO L226 Difference]: Without dead ends: 365 [2018-11-23 12:23:06,431 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 69 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 194 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=220, Invalid=710, Unknown=0, NotChecked=0, Total=930 [2018-11-23 12:23:06,431 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 365 states. [2018-11-23 12:23:13,821 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 365 to 357. [2018-11-23 12:23:13,821 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:13,821 INFO L82 GeneralOperation]: Start isEquivalent. First operand 365 states. Second operand 357 states. [2018-11-23 12:23:13,821 INFO L74 IsIncluded]: Start isIncluded. First operand 365 states. Second operand 357 states. [2018-11-23 12:23:13,822 INFO L87 Difference]: Start difference. First operand 365 states. Second operand 357 states. [2018-11-23 12:23:13,832 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:13,832 INFO L93 Difference]: Finished difference Result 365 states and 437 transitions. [2018-11-23 12:23:13,832 INFO L276 IsEmpty]: Start isEmpty. Operand 365 states and 437 transitions. [2018-11-23 12:23:13,833 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:13,834 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:13,834 INFO L74 IsIncluded]: Start isIncluded. First operand 357 states. Second operand 365 states. [2018-11-23 12:23:13,834 INFO L87 Difference]: Start difference. First operand 357 states. Second operand 365 states. [2018-11-23 12:23:13,844 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:13,845 INFO L93 Difference]: Finished difference Result 365 states and 437 transitions. [2018-11-23 12:23:13,845 INFO L276 IsEmpty]: Start isEmpty. Operand 365 states and 437 transitions. [2018-11-23 12:23:13,846 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:13,846 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:13,846 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:13,846 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:13,846 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 357 states. [2018-11-23 12:23:13,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 357 states to 357 states and 429 transitions. [2018-11-23 12:23:13,858 INFO L78 Accepts]: Start accepts. Automaton has 357 states and 429 transitions. Word has length 80 [2018-11-23 12:23:13,858 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:13,858 INFO L480 AbstractCegarLoop]: Abstraction has 357 states and 429 transitions. [2018-11-23 12:23:13,858 INFO L481 AbstractCegarLoop]: Interpolant automaton has 25 states. [2018-11-23 12:23:13,858 INFO L276 IsEmpty]: Start isEmpty. Operand 357 states and 429 transitions. [2018-11-23 12:23:13,860 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2018-11-23 12:23:13,860 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:13,860 INFO L402 BasicCegarLoop]: trace histogram [7, 7, 7, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:13,860 INFO L423 AbstractCegarLoop]: === Iteration 23 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:13,861 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:13,861 INFO L82 PathProgramCache]: Analyzing trace with hash 1630694425, now seen corresponding path program 6 times [2018-11-23 12:23:13,861 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:13,861 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:13,862 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:13,862 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:13,862 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:13,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:14,574 INFO L256 TraceCheckUtils]: 0: Hoare triple {19383#true} call ULTIMATE.init(); {19383#true} is VALID [2018-11-23 12:23:14,575 INFO L273 TraceCheckUtils]: 1: Hoare triple {19383#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {19383#true} is VALID [2018-11-23 12:23:14,575 INFO L273 TraceCheckUtils]: 2: Hoare triple {19383#true} assume true; {19383#true} is VALID [2018-11-23 12:23:14,575 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {19383#true} {19383#true} #83#return; {19383#true} is VALID [2018-11-23 12:23:14,575 INFO L256 TraceCheckUtils]: 4: Hoare triple {19383#true} call #t~ret7 := main(); {19383#true} is VALID [2018-11-23 12:23:14,575 INFO L273 TraceCheckUtils]: 5: Hoare triple {19383#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {19383#true} is VALID [2018-11-23 12:23:14,576 INFO L273 TraceCheckUtils]: 6: Hoare triple {19383#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {19383#true} is VALID [2018-11-23 12:23:14,576 INFO L273 TraceCheckUtils]: 7: Hoare triple {19383#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {19385#(= main_~i~0 1)} is VALID [2018-11-23 12:23:14,577 INFO L273 TraceCheckUtils]: 8: Hoare triple {19385#(= main_~i~0 1)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {19385#(= main_~i~0 1)} is VALID [2018-11-23 12:23:14,577 INFO L273 TraceCheckUtils]: 9: Hoare triple {19385#(= main_~i~0 1)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {19386#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} is VALID [2018-11-23 12:23:14,578 INFO L273 TraceCheckUtils]: 10: Hoare triple {19386#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {19386#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} is VALID [2018-11-23 12:23:14,578 INFO L273 TraceCheckUtils]: 11: Hoare triple {19386#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {19386#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} is VALID [2018-11-23 12:23:14,579 INFO L273 TraceCheckUtils]: 12: Hoare triple {19386#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {19387#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:14,579 INFO L273 TraceCheckUtils]: 13: Hoare triple {19387#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {19387#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:14,580 INFO L273 TraceCheckUtils]: 14: Hoare triple {19387#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {19387#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:14,581 INFO L273 TraceCheckUtils]: 15: Hoare triple {19387#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {19387#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:14,582 INFO L273 TraceCheckUtils]: 16: Hoare triple {19387#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {19387#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:14,583 INFO L273 TraceCheckUtils]: 17: Hoare triple {19387#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {19388#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 3) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:14,583 INFO L273 TraceCheckUtils]: 18: Hoare triple {19388#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 3) (<= 3 main_~i~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {19388#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 3) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:14,584 INFO L273 TraceCheckUtils]: 19: Hoare triple {19388#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 3) (<= 3 main_~i~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {19389#(and (<= main_~i~0 3) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:14,586 INFO L273 TraceCheckUtils]: 20: Hoare triple {19389#(and (<= main_~i~0 3) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= 3 main_~i~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {19389#(and (<= main_~i~0 3) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:14,587 INFO L273 TraceCheckUtils]: 21: Hoare triple {19389#(and (<= main_~i~0 3) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= 3 main_~i~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {19389#(and (<= main_~i~0 3) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:14,588 INFO L273 TraceCheckUtils]: 22: Hoare triple {19389#(and (<= main_~i~0 3) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= 3 main_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {19390#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,589 INFO L273 TraceCheckUtils]: 23: Hoare triple {19390#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12)))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {19390#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,589 INFO L273 TraceCheckUtils]: 24: Hoare triple {19390#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12)))))} ~i~0 := 0; {19391#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:14,590 INFO L273 TraceCheckUtils]: 25: Hoare triple {19391#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |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; {19391#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:14,591 INFO L273 TraceCheckUtils]: 26: Hoare triple {19391#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} assume #t~short6; {19391#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:14,591 INFO L256 TraceCheckUtils]: 27: Hoare triple {19391#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {19383#true} is VALID [2018-11-23 12:23:14,592 INFO L273 TraceCheckUtils]: 28: Hoare triple {19383#true} ~cond := #in~cond; {19383#true} is VALID [2018-11-23 12:23:14,592 INFO L273 TraceCheckUtils]: 29: Hoare triple {19383#true} assume !(0 == ~cond); {19383#true} is VALID [2018-11-23 12:23:14,592 INFO L273 TraceCheckUtils]: 30: Hoare triple {19383#true} assume true; {19383#true} is VALID [2018-11-23 12:23:14,593 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {19383#true} {19391#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} #87#return; {19391#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:14,594 INFO L273 TraceCheckUtils]: 32: Hoare triple {19391#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {19391#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:14,594 INFO L273 TraceCheckUtils]: 33: Hoare triple {19391#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19392#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,595 INFO L273 TraceCheckUtils]: 34: Hoare triple {19392#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |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; {19392#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,596 INFO L273 TraceCheckUtils]: 35: Hoare triple {19392#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |main_~#volArray~0.offset| (- 12)))))} assume #t~short6; {19392#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,596 INFO L256 TraceCheckUtils]: 36: Hoare triple {19392#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |main_~#volArray~0.offset| (- 12)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {19383#true} is VALID [2018-11-23 12:23:14,596 INFO L273 TraceCheckUtils]: 37: Hoare triple {19383#true} ~cond := #in~cond; {19383#true} is VALID [2018-11-23 12:23:14,596 INFO L273 TraceCheckUtils]: 38: Hoare triple {19383#true} assume !(0 == ~cond); {19383#true} is VALID [2018-11-23 12:23:14,596 INFO L273 TraceCheckUtils]: 39: Hoare triple {19383#true} assume true; {19383#true} is VALID [2018-11-23 12:23:14,597 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {19383#true} {19392#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |main_~#volArray~0.offset| (- 12)))))} #87#return; {19392#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,598 INFO L273 TraceCheckUtils]: 41: Hoare triple {19392#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |main_~#volArray~0.offset| (- 12)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {19392#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,599 INFO L273 TraceCheckUtils]: 42: Hoare triple {19392#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |main_~#volArray~0.offset| (- 12)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19393#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,599 INFO L273 TraceCheckUtils]: 43: Hoare triple {19393#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |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; {19393#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,599 INFO L273 TraceCheckUtils]: 44: Hoare triple {19393#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 12)))))} assume #t~short6; {19393#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,600 INFO L256 TraceCheckUtils]: 45: Hoare triple {19393#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 12)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {19383#true} is VALID [2018-11-23 12:23:14,600 INFO L273 TraceCheckUtils]: 46: Hoare triple {19383#true} ~cond := #in~cond; {19383#true} is VALID [2018-11-23 12:23:14,600 INFO L273 TraceCheckUtils]: 47: Hoare triple {19383#true} assume !(0 == ~cond); {19383#true} is VALID [2018-11-23 12:23:14,600 INFO L273 TraceCheckUtils]: 48: Hoare triple {19383#true} assume true; {19383#true} is VALID [2018-11-23 12:23:14,601 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {19383#true} {19393#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 12)))))} #87#return; {19393#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,601 INFO L273 TraceCheckUtils]: 50: Hoare triple {19393#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 12)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {19393#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,602 INFO L273 TraceCheckUtils]: 51: Hoare triple {19393#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 12)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19394#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,603 INFO L273 TraceCheckUtils]: 52: Hoare triple {19394#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |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; {19394#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,603 INFO L273 TraceCheckUtils]: 53: Hoare triple {19394#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 12)))))} assume #t~short6; {19394#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,604 INFO L256 TraceCheckUtils]: 54: Hoare triple {19394#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 12)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {19383#true} is VALID [2018-11-23 12:23:14,604 INFO L273 TraceCheckUtils]: 55: Hoare triple {19383#true} ~cond := #in~cond; {19383#true} is VALID [2018-11-23 12:23:14,604 INFO L273 TraceCheckUtils]: 56: Hoare triple {19383#true} assume !(0 == ~cond); {19383#true} is VALID [2018-11-23 12:23:14,604 INFO L273 TraceCheckUtils]: 57: Hoare triple {19383#true} assume true; {19383#true} is VALID [2018-11-23 12:23:14,605 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {19383#true} {19394#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 12)))))} #87#return; {19394#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,606 INFO L273 TraceCheckUtils]: 59: Hoare triple {19394#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 12)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {19394#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,606 INFO L273 TraceCheckUtils]: 60: Hoare triple {19394#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 12)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19395#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,607 INFO L273 TraceCheckUtils]: 61: Hoare triple {19395#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |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; {19395#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,607 INFO L273 TraceCheckUtils]: 62: Hoare triple {19395#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} assume #t~short6; {19395#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,607 INFO L256 TraceCheckUtils]: 63: Hoare triple {19395#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {19383#true} is VALID [2018-11-23 12:23:14,607 INFO L273 TraceCheckUtils]: 64: Hoare triple {19383#true} ~cond := #in~cond; {19383#true} is VALID [2018-11-23 12:23:14,607 INFO L273 TraceCheckUtils]: 65: Hoare triple {19383#true} assume !(0 == ~cond); {19383#true} is VALID [2018-11-23 12:23:14,607 INFO L273 TraceCheckUtils]: 66: Hoare triple {19383#true} assume true; {19383#true} is VALID [2018-11-23 12:23:14,677 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {19383#true} {19395#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} #87#return; {19395#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,678 INFO L273 TraceCheckUtils]: 68: Hoare triple {19395#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {19395#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:14,679 INFO L273 TraceCheckUtils]: 69: Hoare triple {19395#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19396#(<= 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:14,679 INFO L273 TraceCheckUtils]: 70: Hoare triple {19396#(<= 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; {19396#(<= 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:14,681 INFO L273 TraceCheckUtils]: 71: Hoare triple {19396#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} assume #t~short6; {19396#(<= 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:14,681 INFO L256 TraceCheckUtils]: 72: Hoare triple {19396#(<= 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)); {19383#true} is VALID [2018-11-23 12:23:14,681 INFO L273 TraceCheckUtils]: 73: Hoare triple {19383#true} ~cond := #in~cond; {19383#true} is VALID [2018-11-23 12:23:14,681 INFO L273 TraceCheckUtils]: 74: Hoare triple {19383#true} assume !(0 == ~cond); {19383#true} is VALID [2018-11-23 12:23:14,682 INFO L273 TraceCheckUtils]: 75: Hoare triple {19383#true} assume true; {19383#true} is VALID [2018-11-23 12:23:14,683 INFO L268 TraceCheckUtils]: 76: Hoare quadruple {19383#true} {19396#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} #87#return; {19396#(<= 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:14,683 INFO L273 TraceCheckUtils]: 77: Hoare triple {19396#(<= 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; {19396#(<= 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:14,685 INFO L273 TraceCheckUtils]: 78: Hoare triple {19396#(<= 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; {19397#(<= 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:14,687 INFO L273 TraceCheckUtils]: 79: Hoare triple {19397#(<= 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; {19398#|main_#t~short6|} is VALID [2018-11-23 12:23:14,687 INFO L273 TraceCheckUtils]: 80: Hoare triple {19398#|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; {19384#false} is VALID [2018-11-23 12:23:14,687 INFO L256 TraceCheckUtils]: 81: Hoare triple {19384#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {19384#false} is VALID [2018-11-23 12:23:14,688 INFO L273 TraceCheckUtils]: 82: Hoare triple {19384#false} ~cond := #in~cond; {19384#false} is VALID [2018-11-23 12:23:14,688 INFO L273 TraceCheckUtils]: 83: Hoare triple {19384#false} assume 0 == ~cond; {19384#false} is VALID [2018-11-23 12:23:14,688 INFO L273 TraceCheckUtils]: 84: Hoare triple {19384#false} assume !false; {19384#false} is VALID [2018-11-23 12:23:14,701 INFO L134 CoverageAnalysis]: Checked inductivity of 183 backedges. 18 proven. 105 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2018-11-23 12:23:14,701 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:14,701 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:23:14,710 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:23:14,767 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2018-11-23 12:23:14,768 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:14,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:14,791 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:14,942 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:14,946 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:14,948 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:14,950 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:14,960 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:14,960 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:19 [2018-11-23 12:23:14,965 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:14,965 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_40|, main_~CCCELVOL3~0]. (and (= main_~i~0 3) (= |#memory_int| (store |v_#memory_int_40| |main_~#volArray~0.base| (store (select |v_#memory_int_40| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)) main_~CCCELVOL3~0))) (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0)) [2018-11-23 12:23:14,966 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 3) (= 1 main_~CCCELVOL1~0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12))))) [2018-11-23 12:23:15,007 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:15,012 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:15,015 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:15,017 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:15,024 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:15,032 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:15,033 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-23 12:23:15,035 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:15,036 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_41|, main_~CCCELVOL2~0]. (let ((.cse0 (select |v_#memory_int_41| |main_~#volArray~0.base|)) (.cse1 (* 12 main_~i~0))) (and (= main_~i~0 3) (= (store |v_#memory_int_41| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 8)) main_~CCCELVOL2~0)) |#memory_int|) (= 1 main_~CCCELVOL1~0) (<= 7 (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 12)))))) [2018-11-23 12:23:15,036 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 3) (= 1 main_~CCCELVOL1~0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12))))) [2018-11-23 12:23:15,050 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:23:15,056 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:15,057 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:15,058 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:23:15,060 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:15,069 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:15,076 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:15,077 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:26, output treesize:22 [2018-11-23 12:23:16,167 INFO L256 TraceCheckUtils]: 0: Hoare triple {19383#true} call ULTIMATE.init(); {19383#true} is VALID [2018-11-23 12:23:16,167 INFO L273 TraceCheckUtils]: 1: Hoare triple {19383#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {19383#true} is VALID [2018-11-23 12:23:16,168 INFO L273 TraceCheckUtils]: 2: Hoare triple {19383#true} assume true; {19383#true} is VALID [2018-11-23 12:23:16,168 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {19383#true} {19383#true} #83#return; {19383#true} is VALID [2018-11-23 12:23:16,168 INFO L256 TraceCheckUtils]: 4: Hoare triple {19383#true} call #t~ret7 := main(); {19383#true} is VALID [2018-11-23 12:23:16,168 INFO L273 TraceCheckUtils]: 5: Hoare triple {19383#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {19383#true} is VALID [2018-11-23 12:23:16,180 INFO L273 TraceCheckUtils]: 6: Hoare triple {19383#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {19420#(and (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:16,181 INFO L273 TraceCheckUtils]: 7: Hoare triple {19420#(and (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {19424#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:16,181 INFO L273 TraceCheckUtils]: 8: Hoare triple {19424#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 7 main_~CCCELVOL3~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {19424#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:16,182 INFO L273 TraceCheckUtils]: 9: Hoare triple {19424#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {19424#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:16,182 INFO L273 TraceCheckUtils]: 10: Hoare triple {19424#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {19424#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:16,183 INFO L273 TraceCheckUtils]: 11: Hoare triple {19424#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {19424#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:16,183 INFO L273 TraceCheckUtils]: 12: Hoare triple {19424#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 7 main_~CCCELVOL3~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {19440#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:16,184 INFO L273 TraceCheckUtils]: 13: Hoare triple {19440#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {19440#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:16,185 INFO L273 TraceCheckUtils]: 14: Hoare triple {19440#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {19440#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:16,186 INFO L273 TraceCheckUtils]: 15: Hoare triple {19440#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {19440#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:16,187 INFO L273 TraceCheckUtils]: 16: Hoare triple {19440#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {19440#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:16,188 INFO L273 TraceCheckUtils]: 17: Hoare triple {19440#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {19456#(and (= main_~i~0 3) (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:16,188 INFO L273 TraceCheckUtils]: 18: Hoare triple {19456#(and (= main_~i~0 3) (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {19456#(and (= main_~i~0 3) (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:23:16,190 INFO L273 TraceCheckUtils]: 19: Hoare triple {19456#(and (= main_~i~0 3) (= 1 main_~CCCELVOL1~0) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {19463#(and (= main_~i~0 3) (= 1 main_~CCCELVOL1~0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} is VALID [2018-11-23 12:23:16,191 INFO L273 TraceCheckUtils]: 20: Hoare triple {19463#(and (= main_~i~0 3) (= 1 main_~CCCELVOL1~0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {19463#(and (= main_~i~0 3) (= 1 main_~CCCELVOL1~0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} is VALID [2018-11-23 12:23:16,192 INFO L273 TraceCheckUtils]: 21: Hoare triple {19463#(and (= main_~i~0 3) (= 1 main_~CCCELVOL1~0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {19470#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:16,193 INFO L273 TraceCheckUtils]: 22: Hoare triple {19470#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {19470#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:16,194 INFO L273 TraceCheckUtils]: 23: Hoare triple {19470#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {19470#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:16,195 INFO L273 TraceCheckUtils]: 24: Hoare triple {19470#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} ~i~0 := 0; {19480#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:16,196 INFO L273 TraceCheckUtils]: 25: Hoare triple {19480#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= 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; {19480#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:16,196 INFO L273 TraceCheckUtils]: 26: Hoare triple {19480#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 0))} assume #t~short6; {19480#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:16,198 INFO L256 TraceCheckUtils]: 27: Hoare triple {19480#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,199 INFO L273 TraceCheckUtils]: 28: Hoare triple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} ~cond := #in~cond; {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,199 INFO L273 TraceCheckUtils]: 29: Hoare triple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} assume !(0 == ~cond); {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,200 INFO L273 TraceCheckUtils]: 30: Hoare triple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} assume true; {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,201 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} {19480#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 0))} #87#return; {19480#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:16,214 INFO L273 TraceCheckUtils]: 32: Hoare triple {19480#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {19480#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:16,215 INFO L273 TraceCheckUtils]: 33: Hoare triple {19480#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19509#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:16,216 INFO L273 TraceCheckUtils]: 34: Hoare triple {19509#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} 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; {19509#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:16,216 INFO L273 TraceCheckUtils]: 35: Hoare triple {19509#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} assume #t~short6; {19509#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:16,217 INFO L256 TraceCheckUtils]: 36: Hoare triple {19509#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,218 INFO L273 TraceCheckUtils]: 37: Hoare triple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} ~cond := #in~cond; {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,218 INFO L273 TraceCheckUtils]: 38: Hoare triple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} assume !(0 == ~cond); {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,219 INFO L273 TraceCheckUtils]: 39: Hoare triple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} assume true; {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,220 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} {19509#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} #87#return; {19509#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:16,221 INFO L273 TraceCheckUtils]: 41: Hoare triple {19509#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {19509#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:16,222 INFO L273 TraceCheckUtils]: 42: Hoare triple {19509#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19537#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:16,223 INFO L273 TraceCheckUtils]: 43: Hoare triple {19537#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} 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; {19537#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:16,223 INFO L273 TraceCheckUtils]: 44: Hoare triple {19537#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} assume #t~short6; {19537#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:16,225 INFO L256 TraceCheckUtils]: 45: Hoare triple {19537#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,226 INFO L273 TraceCheckUtils]: 46: Hoare triple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} ~cond := #in~cond; {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,226 INFO L273 TraceCheckUtils]: 47: Hoare triple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} assume !(0 == ~cond); {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,227 INFO L273 TraceCheckUtils]: 48: Hoare triple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} assume true; {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,228 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} {19537#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} #87#return; {19537#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:16,229 INFO L273 TraceCheckUtils]: 50: Hoare triple {19537#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {19537#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:16,229 INFO L273 TraceCheckUtils]: 51: Hoare triple {19537#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 2) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19565#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:16,231 INFO L273 TraceCheckUtils]: 52: Hoare triple {19565#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} 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; {19565#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:16,231 INFO L273 TraceCheckUtils]: 53: Hoare triple {19565#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} assume #t~short6; {19565#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:16,233 INFO L256 TraceCheckUtils]: 54: Hoare triple {19565#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,234 INFO L273 TraceCheckUtils]: 55: Hoare triple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} ~cond := #in~cond; {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,234 INFO L273 TraceCheckUtils]: 56: Hoare triple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} assume !(0 == ~cond); {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,235 INFO L273 TraceCheckUtils]: 57: Hoare triple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} assume true; {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,236 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} {19565#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} #87#return; {19565#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:16,237 INFO L273 TraceCheckUtils]: 59: Hoare triple {19565#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {19565#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:16,238 INFO L273 TraceCheckUtils]: 60: Hoare triple {19565#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19593#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 4))} is VALID [2018-11-23 12:23:16,239 INFO L273 TraceCheckUtils]: 61: Hoare triple {19593#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 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; {19593#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 4))} is VALID [2018-11-23 12:23:16,239 INFO L273 TraceCheckUtils]: 62: Hoare triple {19593#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 4))} assume #t~short6; {19593#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 4))} is VALID [2018-11-23 12:23:16,241 INFO L256 TraceCheckUtils]: 63: Hoare triple {19593#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 4))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,242 INFO L273 TraceCheckUtils]: 64: Hoare triple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} ~cond := #in~cond; {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,242 INFO L273 TraceCheckUtils]: 65: Hoare triple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} assume !(0 == ~cond); {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,243 INFO L273 TraceCheckUtils]: 66: Hoare triple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} assume true; {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,244 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} {19593#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 4))} #87#return; {19593#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 4))} is VALID [2018-11-23 12:23:16,245 INFO L273 TraceCheckUtils]: 68: Hoare triple {19593#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 4))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {19593#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 4))} is VALID [2018-11-23 12:23:16,246 INFO L273 TraceCheckUtils]: 69: Hoare triple {19593#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19621#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 5))} is VALID [2018-11-23 12:23:16,247 INFO L273 TraceCheckUtils]: 70: Hoare triple {19621#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 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; {19621#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 5))} is VALID [2018-11-23 12:23:16,247 INFO L273 TraceCheckUtils]: 71: Hoare triple {19621#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 5))} assume #t~short6; {19621#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 5))} is VALID [2018-11-23 12:23:16,249 INFO L256 TraceCheckUtils]: 72: Hoare triple {19621#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 5))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,250 INFO L273 TraceCheckUtils]: 73: Hoare triple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} ~cond := #in~cond; {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,250 INFO L273 TraceCheckUtils]: 74: Hoare triple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} assume !(0 == ~cond); {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,251 INFO L273 TraceCheckUtils]: 75: Hoare triple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} assume true; {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} is VALID [2018-11-23 12:23:16,252 INFO L268 TraceCheckUtils]: 76: Hoare quadruple {19490#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_26| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_26| Int)) (and (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 24))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_26|) (+ |v_main_~#volArray~0.offset_BEFORE_CALL_26| 32)) 1)))} {19621#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 5))} #87#return; {19621#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 5))} is VALID [2018-11-23 12:23:16,253 INFO L273 TraceCheckUtils]: 77: Hoare triple {19621#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 5))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {19621#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 5))} is VALID [2018-11-23 12:23:16,254 INFO L273 TraceCheckUtils]: 78: Hoare triple {19621#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19649#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= main_~i~0 6) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:16,255 INFO L273 TraceCheckUtils]: 79: Hoare triple {19649#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) (<= main_~MINVAL~0 1) (= main_~i~0 6) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} 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; {19653#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) |main_#t~short6| (= main_~i~0 6) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:16,255 INFO L273 TraceCheckUtils]: 80: Hoare triple {19653#(and (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24))) |main_#t~short6| (= main_~i~0 6) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {19384#false} is VALID [2018-11-23 12:23:16,256 INFO L256 TraceCheckUtils]: 81: Hoare triple {19384#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {19384#false} is VALID [2018-11-23 12:23:16,256 INFO L273 TraceCheckUtils]: 82: Hoare triple {19384#false} ~cond := #in~cond; {19384#false} is VALID [2018-11-23 12:23:16,256 INFO L273 TraceCheckUtils]: 83: Hoare triple {19384#false} assume 0 == ~cond; {19384#false} is VALID [2018-11-23 12:23:16,256 INFO L273 TraceCheckUtils]: 84: Hoare triple {19384#false} assume !false; {19384#false} is VALID [2018-11-23 12:23:16,282 INFO L134 CoverageAnalysis]: Checked inductivity of 183 backedges. 18 proven. 105 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2018-11-23 12:23:16,301 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:16,301 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 17] total 31 [2018-11-23 12:23:16,302 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 85 [2018-11-23 12:23:16,302 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:16,302 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states. [2018-11-23 12:23:16,471 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:16,471 INFO L459 AbstractCegarLoop]: Interpolant automaton has 31 states [2018-11-23 12:23:16,472 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2018-11-23 12:23:16,472 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=825, Unknown=0, NotChecked=0, Total=930 [2018-11-23 12:23:16,472 INFO L87 Difference]: Start difference. First operand 357 states and 429 transitions. Second operand 31 states. [2018-11-23 12:23:37,361 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:37,361 INFO L93 Difference]: Finished difference Result 572 states and 681 transitions. [2018-11-23 12:23:37,361 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 93 states. [2018-11-23 12:23:37,361 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 85 [2018-11-23 12:23:37,361 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:37,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 12:23:37,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 379 transitions. [2018-11-23 12:23:37,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 12:23:37,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 379 transitions. [2018-11-23 12:23:37,371 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 93 states and 379 transitions. [2018-11-23 12:23:38,033 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 379 edges. 379 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:38,050 INFO L225 Difference]: With dead ends: 572 [2018-11-23 12:23:38,050 INFO L226 Difference]: Without dead ends: 528 [2018-11-23 12:23:38,054 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 188 GetRequests, 60 SyntacticMatches, 13 SemanticMatches, 115 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4562 ImplicationChecksByTransitivity, 6.1s TimeCoverageRelationStatistics Valid=1453, Invalid=12119, Unknown=0, NotChecked=0, Total=13572 [2018-11-23 12:23:38,054 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 528 states. [2018-11-23 12:23:42,254 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 528 to 383. [2018-11-23 12:23:42,254 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:42,254 INFO L82 GeneralOperation]: Start isEquivalent. First operand 528 states. Second operand 383 states. [2018-11-23 12:23:42,254 INFO L74 IsIncluded]: Start isIncluded. First operand 528 states. Second operand 383 states. [2018-11-23 12:23:42,254 INFO L87 Difference]: Start difference. First operand 528 states. Second operand 383 states. [2018-11-23 12:23:42,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:42,272 INFO L93 Difference]: Finished difference Result 528 states and 628 transitions. [2018-11-23 12:23:42,272 INFO L276 IsEmpty]: Start isEmpty. Operand 528 states and 628 transitions. [2018-11-23 12:23:42,274 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:42,274 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:42,274 INFO L74 IsIncluded]: Start isIncluded. First operand 383 states. Second operand 528 states. [2018-11-23 12:23:42,274 INFO L87 Difference]: Start difference. First operand 383 states. Second operand 528 states. [2018-11-23 12:23:42,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:42,292 INFO L93 Difference]: Finished difference Result 528 states and 628 transitions. [2018-11-23 12:23:42,292 INFO L276 IsEmpty]: Start isEmpty. Operand 528 states and 628 transitions. [2018-11-23 12:23:42,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:42,293 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:42,293 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:42,293 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:42,293 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 383 states. [2018-11-23 12:23:42,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 383 states to 383 states and 462 transitions. [2018-11-23 12:23:42,303 INFO L78 Accepts]: Start accepts. Automaton has 383 states and 462 transitions. Word has length 85 [2018-11-23 12:23:42,304 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:42,304 INFO L480 AbstractCegarLoop]: Abstraction has 383 states and 462 transitions. [2018-11-23 12:23:42,304 INFO L481 AbstractCegarLoop]: Interpolant automaton has 31 states. [2018-11-23 12:23:42,304 INFO L276 IsEmpty]: Start isEmpty. Operand 383 states and 462 transitions. [2018-11-23 12:23:42,305 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2018-11-23 12:23:42,305 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:42,306 INFO L402 BasicCegarLoop]: trace histogram [7, 7, 7, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:42,306 INFO L423 AbstractCegarLoop]: === Iteration 24 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:42,306 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:42,306 INFO L82 PathProgramCache]: Analyzing trace with hash 150625623, now seen corresponding path program 2 times [2018-11-23 12:23:42,306 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:42,306 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:42,307 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:42,307 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:42,307 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:42,320 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:42,968 INFO L256 TraceCheckUtils]: 0: Hoare triple {22187#true} call ULTIMATE.init(); {22187#true} is VALID [2018-11-23 12:23:42,968 INFO L273 TraceCheckUtils]: 1: Hoare triple {22187#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {22187#true} is VALID [2018-11-23 12:23:42,968 INFO L273 TraceCheckUtils]: 2: Hoare triple {22187#true} assume true; {22187#true} is VALID [2018-11-23 12:23:42,968 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {22187#true} {22187#true} #83#return; {22187#true} is VALID [2018-11-23 12:23:42,968 INFO L256 TraceCheckUtils]: 4: Hoare triple {22187#true} call #t~ret7 := main(); {22187#true} is VALID [2018-11-23 12:23:42,968 INFO L273 TraceCheckUtils]: 5: Hoare triple {22187#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {22187#true} is VALID [2018-11-23 12:23:42,969 INFO L273 TraceCheckUtils]: 6: Hoare triple {22187#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {22187#true} is VALID [2018-11-23 12:23:42,969 INFO L273 TraceCheckUtils]: 7: Hoare triple {22187#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {22189#(= main_~i~0 1)} is VALID [2018-11-23 12:23:42,969 INFO L273 TraceCheckUtils]: 8: Hoare triple {22189#(= main_~i~0 1)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {22189#(= main_~i~0 1)} is VALID [2018-11-23 12:23:42,970 INFO L273 TraceCheckUtils]: 9: Hoare triple {22189#(= main_~i~0 1)} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {22189#(= main_~i~0 1)} is VALID [2018-11-23 12:23:42,970 INFO L273 TraceCheckUtils]: 10: Hoare triple {22189#(= main_~i~0 1)} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {22189#(= main_~i~0 1)} is VALID [2018-11-23 12:23:42,970 INFO L273 TraceCheckUtils]: 11: Hoare triple {22189#(= main_~i~0 1)} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {22189#(= main_~i~0 1)} is VALID [2018-11-23 12:23:42,971 INFO L273 TraceCheckUtils]: 12: Hoare triple {22189#(= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {22190#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:42,971 INFO L273 TraceCheckUtils]: 13: Hoare triple {22190#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {22190#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:42,971 INFO L273 TraceCheckUtils]: 14: Hoare triple {22190#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {22190#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:42,972 INFO L273 TraceCheckUtils]: 15: Hoare triple {22190#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {22190#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:42,973 INFO L273 TraceCheckUtils]: 16: Hoare triple {22190#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {22190#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:42,973 INFO L273 TraceCheckUtils]: 17: Hoare triple {22190#(and (<= 2 main_~i~0) (<= main_~i~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {22191#(and (<= main_~i~0 3) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:42,974 INFO L273 TraceCheckUtils]: 18: Hoare triple {22191#(and (<= main_~i~0 3) (<= 3 main_~i~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {22191#(and (<= main_~i~0 3) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:42,975 INFO L273 TraceCheckUtils]: 19: Hoare triple {22191#(and (<= main_~i~0 3) (<= 3 main_~i~0))} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {22192#(and (<= main_~i~0 3) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:42,977 INFO L273 TraceCheckUtils]: 20: Hoare triple {22192#(and (<= main_~i~0 3) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= 3 main_~i~0))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {22192#(and (<= main_~i~0 3) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:42,978 INFO L273 TraceCheckUtils]: 21: Hoare triple {22192#(and (<= main_~i~0 3) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= 3 main_~i~0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {22192#(and (<= main_~i~0 3) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:42,979 INFO L273 TraceCheckUtils]: 22: Hoare triple {22192#(and (<= main_~i~0 3) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= 3 main_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {22193#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:42,979 INFO L273 TraceCheckUtils]: 23: Hoare triple {22193#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12)))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {22193#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:42,980 INFO L273 TraceCheckUtils]: 24: Hoare triple {22193#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12)))))} ~i~0 := 0; {22194#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:42,981 INFO L273 TraceCheckUtils]: 25: Hoare triple {22194#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |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; {22194#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:42,982 INFO L273 TraceCheckUtils]: 26: Hoare triple {22194#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} assume #t~short6; {22194#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:42,982 INFO L256 TraceCheckUtils]: 27: Hoare triple {22194#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {22187#true} is VALID [2018-11-23 12:23:42,982 INFO L273 TraceCheckUtils]: 28: Hoare triple {22187#true} ~cond := #in~cond; {22187#true} is VALID [2018-11-23 12:23:42,982 INFO L273 TraceCheckUtils]: 29: Hoare triple {22187#true} assume !(0 == ~cond); {22187#true} is VALID [2018-11-23 12:23:42,982 INFO L273 TraceCheckUtils]: 30: Hoare triple {22187#true} assume true; {22187#true} is VALID [2018-11-23 12:23:42,983 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {22187#true} {22194#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} #87#return; {22194#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:42,984 INFO L273 TraceCheckUtils]: 32: Hoare triple {22194#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {22194#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:42,985 INFO L273 TraceCheckUtils]: 33: Hoare triple {22194#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 9) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {22195#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:42,986 INFO L273 TraceCheckUtils]: 34: Hoare triple {22195#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |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; {22195#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:42,986 INFO L273 TraceCheckUtils]: 35: Hoare triple {22195#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |main_~#volArray~0.offset| (- 12)))))} assume #t~short6; {22195#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:42,986 INFO L256 TraceCheckUtils]: 36: Hoare triple {22195#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |main_~#volArray~0.offset| (- 12)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {22187#true} is VALID [2018-11-23 12:23:42,987 INFO L273 TraceCheckUtils]: 37: Hoare triple {22187#true} ~cond := #in~cond; {22187#true} is VALID [2018-11-23 12:23:42,987 INFO L273 TraceCheckUtils]: 38: Hoare triple {22187#true} assume !(0 == ~cond); {22187#true} is VALID [2018-11-23 12:23:42,987 INFO L273 TraceCheckUtils]: 39: Hoare triple {22187#true} assume true; {22187#true} is VALID [2018-11-23 12:23:42,988 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {22187#true} {22195#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |main_~#volArray~0.offset| (- 12)))))} #87#return; {22195#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:42,988 INFO L273 TraceCheckUtils]: 41: Hoare triple {22195#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |main_~#volArray~0.offset| (- 12)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {22195#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:42,990 INFO L273 TraceCheckUtils]: 42: Hoare triple {22195#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 8)) (+ |main_~#volArray~0.offset| (- 12)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {22196#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:42,990 INFO L273 TraceCheckUtils]: 43: Hoare triple {22196#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |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; {22196#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:42,991 INFO L273 TraceCheckUtils]: 44: Hoare triple {22196#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 12)))))} assume #t~short6; {22196#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:42,991 INFO L256 TraceCheckUtils]: 45: Hoare triple {22196#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 12)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {22187#true} is VALID [2018-11-23 12:23:42,991 INFO L273 TraceCheckUtils]: 46: Hoare triple {22187#true} ~cond := #in~cond; {22187#true} is VALID [2018-11-23 12:23:42,991 INFO L273 TraceCheckUtils]: 47: Hoare triple {22187#true} assume !(0 == ~cond); {22187#true} is VALID [2018-11-23 12:23:42,991 INFO L273 TraceCheckUtils]: 48: Hoare triple {22187#true} assume true; {22187#true} is VALID [2018-11-23 12:23:42,992 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {22187#true} {22196#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 12)))))} #87#return; {22196#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:42,993 INFO L273 TraceCheckUtils]: 50: Hoare triple {22196#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 12)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {22196#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:42,994 INFO L273 TraceCheckUtils]: 51: Hoare triple {22196#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 12)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {22197#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:42,994 INFO L273 TraceCheckUtils]: 52: Hoare triple {22197#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |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; {22197#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:42,995 INFO L273 TraceCheckUtils]: 53: Hoare triple {22197#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 12)))))} assume #t~short6; {22197#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:42,995 INFO L256 TraceCheckUtils]: 54: Hoare triple {22197#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 12)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {22187#true} is VALID [2018-11-23 12:23:42,995 INFO L273 TraceCheckUtils]: 55: Hoare triple {22187#true} ~cond := #in~cond; {22187#true} is VALID [2018-11-23 12:23:42,995 INFO L273 TraceCheckUtils]: 56: Hoare triple {22187#true} assume !(0 == ~cond); {22187#true} is VALID [2018-11-23 12:23:42,996 INFO L273 TraceCheckUtils]: 57: Hoare triple {22187#true} assume true; {22187#true} is VALID [2018-11-23 12:23:42,996 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {22187#true} {22197#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 12)))))} #87#return; {22197#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:42,997 INFO L273 TraceCheckUtils]: 59: Hoare triple {22197#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 12)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {22197#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:42,998 INFO L273 TraceCheckUtils]: 60: Hoare triple {22197#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 12)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {22198#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:42,998 INFO L273 TraceCheckUtils]: 61: Hoare triple {22198#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |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; {22198#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:42,999 INFO L273 TraceCheckUtils]: 62: Hoare triple {22198#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} assume #t~short6; {22198#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:42,999 INFO L256 TraceCheckUtils]: 63: Hoare triple {22198#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {22187#true} is VALID [2018-11-23 12:23:42,999 INFO L273 TraceCheckUtils]: 64: Hoare triple {22187#true} ~cond := #in~cond; {22187#true} is VALID [2018-11-23 12:23:43,000 INFO L273 TraceCheckUtils]: 65: Hoare triple {22187#true} assume !(0 == ~cond); {22187#true} is VALID [2018-11-23 12:23:43,000 INFO L273 TraceCheckUtils]: 66: Hoare triple {22187#true} assume true; {22187#true} is VALID [2018-11-23 12:23:43,001 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {22187#true} {22198#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} #87#return; {22198#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:43,001 INFO L273 TraceCheckUtils]: 68: Hoare triple {22198#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {22198#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:23:43,002 INFO L273 TraceCheckUtils]: 69: Hoare triple {22198#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {22199#(= 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:43,002 INFO L273 TraceCheckUtils]: 70: Hoare triple {22199#(= 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; {22199#(= 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:43,003 INFO L273 TraceCheckUtils]: 71: Hoare triple {22199#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} assume #t~short6; {22199#(= 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:43,003 INFO L256 TraceCheckUtils]: 72: Hoare triple {22199#(= 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)); {22187#true} is VALID [2018-11-23 12:23:43,003 INFO L273 TraceCheckUtils]: 73: Hoare triple {22187#true} ~cond := #in~cond; {22187#true} is VALID [2018-11-23 12:23:43,003 INFO L273 TraceCheckUtils]: 74: Hoare triple {22187#true} assume !(0 == ~cond); {22187#true} is VALID [2018-11-23 12:23:43,003 INFO L273 TraceCheckUtils]: 75: Hoare triple {22187#true} assume true; {22187#true} is VALID [2018-11-23 12:23:43,004 INFO L268 TraceCheckUtils]: 76: Hoare quadruple {22187#true} {22199#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} #87#return; {22199#(= 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:43,004 INFO L273 TraceCheckUtils]: 77: Hoare triple {22199#(= 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; {22199#(= 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:43,005 INFO L273 TraceCheckUtils]: 78: Hoare triple {22199#(= 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; {22200#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:23:43,006 INFO L273 TraceCheckUtils]: 79: Hoare triple {22200#(= 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; {22200#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:23:43,007 INFO L273 TraceCheckUtils]: 80: Hoare triple {22200#(= 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; {22201#|main_#t~short6|} is VALID [2018-11-23 12:23:43,007 INFO L256 TraceCheckUtils]: 81: Hoare triple {22201#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {22202#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-23 12:23:43,008 INFO L273 TraceCheckUtils]: 82: Hoare triple {22202#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {22203#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:23:43,008 INFO L273 TraceCheckUtils]: 83: Hoare triple {22203#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {22188#false} is VALID [2018-11-23 12:23:43,009 INFO L273 TraceCheckUtils]: 84: Hoare triple {22188#false} assume !false; {22188#false} is VALID [2018-11-23 12:23:43,022 INFO L134 CoverageAnalysis]: Checked inductivity of 183 backedges. 12 proven. 111 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2018-11-23 12:23:43,022 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:43,022 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:23:43,031 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:23:43,064 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:23:43,064 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:43,088 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:43,089 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:43,235 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:23:43,241 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:23:43,246 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:43,250 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:43,259 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:43,259 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-23 12:23:43,314 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:43,324 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:43,325 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:43,330 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:43,338 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:43,349 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:43,349 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-23 12:23:43,413 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:43,434 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:43,435 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:43,438 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:43,439 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:43,442 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:43,454 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:43,464 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:43,464 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-23 12:23:45,411 INFO L256 TraceCheckUtils]: 0: Hoare triple {22187#true} call ULTIMATE.init(); {22187#true} is VALID [2018-11-23 12:23:45,412 INFO L273 TraceCheckUtils]: 1: Hoare triple {22187#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {22187#true} is VALID [2018-11-23 12:23:45,412 INFO L273 TraceCheckUtils]: 2: Hoare triple {22187#true} assume true; {22187#true} is VALID [2018-11-23 12:23:45,412 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {22187#true} {22187#true} #83#return; {22187#true} is VALID [2018-11-23 12:23:45,412 INFO L256 TraceCheckUtils]: 4: Hoare triple {22187#true} call #t~ret7 := main(); {22187#true} is VALID [2018-11-23 12:23:45,412 INFO L273 TraceCheckUtils]: 5: Hoare triple {22187#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {22187#true} is VALID [2018-11-23 12:23:45,413 INFO L273 TraceCheckUtils]: 6: Hoare triple {22187#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {22225#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:23:45,413 INFO L273 TraceCheckUtils]: 7: Hoare triple {22225#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {22229#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:45,414 INFO L273 TraceCheckUtils]: 8: Hoare triple {22229#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {22229#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:45,414 INFO L273 TraceCheckUtils]: 9: Hoare triple {22229#(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 * (3 * ~i~0 - 3), 4); {22229#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:45,415 INFO L273 TraceCheckUtils]: 10: Hoare triple {22229#(and (= 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 * (3 * ~i~0 - 2), 4); {22229#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:45,416 INFO L273 TraceCheckUtils]: 11: Hoare triple {22229#(and (= 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 * (3 * ~i~0 - 1), 4); {22229#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:45,416 INFO L273 TraceCheckUtils]: 12: Hoare triple {22229#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {22245#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:45,417 INFO L273 TraceCheckUtils]: 13: Hoare triple {22245#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {22245#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:45,418 INFO L273 TraceCheckUtils]: 14: Hoare triple {22245#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {22245#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:45,419 INFO L273 TraceCheckUtils]: 15: Hoare triple {22245#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {22245#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:45,419 INFO L273 TraceCheckUtils]: 16: Hoare triple {22245#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {22245#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:45,420 INFO L273 TraceCheckUtils]: 17: Hoare triple {22245#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {22261#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:45,421 INFO L273 TraceCheckUtils]: 18: Hoare triple {22261#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {22261#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:45,422 INFO L273 TraceCheckUtils]: 19: Hoare triple {22261#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {22268#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} is VALID [2018-11-23 12:23:45,423 INFO L273 TraceCheckUtils]: 20: Hoare triple {22268#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {22272#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8))) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} is VALID [2018-11-23 12:23:45,425 INFO L273 TraceCheckUtils]: 21: Hoare triple {22272#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8))) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {22276#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:45,426 INFO L273 TraceCheckUtils]: 22: Hoare triple {22276#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {22276#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:45,427 INFO L273 TraceCheckUtils]: 23: Hoare triple {22276#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {22276#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:45,428 INFO L273 TraceCheckUtils]: 24: Hoare triple {22276#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} ~i~0 := 0; {22286#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:45,429 INFO L273 TraceCheckUtils]: 25: Hoare triple {22286#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= 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; {22286#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:45,430 INFO L273 TraceCheckUtils]: 26: Hoare triple {22286#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 0))} assume #t~short6; {22286#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:45,432 INFO L256 TraceCheckUtils]: 27: Hoare triple {22286#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,433 INFO L273 TraceCheckUtils]: 28: Hoare triple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} ~cond := #in~cond; {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,433 INFO L273 TraceCheckUtils]: 29: Hoare triple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} assume !(0 == ~cond); {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,434 INFO L273 TraceCheckUtils]: 30: Hoare triple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} assume true; {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,435 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} {22286#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 0))} #87#return; {22286#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:45,436 INFO L273 TraceCheckUtils]: 32: Hoare triple {22286#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {22286#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:45,437 INFO L273 TraceCheckUtils]: 33: Hoare triple {22286#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {22315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:45,438 INFO L273 TraceCheckUtils]: 34: Hoare triple {22315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} 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; {22315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:45,439 INFO L273 TraceCheckUtils]: 35: Hoare triple {22315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} assume #t~short6; {22315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:45,440 INFO L256 TraceCheckUtils]: 36: Hoare triple {22315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,441 INFO L273 TraceCheckUtils]: 37: Hoare triple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} ~cond := #in~cond; {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,441 INFO L273 TraceCheckUtils]: 38: Hoare triple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} assume !(0 == ~cond); {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,442 INFO L273 TraceCheckUtils]: 39: Hoare triple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} assume true; {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,443 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} {22315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} #87#return; {22315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:45,443 INFO L273 TraceCheckUtils]: 41: Hoare triple {22315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {22315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:45,445 INFO L273 TraceCheckUtils]: 42: Hoare triple {22315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {22343#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:45,446 INFO L273 TraceCheckUtils]: 43: Hoare triple {22343#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} 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; {22343#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:45,446 INFO L273 TraceCheckUtils]: 44: Hoare triple {22343#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} assume #t~short6; {22343#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:45,448 INFO L256 TraceCheckUtils]: 45: Hoare triple {22343#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,449 INFO L273 TraceCheckUtils]: 46: Hoare triple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} ~cond := #in~cond; {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,449 INFO L273 TraceCheckUtils]: 47: Hoare triple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} assume !(0 == ~cond); {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,450 INFO L273 TraceCheckUtils]: 48: Hoare triple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} assume true; {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,451 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} {22343#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} #87#return; {22343#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:45,452 INFO L273 TraceCheckUtils]: 50: Hoare triple {22343#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {22343#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:45,453 INFO L273 TraceCheckUtils]: 51: Hoare triple {22343#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {22371#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:45,454 INFO L273 TraceCheckUtils]: 52: Hoare triple {22371#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} 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; {22371#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:45,455 INFO L273 TraceCheckUtils]: 53: Hoare triple {22371#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} assume #t~short6; {22371#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:45,456 INFO L256 TraceCheckUtils]: 54: Hoare triple {22371#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,457 INFO L273 TraceCheckUtils]: 55: Hoare triple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} ~cond := #in~cond; {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,458 INFO L273 TraceCheckUtils]: 56: Hoare triple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} assume !(0 == ~cond); {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,458 INFO L273 TraceCheckUtils]: 57: Hoare triple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} assume true; {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,459 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} {22371#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} #87#return; {22371#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:45,460 INFO L273 TraceCheckUtils]: 59: Hoare triple {22371#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {22371#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:45,461 INFO L273 TraceCheckUtils]: 60: Hoare triple {22371#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {22399#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 4))} is VALID [2018-11-23 12:23:45,462 INFO L273 TraceCheckUtils]: 61: Hoare triple {22399#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 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; {22399#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 4))} is VALID [2018-11-23 12:23:45,463 INFO L273 TraceCheckUtils]: 62: Hoare triple {22399#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 4))} assume #t~short6; {22399#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 4))} is VALID [2018-11-23 12:23:45,465 INFO L256 TraceCheckUtils]: 63: Hoare triple {22399#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 4))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,466 INFO L273 TraceCheckUtils]: 64: Hoare triple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} ~cond := #in~cond; {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,466 INFO L273 TraceCheckUtils]: 65: Hoare triple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} assume !(0 == ~cond); {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,467 INFO L273 TraceCheckUtils]: 66: Hoare triple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} assume true; {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,467 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} {22399#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 4))} #87#return; {22399#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 4))} is VALID [2018-11-23 12:23:45,468 INFO L273 TraceCheckUtils]: 68: Hoare triple {22399#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 4))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {22399#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 4))} is VALID [2018-11-23 12:23:45,470 INFO L273 TraceCheckUtils]: 69: Hoare triple {22399#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {22427#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 5))} is VALID [2018-11-23 12:23:45,471 INFO L273 TraceCheckUtils]: 70: Hoare triple {22427#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 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; {22427#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 5))} is VALID [2018-11-23 12:23:45,472 INFO L273 TraceCheckUtils]: 71: Hoare triple {22427#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 5))} assume #t~short6; {22427#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 5))} is VALID [2018-11-23 12:23:45,473 INFO L256 TraceCheckUtils]: 72: Hoare triple {22427#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 5))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,474 INFO L273 TraceCheckUtils]: 73: Hoare triple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} ~cond := #in~cond; {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,475 INFO L273 TraceCheckUtils]: 74: Hoare triple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} assume !(0 == ~cond); {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,475 INFO L273 TraceCheckUtils]: 75: Hoare triple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} assume true; {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} is VALID [2018-11-23 12:23:45,476 INFO L268 TraceCheckUtils]: 76: Hoare quadruple {22296#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_32| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 24) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 32)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_32|) 28) 0)))} {22427#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 5))} #87#return; {22427#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 5))} is VALID [2018-11-23 12:23:45,477 INFO L273 TraceCheckUtils]: 77: Hoare triple {22427#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 5))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {22427#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 5))} is VALID [2018-11-23 12:23:45,478 INFO L273 TraceCheckUtils]: 78: Hoare triple {22427#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))) (= main_~i~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {22455#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= main_~i~0 6) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:45,480 INFO L273 TraceCheckUtils]: 79: Hoare triple {22455#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= main_~i~0 6) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} 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; {22455#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= main_~i~0 6) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} is VALID [2018-11-23 12:23:45,481 INFO L273 TraceCheckUtils]: 80: Hoare triple {22455#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= main_~i~0 6) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 32))))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {22201#|main_#t~short6|} is VALID [2018-11-23 12:23:45,481 INFO L256 TraceCheckUtils]: 81: Hoare triple {22201#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {22465#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:23:45,482 INFO L273 TraceCheckUtils]: 82: Hoare triple {22465#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {22469#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:23:45,483 INFO L273 TraceCheckUtils]: 83: Hoare triple {22469#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22188#false} is VALID [2018-11-23 12:23:45,483 INFO L273 TraceCheckUtils]: 84: Hoare triple {22188#false} assume !false; {22188#false} is VALID [2018-11-23 12:23:45,511 INFO L134 CoverageAnalysis]: Checked inductivity of 183 backedges. 0 proven. 123 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2018-11-23 12:23:45,530 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:45,530 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 20] total 34 [2018-11-23 12:23:45,531 INFO L78 Accepts]: Start accepts. Automaton has 34 states. Word has length 85 [2018-11-23 12:23:45,531 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:45,531 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 34 states. [2018-11-23 12:23:45,699 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 133 edges. 133 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:45,699 INFO L459 AbstractCegarLoop]: Interpolant automaton has 34 states [2018-11-23 12:23:45,699 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2018-11-23 12:23:45,700 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=147, Invalid=975, Unknown=0, NotChecked=0, Total=1122 [2018-11-23 12:23:45,700 INFO L87 Difference]: Start difference. First operand 383 states and 462 transitions. Second operand 34 states.