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/pr2_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 12:20:33,761 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:20:33,765 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:20:33,781 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:20:33,781 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:20:33,782 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:20:33,784 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:20:33,786 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:20:33,787 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:20:33,788 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:20:33,789 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:20:33,790 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:20:33,791 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:20:33,794 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:20:33,795 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:20:33,798 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:20:33,798 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:20:33,801 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:20:33,805 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:20:33,813 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:20:33,814 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:20:33,816 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:20:33,820 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:20:33,820 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:20:33,820 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:20:33,824 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:20:33,825 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:20:33,829 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:20:33,829 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:20:33,830 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:20:33,830 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:20:33,833 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:20:33,833 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:20:33,833 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:20:33,834 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:20:33,835 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:20:33,835 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:33,863 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:20:33,864 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:20:33,865 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:20:33,865 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 12:20:33,866 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:20:33,866 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:20:33,866 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 12:20:33,867 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:20:33,867 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:20:33,867 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:20:33,867 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:20:33,867 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:20:33,868 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:20:33,868 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:20:33,868 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:20:33,868 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:20:33,868 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:20:33,868 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:20:33,869 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:20:33,869 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:20:33,869 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 12:20:33,869 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:20:33,869 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 12:20:33,870 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:20:33,870 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:20:33,870 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:20:33,870 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:20:33,870 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 12:20:33,871 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:20:33,871 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:20:33,871 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 12:20:33,919 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:20:33,934 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:20:33,939 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:20:33,940 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:20:33,941 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:20:33,942 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-tiling/pr2_true-unreach-call.i [2018-11-23 12:20:34,006 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6a5986904/45ff5f6487e84f9792b8cca98e241719/FLAGcdb9e00d4 [2018-11-23 12:20:34,496 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:20:34,497 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-tiling/pr2_true-unreach-call.i [2018-11-23 12:20:34,502 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6a5986904/45ff5f6487e84f9792b8cca98e241719/FLAGcdb9e00d4 [2018-11-23 12:20:34,842 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6a5986904/45ff5f6487e84f9792b8cca98e241719 [2018-11-23 12:20:34,852 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:20:34,855 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:20:34,856 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:20:34,856 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:20:34,859 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:20:34,861 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:20:34" (1/1) ... [2018-11-23 12:20:34,864 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@73d395 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:34, skipping insertion in model container [2018-11-23 12:20:34,864 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:20:34" (1/1) ... [2018-11-23 12:20:34,874 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:20:34,894 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:20:35,158 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:20:35,164 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:20:35,204 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:20:35,228 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:20:35,229 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:35 WrapperNode [2018-11-23 12:20:35,229 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:20:35,230 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:20:35,230 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:20:35,230 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:20:35,239 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:35" (1/1) ... [2018-11-23 12:20:35,249 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:35" (1/1) ... [2018-11-23 12:20:35,257 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:20:35,258 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:20:35,258 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:20:35,258 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:20:35,268 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:35" (1/1) ... [2018-11-23 12:20:35,268 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:35" (1/1) ... [2018-11-23 12:20:35,270 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:35" (1/1) ... [2018-11-23 12:20:35,270 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:35" (1/1) ... [2018-11-23 12:20:35,281 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:35" (1/1) ... [2018-11-23 12:20:35,290 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:35" (1/1) ... [2018-11-23 12:20:35,291 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:35" (1/1) ... [2018-11-23 12:20:35,294 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:20:35,294 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:20:35,294 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:20:35,294 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:20:35,296 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:35" (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:35,423 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 12:20:35,424 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 12:20:35,424 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 12:20:35,424 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:20:35,424 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:20:35,424 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:20:35,424 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 12:20:35,425 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 12:20:35,425 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 12:20:35,425 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 12:20:35,425 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 12:20:35,425 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:20:36,056 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:20:36,056 INFO L280 CfgBuilder]: Removed 2 assue(true) statements. [2018-11-23 12:20:36,059 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:20:36 BoogieIcfgContainer [2018-11-23 12:20:36,059 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:20:36,060 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 12:20:36,060 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 12:20:36,063 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 12:20:36,064 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:20:34" (1/3) ... [2018-11-23 12:20:36,065 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5724662f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:20:36, skipping insertion in model container [2018-11-23 12:20:36,065 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:35" (2/3) ... [2018-11-23 12:20:36,065 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5724662f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:20:36, skipping insertion in model container [2018-11-23 12:20:36,066 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:20:36" (3/3) ... [2018-11-23 12:20:36,067 INFO L112 eAbstractionObserver]: Analyzing ICFG pr2_true-unreach-call.i [2018-11-23 12:20:36,076 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 12:20:36,083 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 12:20:36,100 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 12:20:36,132 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 12:20:36,133 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 12:20:36,133 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 12:20:36,133 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 12:20:36,134 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 12:20:36,134 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 12:20:36,134 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 12:20:36,134 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 12:20:36,134 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 12:20:36,152 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states. [2018-11-23 12:20:36,159 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 12:20:36,159 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:36,160 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:36,162 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:36,168 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:36,168 INFO L82 PathProgramCache]: Analyzing trace with hash 435909, now seen corresponding path program 1 times [2018-11-23 12:20:36,170 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:36,170 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:36,226 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:36,226 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:36,226 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:36,297 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:36,666 INFO L256 TraceCheckUtils]: 0: Hoare triple {33#true} call ULTIMATE.init(); {33#true} is VALID [2018-11-23 12:20:36,670 INFO L273 TraceCheckUtils]: 1: Hoare triple {33#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {33#true} is VALID [2018-11-23 12:20:36,671 INFO L273 TraceCheckUtils]: 2: Hoare triple {33#true} assume true; {33#true} is VALID [2018-11-23 12:20:36,672 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {33#true} {33#true} #77#return; {33#true} is VALID [2018-11-23 12:20:36,672 INFO L256 TraceCheckUtils]: 4: Hoare triple {33#true} call #t~ret7 := main(); {33#true} is VALID [2018-11-23 12:20:36,672 INFO L273 TraceCheckUtils]: 5: Hoare triple {33#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {33#true} is VALID [2018-11-23 12:20:36,673 INFO L273 TraceCheckUtils]: 6: Hoare triple {33#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {33#true} is VALID [2018-11-23 12:20:36,673 INFO L273 TraceCheckUtils]: 7: Hoare triple {33#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {33#true} is VALID [2018-11-23 12:20:36,674 INFO L273 TraceCheckUtils]: 8: Hoare triple {33#true} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {33#true} is VALID [2018-11-23 12:20:36,674 INFO L273 TraceCheckUtils]: 9: Hoare triple {33#true} ~i~0 := 0; {33#true} is VALID [2018-11-23 12:20:36,674 INFO L273 TraceCheckUtils]: 10: Hoare triple {33#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; {33#true} is VALID [2018-11-23 12:20:36,688 INFO L273 TraceCheckUtils]: 11: Hoare triple {33#true} assume #t~short6; {35#|main_#t~short6|} is VALID [2018-11-23 12:20:36,690 INFO L256 TraceCheckUtils]: 12: Hoare triple {35#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {36#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-23 12:20:36,692 INFO L273 TraceCheckUtils]: 13: Hoare triple {36#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {37#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:20:36,694 INFO L273 TraceCheckUtils]: 14: Hoare triple {37#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {34#false} is VALID [2018-11-23 12:20:36,694 INFO L273 TraceCheckUtils]: 15: Hoare triple {34#false} assume !false; {34#false} is VALID [2018-11-23 12:20:36,697 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:36,699 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:20:36,699 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 12:20:36,703 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 16 [2018-11-23 12:20:36,706 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:36,710 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 12:20:36,775 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:36,775 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 12:20:36,785 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 12:20:36,786 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:20:36,788 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 5 states. [2018-11-23 12:20:37,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:37,344 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2018-11-23 12:20:37,344 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 12:20:37,344 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 16 [2018-11-23 12:20:37,344 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:37,346 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:20:37,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2018-11-23 12:20:37,357 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:20:37,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2018-11-23 12:20:37,363 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2018-11-23 12:20:37,817 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:37,828 INFO L225 Difference]: With dead ends: 54 [2018-11-23 12:20:37,828 INFO L226 Difference]: Without dead ends: 30 [2018-11-23 12:20:37,832 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2018-11-23 12:20:37,847 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2018-11-23 12:20:37,898 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 29. [2018-11-23 12:20:37,899 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:37,899 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand 29 states. [2018-11-23 12:20:37,900 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 29 states. [2018-11-23 12:20:37,900 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 29 states. [2018-11-23 12:20:37,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:37,904 INFO L93 Difference]: Finished difference Result 30 states and 34 transitions. [2018-11-23 12:20:37,905 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 34 transitions. [2018-11-23 12:20:37,905 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:37,906 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:37,906 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 30 states. [2018-11-23 12:20:37,906 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 30 states. [2018-11-23 12:20:37,910 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:37,910 INFO L93 Difference]: Finished difference Result 30 states and 34 transitions. [2018-11-23 12:20:37,910 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 34 transitions. [2018-11-23 12:20:37,911 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:37,911 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:37,911 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:37,912 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:37,912 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 12:20:37,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 33 transitions. [2018-11-23 12:20:37,916 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 33 transitions. Word has length 16 [2018-11-23 12:20:37,917 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:37,917 INFO L480 AbstractCegarLoop]: Abstraction has 29 states and 33 transitions. [2018-11-23 12:20:37,917 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 12:20:37,917 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2018-11-23 12:20:37,918 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 12:20:37,918 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:37,918 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:37,919 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:37,919 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:37,919 INFO L82 PathProgramCache]: Analyzing trace with hash 2282951, now seen corresponding path program 1 times [2018-11-23 12:20:37,920 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:37,920 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:37,921 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:37,921 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:37,921 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:37,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:38,109 INFO L256 TraceCheckUtils]: 0: Hoare triple {208#true} call ULTIMATE.init(); {208#true} is VALID [2018-11-23 12:20:38,110 INFO L273 TraceCheckUtils]: 1: Hoare triple {208#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {208#true} is VALID [2018-11-23 12:20:38,110 INFO L273 TraceCheckUtils]: 2: Hoare triple {208#true} assume true; {208#true} is VALID [2018-11-23 12:20:38,110 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {208#true} {208#true} #77#return; {208#true} is VALID [2018-11-23 12:20:38,111 INFO L256 TraceCheckUtils]: 4: Hoare triple {208#true} call #t~ret7 := main(); {208#true} is VALID [2018-11-23 12:20:38,111 INFO L273 TraceCheckUtils]: 5: Hoare triple {208#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {208#true} is VALID [2018-11-23 12:20:38,112 INFO L273 TraceCheckUtils]: 6: Hoare triple {208#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {210#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:20:38,118 INFO L273 TraceCheckUtils]: 7: Hoare triple {210#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {211#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1))} is VALID [2018-11-23 12:20:38,121 INFO L273 TraceCheckUtils]: 8: Hoare triple {211#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {209#false} is VALID [2018-11-23 12:20:38,121 INFO L273 TraceCheckUtils]: 9: Hoare triple {209#false} ~i~0 := 0; {209#false} is VALID [2018-11-23 12:20:38,122 INFO L273 TraceCheckUtils]: 10: Hoare triple {209#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; {209#false} is VALID [2018-11-23 12:20:38,122 INFO L273 TraceCheckUtils]: 11: Hoare triple {209#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {209#false} is VALID [2018-11-23 12:20:38,122 INFO L256 TraceCheckUtils]: 12: Hoare triple {209#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {209#false} is VALID [2018-11-23 12:20:38,123 INFO L273 TraceCheckUtils]: 13: Hoare triple {209#false} ~cond := #in~cond; {209#false} is VALID [2018-11-23 12:20:38,123 INFO L273 TraceCheckUtils]: 14: Hoare triple {209#false} assume 0 == ~cond; {209#false} is VALID [2018-11-23 12:20:38,123 INFO L273 TraceCheckUtils]: 15: Hoare triple {209#false} assume !false; {209#false} is VALID [2018-11-23 12:20:38,125 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:38,125 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:20:38,125 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:20:38,127 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 16 [2018-11-23 12:20:38,127 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:38,128 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:20:38,173 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:38,173 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:20:38,173 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:20:38,173 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:20:38,174 INFO L87 Difference]: Start difference. First operand 29 states and 33 transitions. Second operand 4 states. [2018-11-23 12:20:38,403 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:38,403 INFO L93 Difference]: Finished difference Result 50 states and 58 transitions. [2018-11-23 12:20:38,403 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:20:38,404 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 16 [2018-11-23 12:20:38,404 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:38,404 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:20:38,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 48 transitions. [2018-11-23 12:20:38,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:20:38,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 48 transitions. [2018-11-23 12:20:38,411 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 48 transitions. [2018-11-23 12:20:38,512 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:38,515 INFO L225 Difference]: With dead ends: 50 [2018-11-23 12:20:38,515 INFO L226 Difference]: Without dead ends: 33 [2018-11-23 12:20:38,516 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:20:38,517 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2018-11-23 12:20:38,573 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 30. [2018-11-23 12:20:38,573 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:38,573 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand 30 states. [2018-11-23 12:20:38,574 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 30 states. [2018-11-23 12:20:38,574 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 30 states. [2018-11-23 12:20:38,577 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:38,577 INFO L93 Difference]: Finished difference Result 33 states and 39 transitions. [2018-11-23 12:20:38,577 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 39 transitions. [2018-11-23 12:20:38,578 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:38,578 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:38,578 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 33 states. [2018-11-23 12:20:38,579 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 33 states. [2018-11-23 12:20:38,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:38,581 INFO L93 Difference]: Finished difference Result 33 states and 39 transitions. [2018-11-23 12:20:38,582 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 39 transitions. [2018-11-23 12:20:38,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:38,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:38,583 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:38,583 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:38,583 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-23 12:20:38,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 34 transitions. [2018-11-23 12:20:38,585 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 34 transitions. Word has length 16 [2018-11-23 12:20:38,586 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:38,586 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 34 transitions. [2018-11-23 12:20:38,586 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:20:38,586 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 34 transitions. [2018-11-23 12:20:38,587 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 12:20:38,587 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:38,587 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] [2018-11-23 12:20:38,588 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:38,588 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:38,588 INFO L82 PathProgramCache]: Analyzing trace with hash -1753718226, now seen corresponding path program 1 times [2018-11-23 12:20:38,588 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:38,589 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:38,589 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:38,590 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:38,590 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:38,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:39,336 INFO L256 TraceCheckUtils]: 0: Hoare triple {387#true} call ULTIMATE.init(); {387#true} is VALID [2018-11-23 12:20:39,337 INFO L273 TraceCheckUtils]: 1: Hoare triple {387#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {387#true} is VALID [2018-11-23 12:20:39,337 INFO L273 TraceCheckUtils]: 2: Hoare triple {387#true} assume true; {387#true} is VALID [2018-11-23 12:20:39,338 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {387#true} {387#true} #77#return; {387#true} is VALID [2018-11-23 12:20:39,338 INFO L256 TraceCheckUtils]: 4: Hoare triple {387#true} call #t~ret7 := main(); {387#true} is VALID [2018-11-23 12:20:39,339 INFO L273 TraceCheckUtils]: 5: Hoare triple {387#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {387#true} is VALID [2018-11-23 12:20:39,340 INFO L273 TraceCheckUtils]: 6: Hoare triple {387#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {389#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:39,344 INFO L273 TraceCheckUtils]: 7: Hoare triple {389#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {390#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (and (<= (+ |main_~#volArray~0.offset| (* 8 main_~i~0)) 7) (<= 2 ~CELLCOUNT~0)) (= 8 (+ |main_~#volArray~0.offset| (* 8 main_~i~0)))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:39,345 INFO L273 TraceCheckUtils]: 8: Hoare triple {390#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (and (<= (+ |main_~#volArray~0.offset| (* 8 main_~i~0)) 7) (<= 2 ~CELLCOUNT~0)) (= 8 (+ |main_~#volArray~0.offset| (* 8 main_~i~0)))) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {390#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (and (<= (+ |main_~#volArray~0.offset| (* 8 main_~i~0)) 7) (<= 2 ~CELLCOUNT~0)) (= 8 (+ |main_~#volArray~0.offset| (* 8 main_~i~0)))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:39,346 INFO L273 TraceCheckUtils]: 9: Hoare triple {390#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (and (<= (+ |main_~#volArray~0.offset| (* 8 main_~i~0)) 7) (<= 2 ~CELLCOUNT~0)) (= 8 (+ |main_~#volArray~0.offset| (* 8 main_~i~0)))) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {391#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (not (= 8 (+ |main_~#volArray~0.offset| (* 8 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) main_~CCCELVOL1~0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8))))) (or (and (<= (+ |main_~#volArray~0.offset| (* 8 main_~i~0)) 7) (<= 2 ~CELLCOUNT~0)) (= 8 (+ |main_~#volArray~0.offset| (* 8 main_~i~0)))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:39,347 INFO L273 TraceCheckUtils]: 10: Hoare triple {391#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (not (= 8 (+ |main_~#volArray~0.offset| (* 8 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) main_~CCCELVOL1~0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8))))) (or (and (<= (+ |main_~#volArray~0.offset| (* 8 main_~i~0)) 7) (<= 2 ~CELLCOUNT~0)) (= 8 (+ |main_~#volArray~0.offset| (* 8 main_~i~0)))) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {391#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (not (= 8 (+ |main_~#volArray~0.offset| (* 8 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) main_~CCCELVOL1~0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8))))) (or (and (<= (+ |main_~#volArray~0.offset| (* 8 main_~i~0)) 7) (<= 2 ~CELLCOUNT~0)) (= 8 (+ |main_~#volArray~0.offset| (* 8 main_~i~0)))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:39,349 INFO L273 TraceCheckUtils]: 11: Hoare triple {391#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (not (= 8 (+ |main_~#volArray~0.offset| (* 8 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) main_~CCCELVOL1~0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8))))) (or (and (<= (+ |main_~#volArray~0.offset| (* 8 main_~i~0)) 7) (<= 2 ~CELLCOUNT~0)) (= 8 (+ |main_~#volArray~0.offset| (* 8 main_~i~0)))) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {392#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= |main_~#volArray~0.offset| 0) (or (<= (+ |main_~#volArray~0.offset| (* 8 main_~i~0)) (+ (* 4 ~CELLCOUNT~0) 7)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0))))} is VALID [2018-11-23 12:20:39,351 INFO L273 TraceCheckUtils]: 12: Hoare triple {392#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= |main_~#volArray~0.offset| 0) (or (<= (+ |main_~#volArray~0.offset| (* 8 main_~i~0)) (+ (* 4 ~CELLCOUNT~0) 7)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {393#(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:39,352 INFO L273 TraceCheckUtils]: 13: Hoare triple {393#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} ~i~0 := 0; {394#(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:39,353 INFO L273 TraceCheckUtils]: 14: Hoare triple {394#(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; {395#(and |main_#t~short6| (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:20:39,355 INFO L273 TraceCheckUtils]: 15: Hoare triple {395#(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; {388#false} is VALID [2018-11-23 12:20:39,355 INFO L256 TraceCheckUtils]: 16: Hoare triple {388#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {388#false} is VALID [2018-11-23 12:20:39,356 INFO L273 TraceCheckUtils]: 17: Hoare triple {388#false} ~cond := #in~cond; {388#false} is VALID [2018-11-23 12:20:39,356 INFO L273 TraceCheckUtils]: 18: Hoare triple {388#false} assume 0 == ~cond; {388#false} is VALID [2018-11-23 12:20:39,357 INFO L273 TraceCheckUtils]: 19: Hoare triple {388#false} assume !false; {388#false} is VALID [2018-11-23 12:20:39,360 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:39,361 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:20:39,361 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:39,371 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:39,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:39,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:39,425 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:20:39,646 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:39,661 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:39,667 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:39,669 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:39,683 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:39,684 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:19 [2018-11-23 12:20:39,687 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:39,688 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_13|, main_~CCCELVOL2~0]. (and (<= main_~MINVAL~0 main_~CCCELVOL2~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (store |v_#memory_int_13| |main_~#volArray~0.base| (store (select |v_#memory_int_13| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8)) main_~CCCELVOL2~0)) |#memory_int|)) [2018-11-23 12:20:39,688 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:20:39,938 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:39,945 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:39,949 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:39,953 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:39,963 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:39,972 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:39,973 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:24, output treesize:11 [2018-11-23 12:20:39,977 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:39,977 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_14|, main_~CCCELVOL1~0]. (let ((.cse0 (select |v_#memory_int_14| |main_~#volArray~0.base|))) (and (<= main_~MINVAL~0 (select .cse0 |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= |#memory_int| (store |v_#memory_int_14| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| 4) main_~CCCELVOL1~0))))) [2018-11-23 12:20:39,977 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:40,227 INFO L256 TraceCheckUtils]: 0: Hoare triple {387#true} call ULTIMATE.init(); {387#true} is VALID [2018-11-23 12:20:40,228 INFO L273 TraceCheckUtils]: 1: Hoare triple {387#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {387#true} is VALID [2018-11-23 12:20:40,228 INFO L273 TraceCheckUtils]: 2: Hoare triple {387#true} assume true; {387#true} is VALID [2018-11-23 12:20:40,229 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {387#true} {387#true} #77#return; {387#true} is VALID [2018-11-23 12:20:40,229 INFO L256 TraceCheckUtils]: 4: Hoare triple {387#true} call #t~ret7 := main(); {387#true} is VALID [2018-11-23 12:20:40,230 INFO L273 TraceCheckUtils]: 5: Hoare triple {387#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {387#true} is VALID [2018-11-23 12:20:40,233 INFO L273 TraceCheckUtils]: 6: Hoare triple {387#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {417#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:20:40,234 INFO L273 TraceCheckUtils]: 7: Hoare triple {417#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {421#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:40,235 INFO L273 TraceCheckUtils]: 8: Hoare triple {421#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {421#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:40,236 INFO L273 TraceCheckUtils]: 9: Hoare triple {421#(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 * (2 * ~i~0 - 2), 4); {428#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:40,238 INFO L273 TraceCheckUtils]: 10: Hoare triple {428#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 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 * (2 * ~i~0 - 1), 4); {393#(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:40,256 INFO L273 TraceCheckUtils]: 11: Hoare triple {393#(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; {393#(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:40,263 INFO L273 TraceCheckUtils]: 12: Hoare triple {393#(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 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {393#(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:40,271 INFO L273 TraceCheckUtils]: 13: Hoare triple {393#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} ~i~0 := 0; {394#(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:40,276 INFO L273 TraceCheckUtils]: 14: Hoare triple {394#(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; {444#|main_#t~short6|} is VALID [2018-11-23 12:20:40,278 INFO L273 TraceCheckUtils]: 15: Hoare triple {444#|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; {388#false} is VALID [2018-11-23 12:20:40,278 INFO L256 TraceCheckUtils]: 16: Hoare triple {388#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {388#false} is VALID [2018-11-23 12:20:40,278 INFO L273 TraceCheckUtils]: 17: Hoare triple {388#false} ~cond := #in~cond; {388#false} is VALID [2018-11-23 12:20:40,278 INFO L273 TraceCheckUtils]: 18: Hoare triple {388#false} assume 0 == ~cond; {388#false} is VALID [2018-11-23 12:20:40,279 INFO L273 TraceCheckUtils]: 19: Hoare triple {388#false} assume !false; {388#false} is VALID [2018-11-23 12:20:40,280 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:40,307 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:20:40,307 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2018-11-23 12:20:40,308 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 20 [2018-11-23 12:20:40,308 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:40,308 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-23 12:20:40,406 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:20:40,406 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-23 12:20:40,406 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 12:20:40,407 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2018-11-23 12:20:40,407 INFO L87 Difference]: Start difference. First operand 30 states and 34 transitions. Second operand 13 states. [2018-11-23 12:20:42,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:42,222 INFO L93 Difference]: Finished difference Result 78 states and 98 transitions. [2018-11-23 12:20:42,222 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 12:20:42,222 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 20 [2018-11-23 12:20:42,223 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:42,223 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 12:20:42,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 90 transitions. [2018-11-23 12:20:42,229 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 12:20:42,234 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 90 transitions. [2018-11-23 12:20:42,234 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 90 transitions. [2018-11-23 12:20:42,413 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:42,417 INFO L225 Difference]: With dead ends: 78 [2018-11-23 12:20:42,417 INFO L226 Difference]: Without dead ends: 62 [2018-11-23 12:20:42,418 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 15 SyntacticMatches, 3 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=130, Invalid=332, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:20:42,418 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2018-11-23 12:20:42,497 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 37. [2018-11-23 12:20:42,497 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:42,497 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand 37 states. [2018-11-23 12:20:42,498 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 37 states. [2018-11-23 12:20:42,498 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 37 states. [2018-11-23 12:20:42,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:42,504 INFO L93 Difference]: Finished difference Result 62 states and 80 transitions. [2018-11-23 12:20:42,504 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 80 transitions. [2018-11-23 12:20:42,505 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:42,505 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:42,505 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 62 states. [2018-11-23 12:20:42,505 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 62 states. [2018-11-23 12:20:42,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:42,510 INFO L93 Difference]: Finished difference Result 62 states and 80 transitions. [2018-11-23 12:20:42,510 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 80 transitions. [2018-11-23 12:20:42,511 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:42,512 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:42,512 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:42,512 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:42,512 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-23 12:20:42,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 44 transitions. [2018-11-23 12:20:42,514 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 44 transitions. Word has length 20 [2018-11-23 12:20:42,514 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:42,514 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 44 transitions. [2018-11-23 12:20:42,515 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-23 12:20:42,515 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 44 transitions. [2018-11-23 12:20:42,515 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 12:20:42,516 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:42,516 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] [2018-11-23 12:20:42,516 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:42,516 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:42,516 INFO L82 PathProgramCache]: Analyzing trace with hash -1052653648, now seen corresponding path program 1 times [2018-11-23 12:20:42,517 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:42,517 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:42,518 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:42,518 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:42,518 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:42,533 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:42,597 INFO L256 TraceCheckUtils]: 0: Hoare triple {754#true} call ULTIMATE.init(); {754#true} is VALID [2018-11-23 12:20:42,597 INFO L273 TraceCheckUtils]: 1: Hoare triple {754#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {754#true} is VALID [2018-11-23 12:20:42,598 INFO L273 TraceCheckUtils]: 2: Hoare triple {754#true} assume true; {754#true} is VALID [2018-11-23 12:20:42,598 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {754#true} {754#true} #77#return; {754#true} is VALID [2018-11-23 12:20:42,598 INFO L256 TraceCheckUtils]: 4: Hoare triple {754#true} call #t~ret7 := main(); {754#true} is VALID [2018-11-23 12:20:42,598 INFO L273 TraceCheckUtils]: 5: Hoare triple {754#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {754#true} is VALID [2018-11-23 12:20:42,599 INFO L273 TraceCheckUtils]: 6: Hoare triple {754#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {756#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-23 12:20:42,600 INFO L273 TraceCheckUtils]: 7: Hoare triple {756#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {756#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-23 12:20:42,601 INFO L273 TraceCheckUtils]: 8: Hoare triple {756#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {756#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-23 12:20:42,618 INFO L273 TraceCheckUtils]: 9: Hoare triple {756#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {757#(<= (+ main_~CCCELVOL1~0 3) main_~MINVAL~0)} is VALID [2018-11-23 12:20:42,623 INFO L273 TraceCheckUtils]: 10: Hoare triple {757#(<= (+ main_~CCCELVOL1~0 3) main_~MINVAL~0)} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {755#false} is VALID [2018-11-23 12:20:42,623 INFO L273 TraceCheckUtils]: 11: Hoare triple {755#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {755#false} is VALID [2018-11-23 12:20:42,623 INFO L273 TraceCheckUtils]: 12: Hoare triple {755#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {755#false} is VALID [2018-11-23 12:20:42,623 INFO L273 TraceCheckUtils]: 13: Hoare triple {755#false} ~i~0 := 0; {755#false} is VALID [2018-11-23 12:20:42,624 INFO L273 TraceCheckUtils]: 14: Hoare triple {755#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; {755#false} is VALID [2018-11-23 12:20:42,624 INFO L273 TraceCheckUtils]: 15: Hoare triple {755#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {755#false} is VALID [2018-11-23 12:20:42,624 INFO L256 TraceCheckUtils]: 16: Hoare triple {755#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {755#false} is VALID [2018-11-23 12:20:42,625 INFO L273 TraceCheckUtils]: 17: Hoare triple {755#false} ~cond := #in~cond; {755#false} is VALID [2018-11-23 12:20:42,625 INFO L273 TraceCheckUtils]: 18: Hoare triple {755#false} assume 0 == ~cond; {755#false} is VALID [2018-11-23 12:20:42,625 INFO L273 TraceCheckUtils]: 19: Hoare triple {755#false} assume !false; {755#false} is VALID [2018-11-23 12:20:42,626 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:42,626 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:20:42,626 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:20:42,626 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 20 [2018-11-23 12:20:42,627 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:42,627 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:20:42,659 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:42,659 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:20:42,659 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:20:42,659 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:20:42,660 INFO L87 Difference]: Start difference. First operand 37 states and 44 transitions. Second operand 4 states. [2018-11-23 12:20:42,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:42,919 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2018-11-23 12:20:42,919 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:20:42,920 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 20 [2018-11-23 12:20:42,920 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:42,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:20:42,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 63 transitions. [2018-11-23 12:20:42,923 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:20:42,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 63 transitions. [2018-11-23 12:20:42,925 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 63 transitions. [2018-11-23 12:20:43,007 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:43,011 INFO L225 Difference]: With dead ends: 64 [2018-11-23 12:20:43,011 INFO L226 Difference]: Without dead ends: 43 [2018-11-23 12:20:43,012 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:43,013 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2018-11-23 12:20:43,106 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 37. [2018-11-23 12:20:43,106 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:43,107 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 37 states. [2018-11-23 12:20:43,107 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 37 states. [2018-11-23 12:20:43,107 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 37 states. [2018-11-23 12:20:43,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:43,111 INFO L93 Difference]: Finished difference Result 43 states and 52 transitions. [2018-11-23 12:20:43,111 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 52 transitions. [2018-11-23 12:20:43,112 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:43,112 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:43,112 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 43 states. [2018-11-23 12:20:43,112 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 43 states. [2018-11-23 12:20:43,116 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:43,116 INFO L93 Difference]: Finished difference Result 43 states and 52 transitions. [2018-11-23 12:20:43,116 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 52 transitions. [2018-11-23 12:20:43,117 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:43,117 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:43,118 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:43,118 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:43,118 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-23 12:20:43,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 43 transitions. [2018-11-23 12:20:43,120 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 43 transitions. Word has length 20 [2018-11-23 12:20:43,120 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:43,120 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 43 transitions. [2018-11-23 12:20:43,120 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:20:43,121 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2018-11-23 12:20:43,121 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 12:20:43,121 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:43,122 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] [2018-11-23 12:20:43,122 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:43,122 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:43,122 INFO L82 PathProgramCache]: Analyzing trace with hash -1445680658, now seen corresponding path program 1 times [2018-11-23 12:20:43,122 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:43,123 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:43,123 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:43,124 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:43,124 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:43,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:43,841 INFO L256 TraceCheckUtils]: 0: Hoare triple {984#true} call ULTIMATE.init(); {984#true} is VALID [2018-11-23 12:20:43,841 INFO L273 TraceCheckUtils]: 1: Hoare triple {984#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {984#true} is VALID [2018-11-23 12:20:43,842 INFO L273 TraceCheckUtils]: 2: Hoare triple {984#true} assume true; {984#true} is VALID [2018-11-23 12:20:43,842 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {984#true} {984#true} #77#return; {984#true} is VALID [2018-11-23 12:20:43,842 INFO L256 TraceCheckUtils]: 4: Hoare triple {984#true} call #t~ret7 := main(); {984#true} is VALID [2018-11-23 12:20:43,843 INFO L273 TraceCheckUtils]: 5: Hoare triple {984#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {984#true} is VALID [2018-11-23 12:20:43,844 INFO L273 TraceCheckUtils]: 6: Hoare triple {984#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {986#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:43,845 INFO L273 TraceCheckUtils]: 7: Hoare triple {986#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {987#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:43,845 INFO L273 TraceCheckUtils]: 8: Hoare triple {987#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {987#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:43,846 INFO L273 TraceCheckUtils]: 9: Hoare triple {987#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= 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 * (2 * ~i~0 - 2), 4); {988#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:43,847 INFO L273 TraceCheckUtils]: 10: Hoare triple {988#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (= 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 * (2 * ~i~0 - 1), 4); {988#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:43,848 INFO L273 TraceCheckUtils]: 11: Hoare triple {988#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {989#(and (or (<= (+ |main_~#volArray~0.offset| (* 8 main_~i~0)) (+ (* 4 ~CELLCOUNT~0) 7)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0))) (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:43,851 INFO L273 TraceCheckUtils]: 12: Hoare triple {989#(and (or (<= (+ |main_~#volArray~0.offset| (* 8 main_~i~0)) (+ (* 4 ~CELLCOUNT~0) 7)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0))) (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= |main_~#volArray~0.offset| 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {990#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:43,852 INFO L273 TraceCheckUtils]: 13: Hoare triple {990#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (= |main_~#volArray~0.offset| 0))} ~i~0 := 0; {991#(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:43,857 INFO L273 TraceCheckUtils]: 14: Hoare triple {991#(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; {991#(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:43,858 INFO L273 TraceCheckUtils]: 15: Hoare triple {991#(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; {992#|main_#t~short6|} is VALID [2018-11-23 12:20:43,859 INFO L256 TraceCheckUtils]: 16: Hoare triple {992#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {993#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-23 12:20:43,859 INFO L273 TraceCheckUtils]: 17: Hoare triple {993#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {994#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:20:43,859 INFO L273 TraceCheckUtils]: 18: Hoare triple {994#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {985#false} is VALID [2018-11-23 12:20:43,860 INFO L273 TraceCheckUtils]: 19: Hoare triple {985#false} assume !false; {985#false} is VALID [2018-11-23 12:20:43,862 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:43,862 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:20:43,863 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:43,876 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:43,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:43,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:43,928 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:20:44,055 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:44,089 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:44,094 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:44,096 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:44,104 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:44,105 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-23 12:20:44,156 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 16 [2018-11-23 12:20:44,159 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:44,161 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:44,185 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:44,203 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:44,209 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:44,209 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:24, output treesize:20 [2018-11-23 12:20:44,472 INFO L256 TraceCheckUtils]: 0: Hoare triple {984#true} call ULTIMATE.init(); {984#true} is VALID [2018-11-23 12:20:44,473 INFO L273 TraceCheckUtils]: 1: Hoare triple {984#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {984#true} is VALID [2018-11-23 12:20:44,473 INFO L273 TraceCheckUtils]: 2: Hoare triple {984#true} assume true; {984#true} is VALID [2018-11-23 12:20:44,473 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {984#true} {984#true} #77#return; {984#true} is VALID [2018-11-23 12:20:44,473 INFO L256 TraceCheckUtils]: 4: Hoare triple {984#true} call #t~ret7 := main(); {984#true} is VALID [2018-11-23 12:20:44,474 INFO L273 TraceCheckUtils]: 5: Hoare triple {984#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {984#true} is VALID [2018-11-23 12:20:44,474 INFO L273 TraceCheckUtils]: 6: Hoare triple {984#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {1016#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:20:44,475 INFO L273 TraceCheckUtils]: 7: Hoare triple {1016#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {1020#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:44,475 INFO L273 TraceCheckUtils]: 8: Hoare triple {1020#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {1020#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:44,491 INFO L273 TraceCheckUtils]: 9: Hoare triple {1020#(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 * (2 * ~i~0 - 2), 4); {1027#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) 0))} is VALID [2018-11-23 12:20:44,492 INFO L273 TraceCheckUtils]: 10: Hoare triple {1027#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {1031#(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|) 0))} is VALID [2018-11-23 12:20:44,492 INFO L273 TraceCheckUtils]: 11: Hoare triple {1031#(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|) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1031#(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|) 0))} is VALID [2018-11-23 12:20:44,493 INFO L273 TraceCheckUtils]: 12: Hoare triple {1031#(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|) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {1031#(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|) 0))} is VALID [2018-11-23 12:20:44,495 INFO L273 TraceCheckUtils]: 13: Hoare triple {1031#(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|) 0))} ~i~0 := 0; {1041#(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|) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:20:44,496 INFO L273 TraceCheckUtils]: 14: Hoare triple {1041#(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|) 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; {1041#(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|) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:20:44,497 INFO L273 TraceCheckUtils]: 15: Hoare triple {1041#(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|) 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; {992#|main_#t~short6|} is VALID [2018-11-23 12:20:44,502 INFO L256 TraceCheckUtils]: 16: Hoare triple {992#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {1051#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:20:44,502 INFO L273 TraceCheckUtils]: 17: Hoare triple {1051#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1055#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:20:44,503 INFO L273 TraceCheckUtils]: 18: Hoare triple {1055#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {985#false} is VALID [2018-11-23 12:20:44,503 INFO L273 TraceCheckUtils]: 19: Hoare triple {985#false} assume !false; {985#false} is VALID [2018-11-23 12:20:44,504 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:44,523 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:20:44,523 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 18 [2018-11-23 12:20:44,524 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 20 [2018-11-23 12:20:44,524 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:44,524 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 12:20:44,583 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:44,584 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 12:20:44,584 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 12:20:44,584 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=248, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:20:44,585 INFO L87 Difference]: Start difference. First operand 37 states and 43 transitions. Second operand 18 states. [2018-11-23 12:20:46,624 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:46,624 INFO L93 Difference]: Finished difference Result 75 states and 93 transitions. [2018-11-23 12:20:46,624 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 12:20:46,624 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 20 [2018-11-23 12:20:46,625 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:46,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:20:46,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 77 transitions. [2018-11-23 12:20:46,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:20:46,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 77 transitions. [2018-11-23 12:20:46,632 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 77 transitions. [2018-11-23 12:20:46,733 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:46,736 INFO L225 Difference]: With dead ends: 75 [2018-11-23 12:20:46,736 INFO L226 Difference]: Without dead ends: 73 [2018-11-23 12:20:46,737 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 14 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 166 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=173, Invalid=639, Unknown=0, NotChecked=0, Total=812 [2018-11-23 12:20:46,737 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2018-11-23 12:20:46,813 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 50. [2018-11-23 12:20:46,813 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:46,813 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand 50 states. [2018-11-23 12:20:46,814 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 50 states. [2018-11-23 12:20:46,814 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 50 states. [2018-11-23 12:20:46,818 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:46,818 INFO L93 Difference]: Finished difference Result 73 states and 91 transitions. [2018-11-23 12:20:46,818 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 91 transitions. [2018-11-23 12:20:46,819 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:46,819 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:46,820 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 73 states. [2018-11-23 12:20:46,820 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 73 states. [2018-11-23 12:20:46,824 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:46,824 INFO L93 Difference]: Finished difference Result 73 states and 91 transitions. [2018-11-23 12:20:46,824 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 91 transitions. [2018-11-23 12:20:46,825 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:46,825 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:46,825 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:46,825 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:46,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2018-11-23 12:20:46,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 62 transitions. [2018-11-23 12:20:46,828 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 62 transitions. Word has length 20 [2018-11-23 12:20:46,828 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:46,828 INFO L480 AbstractCegarLoop]: Abstraction has 50 states and 62 transitions. [2018-11-23 12:20:46,828 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 12:20:46,828 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 62 transitions. [2018-11-23 12:20:46,829 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-23 12:20:46,829 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:46,829 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] [2018-11-23 12:20:46,829 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:46,830 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:46,830 INFO L82 PathProgramCache]: Analyzing trace with hash 1227860693, now seen corresponding path program 1 times [2018-11-23 12:20:46,830 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:46,830 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:46,831 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:46,831 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:46,831 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:46,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:46,903 INFO L256 TraceCheckUtils]: 0: Hoare triple {1395#true} call ULTIMATE.init(); {1395#true} is VALID [2018-11-23 12:20:46,903 INFO L273 TraceCheckUtils]: 1: Hoare triple {1395#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {1395#true} is VALID [2018-11-23 12:20:46,904 INFO L273 TraceCheckUtils]: 2: Hoare triple {1395#true} assume true; {1395#true} is VALID [2018-11-23 12:20:46,904 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1395#true} {1395#true} #77#return; {1395#true} is VALID [2018-11-23 12:20:46,904 INFO L256 TraceCheckUtils]: 4: Hoare triple {1395#true} call #t~ret7 := main(); {1395#true} is VALID [2018-11-23 12:20:46,904 INFO L273 TraceCheckUtils]: 5: Hoare triple {1395#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {1395#true} is VALID [2018-11-23 12:20:46,904 INFO L273 TraceCheckUtils]: 6: Hoare triple {1395#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {1395#true} is VALID [2018-11-23 12:20:46,904 INFO L273 TraceCheckUtils]: 7: Hoare triple {1395#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {1395#true} is VALID [2018-11-23 12:20:46,905 INFO L273 TraceCheckUtils]: 8: Hoare triple {1395#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {1395#true} is VALID [2018-11-23 12:20:46,905 INFO L273 TraceCheckUtils]: 9: Hoare triple {1395#true} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {1397#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:20:46,909 INFO L273 TraceCheckUtils]: 10: Hoare triple {1397#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {1397#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:20:46,909 INFO L273 TraceCheckUtils]: 11: Hoare triple {1397#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1397#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:20:46,911 INFO L273 TraceCheckUtils]: 12: Hoare triple {1397#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {1397#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:20:46,911 INFO L273 TraceCheckUtils]: 13: Hoare triple {1397#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {1396#false} is VALID [2018-11-23 12:20:46,911 INFO L273 TraceCheckUtils]: 14: Hoare triple {1396#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {1396#false} is VALID [2018-11-23 12:20:46,912 INFO L273 TraceCheckUtils]: 15: Hoare triple {1396#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1396#false} is VALID [2018-11-23 12:20:46,912 INFO L273 TraceCheckUtils]: 16: Hoare triple {1396#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {1396#false} is VALID [2018-11-23 12:20:46,912 INFO L273 TraceCheckUtils]: 17: Hoare triple {1396#false} ~i~0 := 0; {1396#false} is VALID [2018-11-23 12:20:46,912 INFO L273 TraceCheckUtils]: 18: Hoare triple {1396#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; {1396#false} is VALID [2018-11-23 12:20:46,912 INFO L273 TraceCheckUtils]: 19: Hoare triple {1396#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {1396#false} is VALID [2018-11-23 12:20:46,912 INFO L256 TraceCheckUtils]: 20: Hoare triple {1396#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {1396#false} is VALID [2018-11-23 12:20:46,913 INFO L273 TraceCheckUtils]: 21: Hoare triple {1396#false} ~cond := #in~cond; {1396#false} is VALID [2018-11-23 12:20:46,913 INFO L273 TraceCheckUtils]: 22: Hoare triple {1396#false} assume 0 == ~cond; {1396#false} is VALID [2018-11-23 12:20:46,913 INFO L273 TraceCheckUtils]: 23: Hoare triple {1396#false} assume !false; {1396#false} is VALID [2018-11-23 12:20:46,913 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:20:46,914 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:20:46,914 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:20:46,914 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 24 [2018-11-23 12:20:46,914 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:46,914 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:20:46,938 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:46,938 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:20:46,938 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:20:46,938 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:20:46,939 INFO L87 Difference]: Start difference. First operand 50 states and 62 transitions. Second operand 3 states. [2018-11-23 12:20:47,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:47,117 INFO L93 Difference]: Finished difference Result 77 states and 95 transitions. [2018-11-23 12:20:47,117 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:20:47,117 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 24 [2018-11-23 12:20:47,118 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:47,118 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:20:47,119 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 61 transitions. [2018-11-23 12:20:47,119 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:20:47,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 61 transitions. [2018-11-23 12:20:47,121 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 61 transitions. [2018-11-23 12:20:47,193 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:47,196 INFO L225 Difference]: With dead ends: 77 [2018-11-23 12:20:47,196 INFO L226 Difference]: Without dead ends: 56 [2018-11-23 12:20:47,197 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:47,197 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2018-11-23 12:20:47,346 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 50. [2018-11-23 12:20:47,346 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:47,346 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand 50 states. [2018-11-23 12:20:47,346 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 50 states. [2018-11-23 12:20:47,346 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 50 states. [2018-11-23 12:20:47,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:47,350 INFO L93 Difference]: Finished difference Result 56 states and 69 transitions. [2018-11-23 12:20:47,350 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 69 transitions. [2018-11-23 12:20:47,350 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:47,350 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:47,350 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 56 states. [2018-11-23 12:20:47,351 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 56 states. [2018-11-23 12:20:47,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:47,354 INFO L93 Difference]: Finished difference Result 56 states and 69 transitions. [2018-11-23 12:20:47,354 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 69 transitions. [2018-11-23 12:20:47,355 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:47,355 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:47,355 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:47,355 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:47,355 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2018-11-23 12:20:47,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 60 transitions. [2018-11-23 12:20:47,357 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 60 transitions. Word has length 24 [2018-11-23 12:20:47,357 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:47,357 INFO L480 AbstractCegarLoop]: Abstraction has 50 states and 60 transitions. [2018-11-23 12:20:47,358 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:20:47,358 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 60 transitions. [2018-11-23 12:20:47,358 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-23 12:20:47,358 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:47,358 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:20:47,359 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:47,359 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:47,359 INFO L82 PathProgramCache]: Analyzing trace with hash -1764184813, now seen corresponding path program 1 times [2018-11-23 12:20:47,359 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:47,359 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:47,360 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:47,360 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:47,360 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:47,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:47,418 INFO L256 TraceCheckUtils]: 0: Hoare triple {1682#true} call ULTIMATE.init(); {1682#true} is VALID [2018-11-23 12:20:47,418 INFO L273 TraceCheckUtils]: 1: Hoare triple {1682#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {1682#true} is VALID [2018-11-23 12:20:47,419 INFO L273 TraceCheckUtils]: 2: Hoare triple {1682#true} assume true; {1682#true} is VALID [2018-11-23 12:20:47,419 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1682#true} {1682#true} #77#return; {1682#true} is VALID [2018-11-23 12:20:47,419 INFO L256 TraceCheckUtils]: 4: Hoare triple {1682#true} call #t~ret7 := main(); {1682#true} is VALID [2018-11-23 12:20:47,420 INFO L273 TraceCheckUtils]: 5: Hoare triple {1682#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {1682#true} is VALID [2018-11-23 12:20:47,420 INFO L273 TraceCheckUtils]: 6: Hoare triple {1682#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {1682#true} is VALID [2018-11-23 12:20:47,420 INFO L273 TraceCheckUtils]: 7: Hoare triple {1682#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {1682#true} is VALID [2018-11-23 12:20:47,420 INFO L273 TraceCheckUtils]: 8: Hoare triple {1682#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {1682#true} is VALID [2018-11-23 12:20:47,421 INFO L273 TraceCheckUtils]: 9: Hoare triple {1682#true} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {1684#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:20:47,422 INFO L273 TraceCheckUtils]: 10: Hoare triple {1684#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {1684#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:20:47,423 INFO L273 TraceCheckUtils]: 11: Hoare triple {1684#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1684#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:20:47,423 INFO L273 TraceCheckUtils]: 12: Hoare triple {1684#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {1684#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:20:47,423 INFO L273 TraceCheckUtils]: 13: Hoare triple {1684#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {1683#false} is VALID [2018-11-23 12:20:47,424 INFO L273 TraceCheckUtils]: 14: Hoare triple {1683#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {1683#false} is VALID [2018-11-23 12:20:47,424 INFO L273 TraceCheckUtils]: 15: Hoare triple {1683#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1683#false} is VALID [2018-11-23 12:20:47,424 INFO L273 TraceCheckUtils]: 16: Hoare triple {1683#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {1683#false} is VALID [2018-11-23 12:20:47,424 INFO L273 TraceCheckUtils]: 17: Hoare triple {1683#false} ~i~0 := 0; {1683#false} is VALID [2018-11-23 12:20:47,424 INFO L273 TraceCheckUtils]: 18: Hoare triple {1683#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; {1683#false} is VALID [2018-11-23 12:20:47,424 INFO L273 TraceCheckUtils]: 19: Hoare triple {1683#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {1683#false} is VALID [2018-11-23 12:20:47,425 INFO L256 TraceCheckUtils]: 20: Hoare triple {1683#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {1683#false} is VALID [2018-11-23 12:20:47,425 INFO L273 TraceCheckUtils]: 21: Hoare triple {1683#false} ~cond := #in~cond; {1683#false} is VALID [2018-11-23 12:20:47,425 INFO L273 TraceCheckUtils]: 22: Hoare triple {1683#false} assume 0 == ~cond; {1683#false} is VALID [2018-11-23 12:20:47,426 INFO L273 TraceCheckUtils]: 23: Hoare triple {1683#false} assume !false; {1683#false} is VALID [2018-11-23 12:20:47,426 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:20:47,427 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:20:47,427 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:20:47,427 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 24 [2018-11-23 12:20:47,427 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:47,427 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:20:47,446 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:47,447 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:20:47,447 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:20:47,447 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:20:47,447 INFO L87 Difference]: Start difference. First operand 50 states and 60 transitions. Second operand 3 states. [2018-11-23 12:20:47,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:47,636 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2018-11-23 12:20:47,636 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:20:47,636 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 24 [2018-11-23 12:20:47,636 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:47,637 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:20:47,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 60 transitions. [2018-11-23 12:20:47,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:20:47,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 60 transitions. [2018-11-23 12:20:47,640 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 60 transitions. [2018-11-23 12:20:47,701 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:47,703 INFO L225 Difference]: With dead ends: 72 [2018-11-23 12:20:47,703 INFO L226 Difference]: Without dead ends: 51 [2018-11-23 12:20:47,704 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:47,705 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2018-11-23 12:20:47,804 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 45. [2018-11-23 12:20:47,805 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:47,805 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand 45 states. [2018-11-23 12:20:47,805 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 45 states. [2018-11-23 12:20:47,805 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 45 states. [2018-11-23 12:20:47,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:47,808 INFO L93 Difference]: Finished difference Result 51 states and 62 transitions. [2018-11-23 12:20:47,808 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 62 transitions. [2018-11-23 12:20:47,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:47,808 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:47,808 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 51 states. [2018-11-23 12:20:47,809 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 51 states. [2018-11-23 12:20:47,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:47,811 INFO L93 Difference]: Finished difference Result 51 states and 62 transitions. [2018-11-23 12:20:47,811 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 62 transitions. [2018-11-23 12:20:47,811 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:47,811 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:47,811 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:47,811 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:47,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-11-23 12:20:47,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 53 transitions. [2018-11-23 12:20:47,813 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 53 transitions. Word has length 24 [2018-11-23 12:20:47,813 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:47,813 INFO L480 AbstractCegarLoop]: Abstraction has 45 states and 53 transitions. [2018-11-23 12:20:47,813 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:20:47,813 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 53 transitions. [2018-11-23 12:20:47,813 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2018-11-23 12:20:47,813 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:47,814 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] [2018-11-23 12:20:47,814 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:47,814 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:47,814 INFO L82 PathProgramCache]: Analyzing trace with hash 1419737983, now seen corresponding path program 1 times [2018-11-23 12:20:47,814 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:47,814 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:47,815 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:47,815 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:47,815 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:47,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:48,237 INFO L256 TraceCheckUtils]: 0: Hoare triple {1947#true} call ULTIMATE.init(); {1947#true} is VALID [2018-11-23 12:20:48,237 INFO L273 TraceCheckUtils]: 1: Hoare triple {1947#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {1947#true} is VALID [2018-11-23 12:20:48,238 INFO L273 TraceCheckUtils]: 2: Hoare triple {1947#true} assume true; {1947#true} is VALID [2018-11-23 12:20:48,238 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1947#true} {1947#true} #77#return; {1947#true} is VALID [2018-11-23 12:20:48,238 INFO L256 TraceCheckUtils]: 4: Hoare triple {1947#true} call #t~ret7 := main(); {1947#true} is VALID [2018-11-23 12:20:48,239 INFO L273 TraceCheckUtils]: 5: Hoare triple {1947#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {1947#true} is VALID [2018-11-23 12:20:48,240 INFO L273 TraceCheckUtils]: 6: Hoare triple {1947#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {1949#(and (<= 2 ~CELLCOUNT~0) (= 1 main_~CCCELVOL1~0))} is VALID [2018-11-23 12:20:48,241 INFO L273 TraceCheckUtils]: 7: Hoare triple {1949#(and (<= 2 ~CELLCOUNT~0) (= 1 main_~CCCELVOL1~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {1950#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0) (= 1 main_~CCCELVOL1~0) (= main_~i~0 1))} is VALID [2018-11-23 12:20:48,242 INFO L273 TraceCheckUtils]: 8: Hoare triple {1950#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0) (= 1 main_~CCCELVOL1~0) (= main_~i~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {1950#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0) (= 1 main_~CCCELVOL1~0) (= main_~i~0 1))} is VALID [2018-11-23 12:20:48,244 INFO L273 TraceCheckUtils]: 9: Hoare triple {1950#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0) (= 1 main_~CCCELVOL1~0) (= main_~i~0 1))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {1950#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0) (= 1 main_~CCCELVOL1~0) (= main_~i~0 1))} is VALID [2018-11-23 12:20:48,245 INFO L273 TraceCheckUtils]: 10: Hoare triple {1950#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0) (= 1 main_~CCCELVOL1~0) (= main_~i~0 1))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {1951#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)))) (= main_~i~0 1))} is VALID [2018-11-23 12:20:48,247 INFO L273 TraceCheckUtils]: 11: Hoare triple {1951#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)))) (= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1952#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (<= (* 2 main_~i~0) (+ ~CELLCOUNT~0 1)) (and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 2 main_~i~0) (- ~CELLCOUNT~0))) (+ |main_~#volArray~0.offset| (- 4))))))) (<= (* 2 main_~i~0) (+ ~CELLCOUNT~0 2)))} is VALID [2018-11-23 12:20:48,250 INFO L273 TraceCheckUtils]: 12: Hoare triple {1952#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (<= (* 2 main_~i~0) (+ ~CELLCOUNT~0 1)) (and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 2 main_~i~0) (- ~CELLCOUNT~0))) (+ |main_~#volArray~0.offset| (- 4))))))) (<= (* 2 main_~i~0) (+ ~CELLCOUNT~0 2)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {1953#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} is VALID [2018-11-23 12:20:48,253 INFO L273 TraceCheckUtils]: 13: Hoare triple {1953#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} ~i~0 := 0; {1954#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1) (= main_~i~0 0))} is VALID [2018-11-23 12:20:48,254 INFO L273 TraceCheckUtils]: 14: Hoare triple {1954#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 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; {1954#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1) (= main_~i~0 0))} is VALID [2018-11-23 12:20:48,254 INFO L273 TraceCheckUtils]: 15: Hoare triple {1954#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1) (= main_~i~0 0))} assume #t~short6; {1954#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1) (= main_~i~0 0))} is VALID [2018-11-23 12:20:48,255 INFO L256 TraceCheckUtils]: 16: Hoare triple {1954#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {1947#true} is VALID [2018-11-23 12:20:48,255 INFO L273 TraceCheckUtils]: 17: Hoare triple {1947#true} ~cond := #in~cond; {1947#true} is VALID [2018-11-23 12:20:48,255 INFO L273 TraceCheckUtils]: 18: Hoare triple {1947#true} assume !(0 == ~cond); {1947#true} is VALID [2018-11-23 12:20:48,256 INFO L273 TraceCheckUtils]: 19: Hoare triple {1947#true} assume true; {1947#true} is VALID [2018-11-23 12:20:48,257 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {1947#true} {1954#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1) (= main_~i~0 0))} #81#return; {1954#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1) (= main_~i~0 0))} is VALID [2018-11-23 12:20:48,257 INFO L273 TraceCheckUtils]: 21: Hoare triple {1954#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {1954#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1) (= main_~i~0 0))} is VALID [2018-11-23 12:20:48,258 INFO L273 TraceCheckUtils]: 22: Hoare triple {1954#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1955#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))))} is VALID [2018-11-23 12:20:48,264 INFO L273 TraceCheckUtils]: 23: Hoare triple {1955#(and (<= main_~MINVAL~0 1) (= 1 (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; {1956#|main_#t~short6|} is VALID [2018-11-23 12:20:48,264 INFO L273 TraceCheckUtils]: 24: Hoare triple {1956#|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; {1948#false} is VALID [2018-11-23 12:20:48,265 INFO L256 TraceCheckUtils]: 25: Hoare triple {1948#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {1948#false} is VALID [2018-11-23 12:20:48,265 INFO L273 TraceCheckUtils]: 26: Hoare triple {1948#false} ~cond := #in~cond; {1948#false} is VALID [2018-11-23 12:20:48,265 INFO L273 TraceCheckUtils]: 27: Hoare triple {1948#false} assume 0 == ~cond; {1948#false} is VALID [2018-11-23 12:20:48,265 INFO L273 TraceCheckUtils]: 28: Hoare triple {1948#false} assume !false; {1948#false} is VALID [2018-11-23 12:20:48,267 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:48,268 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:20:48,268 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:48,277 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:48,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:48,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:48,307 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:20:48,371 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:20:48,380 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:20:48,382 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:48,386 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,399 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,399 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:13 [2018-11-23 12:20:48,401 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:48,401 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_17|, main_~CCCELVOL1~0]. (and (= (store |v_#memory_int_17| |main_~#volArray~0.base| (store (select |v_#memory_int_17| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4) main_~CCCELVOL1~0)) |#memory_int|) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:20:48,402 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:48,700 INFO L256 TraceCheckUtils]: 0: Hoare triple {1947#true} call ULTIMATE.init(); {1947#true} is VALID [2018-11-23 12:20:48,700 INFO L273 TraceCheckUtils]: 1: Hoare triple {1947#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {1947#true} is VALID [2018-11-23 12:20:48,700 INFO L273 TraceCheckUtils]: 2: Hoare triple {1947#true} assume true; {1947#true} is VALID [2018-11-23 12:20:48,700 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1947#true} {1947#true} #77#return; {1947#true} is VALID [2018-11-23 12:20:48,701 INFO L256 TraceCheckUtils]: 4: Hoare triple {1947#true} call #t~ret7 := main(); {1947#true} is VALID [2018-11-23 12:20:48,701 INFO L273 TraceCheckUtils]: 5: Hoare triple {1947#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {1947#true} is VALID [2018-11-23 12:20:48,701 INFO L273 TraceCheckUtils]: 6: Hoare triple {1947#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {1978#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:20:48,706 INFO L273 TraceCheckUtils]: 7: Hoare triple {1978#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {1982#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:48,708 INFO L273 TraceCheckUtils]: 8: Hoare triple {1982#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {1982#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:48,710 INFO L273 TraceCheckUtils]: 9: Hoare triple {1982#(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 * (2 * ~i~0 - 2), 4); {1982#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:48,710 INFO L273 TraceCheckUtils]: 10: Hoare triple {1982#(and (= 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 * (2 * ~i~0 - 1), 4); {1992#(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:48,712 INFO L273 TraceCheckUtils]: 11: Hoare triple {1992#(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; {1992#(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:48,712 INFO L273 TraceCheckUtils]: 12: Hoare triple {1992#(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 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {1992#(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:48,714 INFO L273 TraceCheckUtils]: 13: Hoare triple {1992#(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; {2002#(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:48,714 INFO L273 TraceCheckUtils]: 14: Hoare triple {2002#(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; {2002#(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:48,716 INFO L273 TraceCheckUtils]: 15: Hoare triple {2002#(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; {2002#(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:48,716 INFO L256 TraceCheckUtils]: 16: Hoare triple {2002#(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)); {1947#true} is VALID [2018-11-23 12:20:48,716 INFO L273 TraceCheckUtils]: 17: Hoare triple {1947#true} ~cond := #in~cond; {1947#true} is VALID [2018-11-23 12:20:48,717 INFO L273 TraceCheckUtils]: 18: Hoare triple {1947#true} assume !(0 == ~cond); {1947#true} is VALID [2018-11-23 12:20:48,717 INFO L273 TraceCheckUtils]: 19: Hoare triple {1947#true} assume true; {1947#true} is VALID [2018-11-23 12:20:48,722 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {1947#true} {2002#(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))} #81#return; {2002#(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:48,722 INFO L273 TraceCheckUtils]: 21: Hoare triple {2002#(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; {2002#(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:48,723 INFO L273 TraceCheckUtils]: 22: Hoare triple {2002#(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; {2030#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} is VALID [2018-11-23 12:20:48,725 INFO L273 TraceCheckUtils]: 23: Hoare triple {2030#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 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; {1956#|main_#t~short6|} is VALID [2018-11-23 12:20:48,725 INFO L273 TraceCheckUtils]: 24: Hoare triple {1956#|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; {1948#false} is VALID [2018-11-23 12:20:48,726 INFO L256 TraceCheckUtils]: 25: Hoare triple {1948#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {1948#false} is VALID [2018-11-23 12:20:48,726 INFO L273 TraceCheckUtils]: 26: Hoare triple {1948#false} ~cond := #in~cond; {1948#false} is VALID [2018-11-23 12:20:48,726 INFO L273 TraceCheckUtils]: 27: Hoare triple {1948#false} assume 0 == ~cond; {1948#false} is VALID [2018-11-23 12:20:48,727 INFO L273 TraceCheckUtils]: 28: Hoare triple {1948#false} assume !false; {1948#false} is VALID [2018-11-23 12:20:48,730 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:48,749 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:20:48,750 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 15 [2018-11-23 12:20:48,750 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 29 [2018-11-23 12:20:48,750 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:48,751 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 12:20:48,818 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:48,818 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 12:20:48,819 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 12:20:48,819 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2018-11-23 12:20:48,819 INFO L87 Difference]: Start difference. First operand 45 states and 53 transitions. Second operand 15 states. [2018-11-23 12:20:51,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:51,431 INFO L93 Difference]: Finished difference Result 121 states and 151 transitions. [2018-11-23 12:20:51,432 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 12:20:51,432 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 29 [2018-11-23 12:20:51,432 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:51,432 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:20:51,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 117 transitions. [2018-11-23 12:20:51,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:20:51,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 117 transitions. [2018-11-23 12:20:51,439 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 117 transitions. [2018-11-23 12:20:51,634 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:51,637 INFO L225 Difference]: With dead ends: 121 [2018-11-23 12:20:51,637 INFO L226 Difference]: Without dead ends: 98 [2018-11-23 12:20:51,638 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 25 SyntacticMatches, 0 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 133 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=219, Invalid=651, Unknown=0, NotChecked=0, Total=870 [2018-11-23 12:20:51,638 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2018-11-23 12:20:51,792 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 56. [2018-11-23 12:20:51,793 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:51,793 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand 56 states. [2018-11-23 12:20:51,793 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 56 states. [2018-11-23 12:20:51,793 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 56 states. [2018-11-23 12:20:51,798 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:51,798 INFO L93 Difference]: Finished difference Result 98 states and 121 transitions. [2018-11-23 12:20:51,798 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 121 transitions. [2018-11-23 12:20:51,799 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:51,799 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:51,799 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 98 states. [2018-11-23 12:20:51,800 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 98 states. [2018-11-23 12:20:51,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:51,804 INFO L93 Difference]: Finished difference Result 98 states and 121 transitions. [2018-11-23 12:20:51,804 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 121 transitions. [2018-11-23 12:20:51,805 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:51,805 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:51,805 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:51,805 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:51,805 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 56 states. [2018-11-23 12:20:51,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 67 transitions. [2018-11-23 12:20:51,807 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 67 transitions. Word has length 29 [2018-11-23 12:20:51,807 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:51,807 INFO L480 AbstractCegarLoop]: Abstraction has 56 states and 67 transitions. [2018-11-23 12:20:51,808 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 12:20:51,808 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 67 transitions. [2018-11-23 12:20:51,808 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2018-11-23 12:20:51,808 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:51,809 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] [2018-11-23 12:20:51,809 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:51,809 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:51,809 INFO L82 PathProgramCache]: Analyzing trace with hash -269205759, now seen corresponding path program 1 times [2018-11-23 12:20:51,809 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:51,809 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:51,810 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:51,810 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:51,810 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:51,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:52,185 INFO L256 TraceCheckUtils]: 0: Hoare triple {2511#true} call ULTIMATE.init(); {2511#true} is VALID [2018-11-23 12:20:52,186 INFO L273 TraceCheckUtils]: 1: Hoare triple {2511#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {2511#true} is VALID [2018-11-23 12:20:52,186 INFO L273 TraceCheckUtils]: 2: Hoare triple {2511#true} assume true; {2511#true} is VALID [2018-11-23 12:20:52,186 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2511#true} {2511#true} #77#return; {2511#true} is VALID [2018-11-23 12:20:52,186 INFO L256 TraceCheckUtils]: 4: Hoare triple {2511#true} call #t~ret7 := main(); {2511#true} is VALID [2018-11-23 12:20:52,187 INFO L273 TraceCheckUtils]: 5: Hoare triple {2511#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {2511#true} is VALID [2018-11-23 12:20:52,188 INFO L273 TraceCheckUtils]: 6: Hoare triple {2511#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {2513#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:20:52,189 INFO L273 TraceCheckUtils]: 7: Hoare triple {2513#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {2514#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1))} is VALID [2018-11-23 12:20:52,189 INFO L273 TraceCheckUtils]: 8: Hoare triple {2514#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {2514#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1))} is VALID [2018-11-23 12:20:52,190 INFO L273 TraceCheckUtils]: 9: Hoare triple {2514#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {2514#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1))} is VALID [2018-11-23 12:20:52,191 INFO L273 TraceCheckUtils]: 10: Hoare triple {2514#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {2515#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)))) (= main_~i~0 1))} is VALID [2018-11-23 12:20:52,194 INFO L273 TraceCheckUtils]: 11: Hoare triple {2515#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)))) (= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2516#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (<= (* 2 main_~i~0) (+ ~CELLCOUNT~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 2 main_~i~0) (- ~CELLCOUNT~0))) (+ |main_~#volArray~0.offset| (- 4)))))) (<= (* 2 main_~i~0) (+ ~CELLCOUNT~0 2)))} is VALID [2018-11-23 12:20:52,195 INFO L273 TraceCheckUtils]: 12: Hoare triple {2516#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (<= (* 2 main_~i~0) (+ ~CELLCOUNT~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 2 main_~i~0) (- ~CELLCOUNT~0))) (+ |main_~#volArray~0.offset| (- 4)))))) (<= (* 2 main_~i~0) (+ ~CELLCOUNT~0 2)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {2517#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:20:52,196 INFO L273 TraceCheckUtils]: 13: Hoare triple {2517#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4)))))} ~i~0 := 0; {2518#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} is VALID [2018-11-23 12:20:52,196 INFO L273 TraceCheckUtils]: 14: Hoare triple {2518#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |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; {2518#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} is VALID [2018-11-23 12:20:52,197 INFO L273 TraceCheckUtils]: 15: Hoare triple {2518#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} assume #t~short6; {2518#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} is VALID [2018-11-23 12:20:52,197 INFO L256 TraceCheckUtils]: 16: Hoare triple {2518#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2511#true} is VALID [2018-11-23 12:20:52,198 INFO L273 TraceCheckUtils]: 17: Hoare triple {2511#true} ~cond := #in~cond; {2511#true} is VALID [2018-11-23 12:20:52,198 INFO L273 TraceCheckUtils]: 18: Hoare triple {2511#true} assume !(0 == ~cond); {2511#true} is VALID [2018-11-23 12:20:52,198 INFO L273 TraceCheckUtils]: 19: Hoare triple {2511#true} assume true; {2511#true} is VALID [2018-11-23 12:20:52,201 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {2511#true} {2518#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} #81#return; {2518#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} is VALID [2018-11-23 12:20:52,201 INFO L273 TraceCheckUtils]: 21: Hoare triple {2518#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {2518#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} is VALID [2018-11-23 12:20:52,202 INFO L273 TraceCheckUtils]: 22: Hoare triple {2518#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 2) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2519#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:20:52,202 INFO L273 TraceCheckUtils]: 23: Hoare triple {2519#(= 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; {2519#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:20:52,203 INFO L273 TraceCheckUtils]: 24: Hoare triple {2519#(= 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; {2520#|main_#t~short6|} is VALID [2018-11-23 12:20:52,203 INFO L256 TraceCheckUtils]: 25: Hoare triple {2520#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2521#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-23 12:20:52,204 INFO L273 TraceCheckUtils]: 26: Hoare triple {2521#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {2522#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:20:52,204 INFO L273 TraceCheckUtils]: 27: Hoare triple {2522#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {2512#false} is VALID [2018-11-23 12:20:52,204 INFO L273 TraceCheckUtils]: 28: Hoare triple {2512#false} assume !false; {2512#false} is VALID [2018-11-23 12:20:52,207 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:20:52,207 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:20:52,207 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:20:52,225 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:52,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:52,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:52,275 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:20:52,406 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:20:52,409 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:20:52,412 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:52,415 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:52,419 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:52,419 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 12:20:52,672 INFO L256 TraceCheckUtils]: 0: Hoare triple {2511#true} call ULTIMATE.init(); {2511#true} is VALID [2018-11-23 12:20:52,672 INFO L273 TraceCheckUtils]: 1: Hoare triple {2511#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {2511#true} is VALID [2018-11-23 12:20:52,672 INFO L273 TraceCheckUtils]: 2: Hoare triple {2511#true} assume true; {2511#true} is VALID [2018-11-23 12:20:52,673 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2511#true} {2511#true} #77#return; {2511#true} is VALID [2018-11-23 12:20:52,673 INFO L256 TraceCheckUtils]: 4: Hoare triple {2511#true} call #t~ret7 := main(); {2511#true} is VALID [2018-11-23 12:20:52,673 INFO L273 TraceCheckUtils]: 5: Hoare triple {2511#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {2511#true} is VALID [2018-11-23 12:20:52,673 INFO L273 TraceCheckUtils]: 6: Hoare triple {2511#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {2544#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:20:52,674 INFO L273 TraceCheckUtils]: 7: Hoare triple {2544#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {2548#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:52,675 INFO L273 TraceCheckUtils]: 8: Hoare triple {2548#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {2548#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:52,675 INFO L273 TraceCheckUtils]: 9: Hoare triple {2548#(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 * (2 * ~i~0 - 2), 4); {2548#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:52,676 INFO L273 TraceCheckUtils]: 10: Hoare triple {2548#(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 * (2 * ~i~0 - 1), 4); {2558#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:52,676 INFO L273 TraceCheckUtils]: 11: Hoare triple {2558#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2558#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:52,677 INFO L273 TraceCheckUtils]: 12: Hoare triple {2558#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {2558#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:52,677 INFO L273 TraceCheckUtils]: 13: Hoare triple {2558#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0))} ~i~0 := 0; {2568#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:20:52,678 INFO L273 TraceCheckUtils]: 14: Hoare triple {2568#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |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; {2568#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:20:52,679 INFO L273 TraceCheckUtils]: 15: Hoare triple {2568#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} assume #t~short6; {2568#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:20:52,681 INFO L256 TraceCheckUtils]: 16: Hoare triple {2568#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2578#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0))} is VALID [2018-11-23 12:20:52,681 INFO L273 TraceCheckUtils]: 17: Hoare triple {2578#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0))} ~cond := #in~cond; {2578#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0))} is VALID [2018-11-23 12:20:52,683 INFO L273 TraceCheckUtils]: 18: Hoare triple {2578#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0))} assume !(0 == ~cond); {2578#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0))} is VALID [2018-11-23 12:20:52,683 INFO L273 TraceCheckUtils]: 19: Hoare triple {2578#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0))} assume true; {2578#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0))} is VALID [2018-11-23 12:20:52,684 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {2578#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 4) 0))} {2568#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} #81#return; {2568#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:20:52,685 INFO L273 TraceCheckUtils]: 21: Hoare triple {2568#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {2568#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:20:52,686 INFO L273 TraceCheckUtils]: 22: Hoare triple {2568#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2597#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:52,687 INFO L273 TraceCheckUtils]: 23: Hoare triple {2597#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= 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; {2597#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:20:52,688 INFO L273 TraceCheckUtils]: 24: Hoare triple {2597#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {2520#|main_#t~short6|} is VALID [2018-11-23 12:20:52,689 INFO L256 TraceCheckUtils]: 25: Hoare triple {2520#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2607#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:20:52,689 INFO L273 TraceCheckUtils]: 26: Hoare triple {2607#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {2611#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:20:52,690 INFO L273 TraceCheckUtils]: 27: Hoare triple {2611#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2512#false} is VALID [2018-11-23 12:20:52,690 INFO L273 TraceCheckUtils]: 28: Hoare triple {2512#false} assume !false; {2512#false} is VALID [2018-11-23 12:20:52,693 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:20:52,712 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:20:52,712 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 20 [2018-11-23 12:20:52,713 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 29 [2018-11-23 12:20:52,713 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:52,713 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2018-11-23 12:20:52,771 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:52,771 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-11-23 12:20:52,772 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-11-23 12:20:52,772 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=318, Unknown=0, NotChecked=0, Total=380 [2018-11-23 12:20:52,772 INFO L87 Difference]: Start difference. First operand 56 states and 67 transitions. Second operand 20 states. [2018-11-23 12:20:56,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:56,765 INFO L93 Difference]: Finished difference Result 144 states and 175 transitions. [2018-11-23 12:20:56,765 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2018-11-23 12:20:56,765 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 29 [2018-11-23 12:20:56,766 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:56,766 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:20:56,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 121 transitions. [2018-11-23 12:20:56,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:20:56,772 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 121 transitions. [2018-11-23 12:20:56,772 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 121 transitions. [2018-11-23 12:20:56,970 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:56,974 INFO L225 Difference]: With dead ends: 144 [2018-11-23 12:20:56,974 INFO L226 Difference]: Without dead ends: 142 [2018-11-23 12:20:56,975 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 23 SyntacticMatches, 1 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 447 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=329, Invalid=1477, Unknown=0, NotChecked=0, Total=1806 [2018-11-23 12:20:56,975 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 142 states. [2018-11-23 12:20:57,272 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 142 to 92. [2018-11-23 12:20:57,272 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:57,272 INFO L82 GeneralOperation]: Start isEquivalent. First operand 142 states. Second operand 92 states. [2018-11-23 12:20:57,273 INFO L74 IsIncluded]: Start isIncluded. First operand 142 states. Second operand 92 states. [2018-11-23 12:20:57,273 INFO L87 Difference]: Start difference. First operand 142 states. Second operand 92 states. [2018-11-23 12:20:57,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:57,279 INFO L93 Difference]: Finished difference Result 142 states and 173 transitions. [2018-11-23 12:20:57,279 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 173 transitions. [2018-11-23 12:20:57,280 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:57,280 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:57,280 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand 142 states. [2018-11-23 12:20:57,281 INFO L87 Difference]: Start difference. First operand 92 states. Second operand 142 states. [2018-11-23 12:20:57,285 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:57,285 INFO L93 Difference]: Finished difference Result 142 states and 173 transitions. [2018-11-23 12:20:57,285 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 173 transitions. [2018-11-23 12:20:57,286 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:57,286 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:57,286 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:57,286 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:57,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 92 states. [2018-11-23 12:20:57,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 109 transitions. [2018-11-23 12:20:57,289 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 109 transitions. Word has length 29 [2018-11-23 12:20:57,289 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:57,289 INFO L480 AbstractCegarLoop]: Abstraction has 92 states and 109 transitions. [2018-11-23 12:20:57,290 INFO L481 AbstractCegarLoop]: Interpolant automaton has 20 states. [2018-11-23 12:20:57,290 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 109 transitions. [2018-11-23 12:20:57,290 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2018-11-23 12:20:57,291 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:57,291 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] [2018-11-23 12:20:57,291 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:57,291 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:57,291 INFO L82 PathProgramCache]: Analyzing trace with hash -833830662, now seen corresponding path program 1 times [2018-11-23 12:20:57,291 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:57,291 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:57,292 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:57,292 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:57,292 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:57,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:57,408 INFO L256 TraceCheckUtils]: 0: Hoare triple {3264#true} call ULTIMATE.init(); {3264#true} is VALID [2018-11-23 12:20:57,408 INFO L273 TraceCheckUtils]: 1: Hoare triple {3264#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {3264#true} is VALID [2018-11-23 12:20:57,408 INFO L273 TraceCheckUtils]: 2: Hoare triple {3264#true} assume true; {3264#true} is VALID [2018-11-23 12:20:57,408 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3264#true} {3264#true} #77#return; {3264#true} is VALID [2018-11-23 12:20:57,409 INFO L256 TraceCheckUtils]: 4: Hoare triple {3264#true} call #t~ret7 := main(); {3264#true} is VALID [2018-11-23 12:20:57,409 INFO L273 TraceCheckUtils]: 5: Hoare triple {3264#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {3264#true} is VALID [2018-11-23 12:20:57,409 INFO L273 TraceCheckUtils]: 6: Hoare triple {3264#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {3264#true} is VALID [2018-11-23 12:20:57,409 INFO L273 TraceCheckUtils]: 7: Hoare triple {3264#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {3264#true} is VALID [2018-11-23 12:20:57,409 INFO L273 TraceCheckUtils]: 8: Hoare triple {3264#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {3264#true} is VALID [2018-11-23 12:20:57,409 INFO L273 TraceCheckUtils]: 9: Hoare triple {3264#true} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {3264#true} is VALID [2018-11-23 12:20:57,410 INFO L273 TraceCheckUtils]: 10: Hoare triple {3264#true} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {3266#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:20:57,415 INFO L273 TraceCheckUtils]: 11: Hoare triple {3266#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3266#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:20:57,416 INFO L273 TraceCheckUtils]: 12: Hoare triple {3266#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {3266#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:20:57,416 INFO L273 TraceCheckUtils]: 13: Hoare triple {3266#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {3266#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:20:57,417 INFO L273 TraceCheckUtils]: 14: Hoare triple {3266#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {3265#false} is VALID [2018-11-23 12:20:57,417 INFO L273 TraceCheckUtils]: 15: Hoare triple {3265#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3265#false} is VALID [2018-11-23 12:20:57,417 INFO L273 TraceCheckUtils]: 16: Hoare triple {3265#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {3265#false} is VALID [2018-11-23 12:20:57,417 INFO L273 TraceCheckUtils]: 17: Hoare triple {3265#false} ~i~0 := 0; {3265#false} is VALID [2018-11-23 12:20:57,417 INFO L273 TraceCheckUtils]: 18: Hoare triple {3265#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; {3265#false} is VALID [2018-11-23 12:20:57,418 INFO L273 TraceCheckUtils]: 19: Hoare triple {3265#false} assume #t~short6; {3265#false} is VALID [2018-11-23 12:20:57,418 INFO L256 TraceCheckUtils]: 20: Hoare triple {3265#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3264#true} is VALID [2018-11-23 12:20:57,418 INFO L273 TraceCheckUtils]: 21: Hoare triple {3264#true} ~cond := #in~cond; {3264#true} is VALID [2018-11-23 12:20:57,418 INFO L273 TraceCheckUtils]: 22: Hoare triple {3264#true} assume !(0 == ~cond); {3264#true} is VALID [2018-11-23 12:20:57,418 INFO L273 TraceCheckUtils]: 23: Hoare triple {3264#true} assume true; {3264#true} is VALID [2018-11-23 12:20:57,418 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {3264#true} {3265#false} #81#return; {3265#false} is VALID [2018-11-23 12:20:57,418 INFO L273 TraceCheckUtils]: 25: Hoare triple {3265#false} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {3265#false} is VALID [2018-11-23 12:20:57,419 INFO L273 TraceCheckUtils]: 26: Hoare triple {3265#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3265#false} is VALID [2018-11-23 12:20:57,419 INFO L273 TraceCheckUtils]: 27: Hoare triple {3265#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; {3265#false} is VALID [2018-11-23 12:20:57,419 INFO L273 TraceCheckUtils]: 28: Hoare triple {3265#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {3265#false} is VALID [2018-11-23 12:20:57,419 INFO L256 TraceCheckUtils]: 29: Hoare triple {3265#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3265#false} is VALID [2018-11-23 12:20:57,419 INFO L273 TraceCheckUtils]: 30: Hoare triple {3265#false} ~cond := #in~cond; {3265#false} is VALID [2018-11-23 12:20:57,420 INFO L273 TraceCheckUtils]: 31: Hoare triple {3265#false} assume 0 == ~cond; {3265#false} is VALID [2018-11-23 12:20:57,420 INFO L273 TraceCheckUtils]: 32: Hoare triple {3265#false} assume !false; {3265#false} is VALID [2018-11-23 12:20:57,421 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 12:20:57,421 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:20:57,421 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:20:57,422 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 33 [2018-11-23 12:20:57,422 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:57,422 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:20:57,468 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:57,468 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:20:57,468 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:20:57,468 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:20:57,469 INFO L87 Difference]: Start difference. First operand 92 states and 109 transitions. Second operand 3 states. [2018-11-23 12:20:57,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:57,876 INFO L93 Difference]: Finished difference Result 111 states and 129 transitions. [2018-11-23 12:20:57,876 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:20:57,876 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 33 [2018-11-23 12:20:57,877 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:57,877 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:20:57,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 62 transitions. [2018-11-23 12:20:57,878 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:20:57,879 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 62 transitions. [2018-11-23 12:20:57,879 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 62 transitions. [2018-11-23 12:20:58,018 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:20:58,021 INFO L225 Difference]: With dead ends: 111 [2018-11-23 12:20:58,021 INFO L226 Difference]: Without dead ends: 88 [2018-11-23 12:20:58,022 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,022 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2018-11-23 12:20:58,260 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 87. [2018-11-23 12:20:58,260 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:58,260 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand 87 states. [2018-11-23 12:20:58,260 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand 87 states. [2018-11-23 12:20:58,260 INFO L87 Difference]: Start difference. First operand 88 states. Second operand 87 states. [2018-11-23 12:20:58,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:58,263 INFO L93 Difference]: Finished difference Result 88 states and 102 transitions. [2018-11-23 12:20:58,264 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 102 transitions. [2018-11-23 12:20:58,264 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:58,264 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:58,264 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand 88 states. [2018-11-23 12:20:58,265 INFO L87 Difference]: Start difference. First operand 87 states. Second operand 88 states. [2018-11-23 12:20:58,267 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:58,267 INFO L93 Difference]: Finished difference Result 88 states and 102 transitions. [2018-11-23 12:20:58,267 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 102 transitions. [2018-11-23 12:20:58,268 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:58,268 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:58,268 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:58,268 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:58,268 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 87 states. [2018-11-23 12:20:58,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 101 transitions. [2018-11-23 12:20:58,271 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 101 transitions. Word has length 33 [2018-11-23 12:20:58,271 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:58,271 INFO L480 AbstractCegarLoop]: Abstraction has 87 states and 101 transitions. [2018-11-23 12:20:58,271 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:20:58,271 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 101 transitions. [2018-11-23 12:20:58,272 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-23 12:20:58,272 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:58,272 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] [2018-11-23 12:20:58,273 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:58,273 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:58,273 INFO L82 PathProgramCache]: Analyzing trace with hash -358527666, now seen corresponding path program 2 times [2018-11-23 12:20:58,273 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:58,273 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:58,274 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:58,274 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:58,274 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:58,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:58,962 WARN L180 SmtUtils]: Spent 246.00 ms on a formula simplification. DAG size of input: 17 DAG size of output: 9 [2018-11-23 12:20:59,175 INFO L256 TraceCheckUtils]: 0: Hoare triple {3712#true} call ULTIMATE.init(); {3712#true} is VALID [2018-11-23 12:20:59,176 INFO L273 TraceCheckUtils]: 1: Hoare triple {3712#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {3712#true} is VALID [2018-11-23 12:20:59,176 INFO L273 TraceCheckUtils]: 2: Hoare triple {3712#true} assume true; {3712#true} is VALID [2018-11-23 12:20:59,176 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3712#true} {3712#true} #77#return; {3712#true} is VALID [2018-11-23 12:20:59,176 INFO L256 TraceCheckUtils]: 4: Hoare triple {3712#true} call #t~ret7 := main(); {3712#true} is VALID [2018-11-23 12:20:59,176 INFO L273 TraceCheckUtils]: 5: Hoare triple {3712#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {3712#true} is VALID [2018-11-23 12:20:59,178 INFO L273 TraceCheckUtils]: 6: Hoare triple {3712#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {3714#(or (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,179 INFO L273 TraceCheckUtils]: 7: Hoare triple {3714#(or (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {3715#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:20:59,179 INFO L273 TraceCheckUtils]: 8: Hoare triple {3715#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {3715#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:20:59,180 INFO L273 TraceCheckUtils]: 9: Hoare triple {3715#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {3715#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:20:59,180 INFO L273 TraceCheckUtils]: 10: Hoare triple {3715#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {3715#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:20:59,181 INFO L273 TraceCheckUtils]: 11: Hoare triple {3715#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3716#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:20:59,181 INFO L273 TraceCheckUtils]: 12: Hoare triple {3716#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {3717#(<= ~CELLCOUNT~0 2)} is VALID [2018-11-23 12:20:59,182 INFO L273 TraceCheckUtils]: 13: Hoare triple {3717#(<= ~CELLCOUNT~0 2)} ~i~0 := 0; {3718#(and (<= ~CELLCOUNT~0 2) (= main_~i~0 0))} is VALID [2018-11-23 12:20:59,183 INFO L273 TraceCheckUtils]: 14: Hoare triple {3718#(and (<= ~CELLCOUNT~0 2) (= 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; {3718#(and (<= ~CELLCOUNT~0 2) (= main_~i~0 0))} is VALID [2018-11-23 12:20:59,183 INFO L273 TraceCheckUtils]: 15: Hoare triple {3718#(and (<= ~CELLCOUNT~0 2) (= main_~i~0 0))} assume #t~short6; {3718#(and (<= ~CELLCOUNT~0 2) (= main_~i~0 0))} is VALID [2018-11-23 12:20:59,184 INFO L256 TraceCheckUtils]: 16: Hoare triple {3718#(and (<= ~CELLCOUNT~0 2) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3712#true} is VALID [2018-11-23 12:20:59,184 INFO L273 TraceCheckUtils]: 17: Hoare triple {3712#true} ~cond := #in~cond; {3712#true} is VALID [2018-11-23 12:20:59,184 INFO L273 TraceCheckUtils]: 18: Hoare triple {3712#true} assume !(0 == ~cond); {3712#true} is VALID [2018-11-23 12:20:59,185 INFO L273 TraceCheckUtils]: 19: Hoare triple {3712#true} assume true; {3712#true} is VALID [2018-11-23 12:20:59,186 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {3712#true} {3718#(and (<= ~CELLCOUNT~0 2) (= main_~i~0 0))} #81#return; {3718#(and (<= ~CELLCOUNT~0 2) (= main_~i~0 0))} is VALID [2018-11-23 12:20:59,186 INFO L273 TraceCheckUtils]: 21: Hoare triple {3718#(and (<= ~CELLCOUNT~0 2) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {3718#(and (<= ~CELLCOUNT~0 2) (= main_~i~0 0))} is VALID [2018-11-23 12:20:59,187 INFO L273 TraceCheckUtils]: 22: Hoare triple {3718#(and (<= ~CELLCOUNT~0 2) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3719#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:20:59,187 INFO L273 TraceCheckUtils]: 23: Hoare triple {3719#(<= ~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; {3719#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:20:59,187 INFO L273 TraceCheckUtils]: 24: Hoare triple {3719#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} assume #t~short6; {3719#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:20:59,187 INFO L256 TraceCheckUtils]: 25: Hoare triple {3719#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3712#true} is VALID [2018-11-23 12:20:59,188 INFO L273 TraceCheckUtils]: 26: Hoare triple {3712#true} ~cond := #in~cond; {3712#true} is VALID [2018-11-23 12:20:59,188 INFO L273 TraceCheckUtils]: 27: Hoare triple {3712#true} assume !(0 == ~cond); {3712#true} is VALID [2018-11-23 12:20:59,188 INFO L273 TraceCheckUtils]: 28: Hoare triple {3712#true} assume true; {3712#true} is VALID [2018-11-23 12:20:59,188 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {3712#true} {3719#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} #81#return; {3719#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:20:59,189 INFO L273 TraceCheckUtils]: 30: Hoare triple {3719#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {3719#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:20:59,189 INFO L273 TraceCheckUtils]: 31: Hoare triple {3719#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3720#(<= ~CELLCOUNT~0 main_~i~0)} is VALID [2018-11-23 12:20:59,190 INFO L273 TraceCheckUtils]: 32: Hoare triple {3720#(<= ~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; {3713#false} is VALID [2018-11-23 12:20:59,190 INFO L273 TraceCheckUtils]: 33: Hoare triple {3713#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {3713#false} is VALID [2018-11-23 12:20:59,190 INFO L256 TraceCheckUtils]: 34: Hoare triple {3713#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3713#false} is VALID [2018-11-23 12:20:59,190 INFO L273 TraceCheckUtils]: 35: Hoare triple {3713#false} ~cond := #in~cond; {3713#false} is VALID [2018-11-23 12:20:59,190 INFO L273 TraceCheckUtils]: 36: Hoare triple {3713#false} assume 0 == ~cond; {3713#false} is VALID [2018-11-23 12:20:59,191 INFO L273 TraceCheckUtils]: 37: Hoare triple {3713#false} assume !false; {3713#false} is VALID [2018-11-23 12:20:59,194 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 9 proven. 7 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:20:59,195 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:20:59,195 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:20:59,211 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:20:59,236 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:20:59,236 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:20:59,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:59,249 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:20:59,562 INFO L256 TraceCheckUtils]: 0: Hoare triple {3712#true} call ULTIMATE.init(); {3712#true} is VALID [2018-11-23 12:20:59,562 INFO L273 TraceCheckUtils]: 1: Hoare triple {3712#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {3712#true} is VALID [2018-11-23 12:20:59,562 INFO L273 TraceCheckUtils]: 2: Hoare triple {3712#true} assume true; {3712#true} is VALID [2018-11-23 12:20:59,562 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3712#true} {3712#true} #77#return; {3712#true} is VALID [2018-11-23 12:20:59,563 INFO L256 TraceCheckUtils]: 4: Hoare triple {3712#true} call #t~ret7 := main(); {3712#true} is VALID [2018-11-23 12:20:59,563 INFO L273 TraceCheckUtils]: 5: Hoare triple {3712#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {3712#true} is VALID [2018-11-23 12:20:59,563 INFO L273 TraceCheckUtils]: 6: Hoare triple {3712#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {3742#(< 1 ~CELLCOUNT~0)} is VALID [2018-11-23 12:20:59,564 INFO L273 TraceCheckUtils]: 7: Hoare triple {3742#(< 1 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {3746#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,565 INFO L273 TraceCheckUtils]: 8: Hoare triple {3746#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {3746#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,565 INFO L273 TraceCheckUtils]: 9: Hoare triple {3746#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {3746#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,567 INFO L273 TraceCheckUtils]: 10: Hoare triple {3746#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {3746#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,567 INFO L273 TraceCheckUtils]: 11: Hoare triple {3746#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3759#(and (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,568 INFO L273 TraceCheckUtils]: 12: Hoare triple {3759#(and (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {3763#(and (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,569 INFO L273 TraceCheckUtils]: 13: Hoare triple {3763#(and (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} ~i~0 := 0; {3767#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,569 INFO L273 TraceCheckUtils]: 14: Hoare triple {3767#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~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; {3767#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,571 INFO L273 TraceCheckUtils]: 15: Hoare triple {3767#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume #t~short6; {3767#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,575 INFO L256 TraceCheckUtils]: 16: Hoare triple {3767#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3763#(and (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,577 INFO L273 TraceCheckUtils]: 17: Hoare triple {3763#(and (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} ~cond := #in~cond; {3763#(and (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,577 INFO L273 TraceCheckUtils]: 18: Hoare triple {3763#(and (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume !(0 == ~cond); {3763#(and (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,578 INFO L273 TraceCheckUtils]: 19: Hoare triple {3763#(and (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume true; {3763#(and (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,578 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {3763#(and (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} {3767#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} #81#return; {3767#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,579 INFO L273 TraceCheckUtils]: 21: Hoare triple {3767#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {3767#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,580 INFO L273 TraceCheckUtils]: 22: Hoare triple {3767#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3795#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,580 INFO L273 TraceCheckUtils]: 23: Hoare triple {3795#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~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; {3795#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,581 INFO L273 TraceCheckUtils]: 24: Hoare triple {3795#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume #t~short6; {3795#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,581 INFO L256 TraceCheckUtils]: 25: Hoare triple {3795#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3763#(and (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,582 INFO L273 TraceCheckUtils]: 26: Hoare triple {3763#(and (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} ~cond := #in~cond; {3763#(and (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,583 INFO L273 TraceCheckUtils]: 27: Hoare triple {3763#(and (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume !(0 == ~cond); {3763#(and (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,583 INFO L273 TraceCheckUtils]: 28: Hoare triple {3763#(and (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume true; {3763#(and (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,584 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {3763#(and (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} {3795#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} #81#return; {3795#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,585 INFO L273 TraceCheckUtils]: 30: Hoare triple {3795#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {3795#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,586 INFO L273 TraceCheckUtils]: 31: Hoare triple {3795#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3823#(and (<= 2 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:20:59,587 INFO L273 TraceCheckUtils]: 32: Hoare triple {3823#(and (<= 2 main_~i~0) (<= (div ~CELLCOUNT~0 2) 1) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~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; {3713#false} is VALID [2018-11-23 12:20:59,587 INFO L273 TraceCheckUtils]: 33: Hoare triple {3713#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {3713#false} is VALID [2018-11-23 12:20:59,587 INFO L256 TraceCheckUtils]: 34: Hoare triple {3713#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3713#false} is VALID [2018-11-23 12:20:59,587 INFO L273 TraceCheckUtils]: 35: Hoare triple {3713#false} ~cond := #in~cond; {3713#false} is VALID [2018-11-23 12:20:59,588 INFO L273 TraceCheckUtils]: 36: Hoare triple {3713#false} assume 0 == ~cond; {3713#false} is VALID [2018-11-23 12:20:59,588 INFO L273 TraceCheckUtils]: 37: Hoare triple {3713#false} assume !false; {3713#false} is VALID [2018-11-23 12:20:59,592 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 15 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:20:59,610 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:20:59,610 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2018-11-23 12:20:59,611 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 38 [2018-11-23 12:20:59,611 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:59,611 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 12:20:59,670 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:59,671 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 12:20:59,671 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 12:20:59,671 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=177, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:20:59,672 INFO L87 Difference]: Start difference. First operand 87 states and 101 transitions. Second operand 16 states. [2018-11-23 12:21:01,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:01,066 INFO L93 Difference]: Finished difference Result 183 states and 209 transitions. [2018-11-23 12:21:01,066 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 12:21:01,066 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 38 [2018-11-23 12:21:01,066 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:01,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:21:01,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 72 transitions. [2018-11-23 12:21:01,068 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:21:01,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 72 transitions. [2018-11-23 12:21:01,069 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 72 transitions. [2018-11-23 12:21:01,161 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:01,165 INFO L225 Difference]: With dead ends: 183 [2018-11-23 12:21:01,165 INFO L226 Difference]: Without dead ends: 103 [2018-11-23 12:21:01,166 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 67 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=120, Invalid=300, Unknown=0, NotChecked=0, Total=420 [2018-11-23 12:21:01,166 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2018-11-23 12:21:01,947 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 94. [2018-11-23 12:21:01,948 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:01,948 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand 94 states. [2018-11-23 12:21:01,948 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand 94 states. [2018-11-23 12:21:01,948 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 94 states. [2018-11-23 12:21:01,951 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:01,952 INFO L93 Difference]: Finished difference Result 103 states and 117 transitions. [2018-11-23 12:21:01,952 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 117 transitions. [2018-11-23 12:21:01,952 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:01,952 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:01,952 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand 103 states. [2018-11-23 12:21:01,953 INFO L87 Difference]: Start difference. First operand 94 states. Second operand 103 states. [2018-11-23 12:21:01,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:01,955 INFO L93 Difference]: Finished difference Result 103 states and 117 transitions. [2018-11-23 12:21:01,955 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 117 transitions. [2018-11-23 12:21:01,955 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:01,956 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:01,956 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:01,956 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:01,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 94 states. [2018-11-23 12:21:01,958 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 108 transitions. [2018-11-23 12:21:01,958 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 108 transitions. Word has length 38 [2018-11-23 12:21:01,959 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:01,959 INFO L480 AbstractCegarLoop]: Abstraction has 94 states and 108 transitions. [2018-11-23 12:21:01,959 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 12:21:01,959 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 108 transitions. [2018-11-23 12:21:01,960 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-23 12:21:01,960 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:01,960 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:01,960 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:01,960 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:01,961 INFO L82 PathProgramCache]: Analyzing trace with hash 502956661, now seen corresponding path program 3 times [2018-11-23 12:21:01,961 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:01,961 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:01,961 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:01,962 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:21:01,962 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:01,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:02,596 WARN L180 SmtUtils]: Spent 109.00 ms on a formula simplification. DAG size of input: 18 DAG size of output: 12 [2018-11-23 12:21:02,999 INFO L256 TraceCheckUtils]: 0: Hoare triple {4431#true} call ULTIMATE.init(); {4431#true} is VALID [2018-11-23 12:21:03,000 INFO L273 TraceCheckUtils]: 1: Hoare triple {4431#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {4431#true} is VALID [2018-11-23 12:21:03,000 INFO L273 TraceCheckUtils]: 2: Hoare triple {4431#true} assume true; {4431#true} is VALID [2018-11-23 12:21:03,000 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4431#true} {4431#true} #77#return; {4431#true} is VALID [2018-11-23 12:21:03,000 INFO L256 TraceCheckUtils]: 4: Hoare triple {4431#true} call #t~ret7 := main(); {4431#true} is VALID [2018-11-23 12:21:03,001 INFO L273 TraceCheckUtils]: 5: Hoare triple {4431#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {4431#true} is VALID [2018-11-23 12:21:03,005 INFO L273 TraceCheckUtils]: 6: Hoare triple {4431#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {4433#(or (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:03,006 INFO L273 TraceCheckUtils]: 7: Hoare triple {4433#(or (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {4434#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (= main_~i~0 1) (<= main_~i~0 0)))} is VALID [2018-11-23 12:21:03,007 INFO L273 TraceCheckUtils]: 8: Hoare triple {4434#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (= main_~i~0 1) (<= main_~i~0 0)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {4434#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (= main_~i~0 1) (<= main_~i~0 0)))} is VALID [2018-11-23 12:21:03,007 INFO L273 TraceCheckUtils]: 9: Hoare triple {4434#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (= main_~i~0 1) (<= main_~i~0 0)))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {4435#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~MINVAL~0 main_~CCCELVOL2~0) (or (= main_~i~0 1) (<= main_~i~0 0)))} is VALID [2018-11-23 12:21:03,008 INFO L273 TraceCheckUtils]: 10: Hoare triple {4435#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~MINVAL~0 main_~CCCELVOL2~0) (or (= main_~i~0 1) (<= main_~i~0 0)))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {4435#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~MINVAL~0 main_~CCCELVOL2~0) (or (= main_~i~0 1) (<= main_~i~0 0)))} is VALID [2018-11-23 12:21:03,009 INFO L273 TraceCheckUtils]: 11: Hoare triple {4435#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~MINVAL~0 main_~CCCELVOL2~0) (or (= main_~i~0 1) (<= main_~i~0 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4436#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:21:03,009 INFO L273 TraceCheckUtils]: 12: Hoare triple {4436#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {4436#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:21:03,010 INFO L273 TraceCheckUtils]: 13: Hoare triple {4436#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 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 * (2 * ~i~0 - 2), 4); {4437#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) main_~CCCELVOL1~0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:21:03,011 INFO L273 TraceCheckUtils]: 14: Hoare triple {4437#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) main_~CCCELVOL1~0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {4437#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) main_~CCCELVOL1~0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:21:03,013 INFO L273 TraceCheckUtils]: 15: Hoare triple {4437#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) main_~CCCELVOL1~0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4438#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (<= main_~i~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8)))))))} is VALID [2018-11-23 12:21:03,014 INFO L273 TraceCheckUtils]: 16: Hoare triple {4438#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (<= main_~i~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8)))))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {4439#(or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))))} is VALID [2018-11-23 12:21:03,015 INFO L273 TraceCheckUtils]: 17: Hoare triple {4439#(or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))))} ~i~0 := 0; {4440#(and (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:03,016 INFO L273 TraceCheckUtils]: 18: Hoare triple {4440#(and (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |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; {4440#(and (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:03,016 INFO L273 TraceCheckUtils]: 19: Hoare triple {4440#(and (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8)))))) (= main_~i~0 0))} assume #t~short6; {4440#(and (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:03,017 INFO L256 TraceCheckUtils]: 20: Hoare triple {4440#(and (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8)))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {4431#true} is VALID [2018-11-23 12:21:03,017 INFO L273 TraceCheckUtils]: 21: Hoare triple {4431#true} ~cond := #in~cond; {4431#true} is VALID [2018-11-23 12:21:03,017 INFO L273 TraceCheckUtils]: 22: Hoare triple {4431#true} assume !(0 == ~cond); {4431#true} is VALID [2018-11-23 12:21:03,017 INFO L273 TraceCheckUtils]: 23: Hoare triple {4431#true} assume true; {4431#true} is VALID [2018-11-23 12:21:03,018 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {4431#true} {4440#(and (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8)))))) (= main_~i~0 0))} #81#return; {4440#(and (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:03,019 INFO L273 TraceCheckUtils]: 25: Hoare triple {4440#(and (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8)))))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {4440#(and (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:03,020 INFO L273 TraceCheckUtils]: 26: Hoare triple {4440#(and (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8)))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4441#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1)))} is VALID [2018-11-23 12:21:03,021 INFO L273 TraceCheckUtils]: 27: Hoare triple {4441#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~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; {4441#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1)))} is VALID [2018-11-23 12:21:03,021 INFO L273 TraceCheckUtils]: 28: Hoare triple {4441#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1)))} assume #t~short6; {4441#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1)))} is VALID [2018-11-23 12:21:03,022 INFO L256 TraceCheckUtils]: 29: Hoare triple {4441#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {4431#true} is VALID [2018-11-23 12:21:03,022 INFO L273 TraceCheckUtils]: 30: Hoare triple {4431#true} ~cond := #in~cond; {4431#true} is VALID [2018-11-23 12:21:03,022 INFO L273 TraceCheckUtils]: 31: Hoare triple {4431#true} assume !(0 == ~cond); {4431#true} is VALID [2018-11-23 12:21:03,022 INFO L273 TraceCheckUtils]: 32: Hoare triple {4431#true} assume true; {4431#true} is VALID [2018-11-23 12:21:03,023 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {4431#true} {4441#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1)))} #81#return; {4441#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1)))} is VALID [2018-11-23 12:21:03,024 INFO L273 TraceCheckUtils]: 34: Hoare triple {4441#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1)))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {4441#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1)))} is VALID [2018-11-23 12:21:03,025 INFO L273 TraceCheckUtils]: 35: Hoare triple {4441#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4442#(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:03,026 INFO L273 TraceCheckUtils]: 36: Hoare triple {4442#(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; {4443#|main_#t~short6|} is VALID [2018-11-23 12:21:03,026 INFO L273 TraceCheckUtils]: 37: Hoare triple {4443#|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; {4432#false} is VALID [2018-11-23 12:21:03,026 INFO L256 TraceCheckUtils]: 38: Hoare triple {4432#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {4432#false} is VALID [2018-11-23 12:21:03,027 INFO L273 TraceCheckUtils]: 39: Hoare triple {4432#false} ~cond := #in~cond; {4432#false} is VALID [2018-11-23 12:21:03,027 INFO L273 TraceCheckUtils]: 40: Hoare triple {4432#false} assume 0 == ~cond; {4432#false} is VALID [2018-11-23 12:21:03,027 INFO L273 TraceCheckUtils]: 41: Hoare triple {4432#false} assume !false; {4432#false} is VALID [2018-11-23 12:21:03,033 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 6 proven. 15 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:21:03,033 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:21:03,033 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:03,044 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:21:03,095 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-11-23 12:21:03,095 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:21:03,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:03,126 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:21:03,385 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:03,389 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:03,391 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:03,393 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:03,406 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:03,406 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:22 [2018-11-23 12:21:03,410 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:03,410 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_19|, main_~CCCELVOL2~0]. (and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= |#memory_int| (store |v_#memory_int_19| |main_~#volArray~0.base| (store (select |v_#memory_int_19| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8)) main_~CCCELVOL2~0)))) [2018-11-23 12:21:03,410 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 2) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8)))) (= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:21:03,455 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:03,461 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:03,462 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:03,465 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:03,467 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:03,475 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:03,484 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:03,485 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:29, output treesize:25 [2018-11-23 12:21:04,281 INFO L256 TraceCheckUtils]: 0: Hoare triple {4431#true} call ULTIMATE.init(); {4431#true} is VALID [2018-11-23 12:21:04,281 INFO L273 TraceCheckUtils]: 1: Hoare triple {4431#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {4431#true} is VALID [2018-11-23 12:21:04,282 INFO L273 TraceCheckUtils]: 2: Hoare triple {4431#true} assume true; {4431#true} is VALID [2018-11-23 12:21:04,282 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4431#true} {4431#true} #77#return; {4431#true} is VALID [2018-11-23 12:21:04,282 INFO L256 TraceCheckUtils]: 4: Hoare triple {4431#true} call #t~ret7 := main(); {4431#true} is VALID [2018-11-23 12:21:04,282 INFO L273 TraceCheckUtils]: 5: Hoare triple {4431#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {4431#true} is VALID [2018-11-23 12:21:04,283 INFO L273 TraceCheckUtils]: 6: Hoare triple {4431#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {4465#(and (= 1 main_~CCCELVOL1~0) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:04,283 INFO L273 TraceCheckUtils]: 7: Hoare triple {4465#(and (= 1 main_~CCCELVOL1~0) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {4469#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:04,284 INFO L273 TraceCheckUtils]: 8: Hoare triple {4469#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {4469#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:04,285 INFO L273 TraceCheckUtils]: 9: Hoare triple {4469#(and (= 1 main_~CCCELVOL1~0) (= 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 * (2 * ~i~0 - 2), 4); {4469#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:04,287 INFO L273 TraceCheckUtils]: 10: Hoare triple {4469#(and (= 1 main_~CCCELVOL1~0) (= 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 * (2 * ~i~0 - 1), 4); {4469#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:04,288 INFO L273 TraceCheckUtils]: 11: Hoare triple {4469#(and (= 1 main_~CCCELVOL1~0) (= 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; {4482#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:04,288 INFO L273 TraceCheckUtils]: 12: Hoare triple {4482#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {4482#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:04,290 INFO L273 TraceCheckUtils]: 13: Hoare triple {4482#(and (= main_~i~0 2) (= 1 main_~CCCELVOL1~0) (<= 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 * (2 * ~i~0 - 2), 4); {4489#(and (= main_~i~0 2) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8)))) (= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:04,291 INFO L273 TraceCheckUtils]: 14: Hoare triple {4489#(and (= main_~i~0 2) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8)))) (= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {4493#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:21:04,292 INFO L273 TraceCheckUtils]: 15: Hoare triple {4493#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4493#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:21:04,293 INFO L273 TraceCheckUtils]: 16: Hoare triple {4493#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {4493#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:21:04,293 INFO L273 TraceCheckUtils]: 17: Hoare triple {4493#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} ~i~0 := 0; {4503#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:04,294 INFO L273 TraceCheckUtils]: 18: Hoare triple {4503#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {4503#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:04,295 INFO L273 TraceCheckUtils]: 19: Hoare triple {4503#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} assume #t~short6; {4503#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:04,297 INFO L256 TraceCheckUtils]: 20: Hoare triple {4503#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {4513#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8))))} is VALID [2018-11-23 12:21:04,297 INFO L273 TraceCheckUtils]: 21: Hoare triple {4513#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8))))} ~cond := #in~cond; {4513#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8))))} is VALID [2018-11-23 12:21:04,298 INFO L273 TraceCheckUtils]: 22: Hoare triple {4513#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8))))} assume !(0 == ~cond); {4513#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8))))} is VALID [2018-11-23 12:21:04,298 INFO L273 TraceCheckUtils]: 23: Hoare triple {4513#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8))))} assume true; {4513#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8))))} is VALID [2018-11-23 12:21:04,299 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {4513#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8))))} {4503#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} #81#return; {4503#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:04,300 INFO L273 TraceCheckUtils]: 25: Hoare triple {4503#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {4503#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:04,301 INFO L273 TraceCheckUtils]: 26: Hoare triple {4503#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4532#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:21:04,302 INFO L273 TraceCheckUtils]: 27: Hoare triple {4532#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {4532#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:21:04,303 INFO L273 TraceCheckUtils]: 28: Hoare triple {4532#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} assume #t~short6; {4532#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:21:04,304 INFO L256 TraceCheckUtils]: 29: Hoare triple {4532#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {4513#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8))))} is VALID [2018-11-23 12:21:04,305 INFO L273 TraceCheckUtils]: 30: Hoare triple {4513#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8))))} ~cond := #in~cond; {4513#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8))))} is VALID [2018-11-23 12:21:04,306 INFO L273 TraceCheckUtils]: 31: Hoare triple {4513#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8))))} assume !(0 == ~cond); {4513#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8))))} is VALID [2018-11-23 12:21:04,306 INFO L273 TraceCheckUtils]: 32: Hoare triple {4513#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8))))} assume true; {4513#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8))))} is VALID [2018-11-23 12:21:04,307 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {4513#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= 1 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8))))} {4532#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} #81#return; {4532#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:21:04,308 INFO L273 TraceCheckUtils]: 34: Hoare triple {4532#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {4532#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:21:04,309 INFO L273 TraceCheckUtils]: 35: Hoare triple {4532#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4560#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:21:04,310 INFO L273 TraceCheckUtils]: 36: Hoare triple {4560#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {4564#(and (= main_~i~0 2) |main_#t~short6| (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} is VALID [2018-11-23 12:21:04,310 INFO L273 TraceCheckUtils]: 37: Hoare triple {4564#(and (= main_~i~0 2) |main_#t~short6| (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {4432#false} is VALID [2018-11-23 12:21:04,311 INFO L256 TraceCheckUtils]: 38: Hoare triple {4432#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {4432#false} is VALID [2018-11-23 12:21:04,311 INFO L273 TraceCheckUtils]: 39: Hoare triple {4432#false} ~cond := #in~cond; {4432#false} is VALID [2018-11-23 12:21:04,311 INFO L273 TraceCheckUtils]: 40: Hoare triple {4432#false} assume 0 == ~cond; {4432#false} is VALID [2018-11-23 12:21:04,311 INFO L273 TraceCheckUtils]: 41: Hoare triple {4432#false} assume !false; {4432#false} is VALID [2018-11-23 12:21:04,318 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 6 proven. 15 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:21:04,336 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:21:04,336 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12] total 23 [2018-11-23 12:21:04,337 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 42 [2018-11-23 12:21:04,337 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:04,337 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-23 12:21:04,418 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:04,418 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-23 12:21:04,418 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-23 12:21:04,419 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=432, Unknown=0, NotChecked=0, Total=506 [2018-11-23 12:21:04,419 INFO L87 Difference]: Start difference. First operand 94 states and 108 transitions. Second operand 23 states. [2018-11-23 12:21:11,661 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:11,661 INFO L93 Difference]: Finished difference Result 202 states and 241 transitions. [2018-11-23 12:21:11,661 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 40 states. [2018-11-23 12:21:11,661 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 42 [2018-11-23 12:21:11,662 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:11,662 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:21:11,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 191 transitions. [2018-11-23 12:21:11,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:21:11,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 191 transitions. [2018-11-23 12:21:11,670 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 40 states and 191 transitions. [2018-11-23 12:21:12,529 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 191 edges. 191 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:12,533 INFO L225 Difference]: With dead ends: 202 [2018-11-23 12:21:12,533 INFO L226 Difference]: Without dead ends: 172 [2018-11-23 12:21:12,535 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 31 SyntacticMatches, 4 SemanticMatches, 58 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 927 ImplicationChecksByTransitivity, 3.4s TimeCoverageRelationStatistics Valid=628, Invalid=2912, Unknown=0, NotChecked=0, Total=3540 [2018-11-23 12:21:12,535 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 172 states. [2018-11-23 12:21:12,912 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 172 to 109. [2018-11-23 12:21:12,912 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:12,912 INFO L82 GeneralOperation]: Start isEquivalent. First operand 172 states. Second operand 109 states. [2018-11-23 12:21:12,912 INFO L74 IsIncluded]: Start isIncluded. First operand 172 states. Second operand 109 states. [2018-11-23 12:21:12,913 INFO L87 Difference]: Start difference. First operand 172 states. Second operand 109 states. [2018-11-23 12:21:12,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:12,919 INFO L93 Difference]: Finished difference Result 172 states and 204 transitions. [2018-11-23 12:21:12,919 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 204 transitions. [2018-11-23 12:21:12,920 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:12,920 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:12,920 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand 172 states. [2018-11-23 12:21:12,920 INFO L87 Difference]: Start difference. First operand 109 states. Second operand 172 states. [2018-11-23 12:21:12,925 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:12,925 INFO L93 Difference]: Finished difference Result 172 states and 204 transitions. [2018-11-23 12:21:12,925 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 204 transitions. [2018-11-23 12:21:12,926 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:12,926 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:12,926 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:12,927 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:12,927 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 109 states. [2018-11-23 12:21:12,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 126 transitions. [2018-11-23 12:21:12,929 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 126 transitions. Word has length 42 [2018-11-23 12:21:12,930 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:12,930 INFO L480 AbstractCegarLoop]: Abstraction has 109 states and 126 transitions. [2018-11-23 12:21:12,930 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-23 12:21:12,930 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 126 transitions. [2018-11-23 12:21:12,931 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-23 12:21:12,931 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:12,931 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:12,931 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:12,931 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:12,931 INFO L82 PathProgramCache]: Analyzing trace with hash 1582060021, now seen corresponding path program 1 times [2018-11-23 12:21:12,932 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:12,932 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:12,932 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:12,932 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:21:12,933 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:12,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:13,764 WARN L180 SmtUtils]: Spent 298.00 ms on a formula simplification. DAG size of input: 19 DAG size of output: 9 [2018-11-23 12:21:14,367 INFO L256 TraceCheckUtils]: 0: Hoare triple {5417#true} call ULTIMATE.init(); {5417#true} is VALID [2018-11-23 12:21:14,367 INFO L273 TraceCheckUtils]: 1: Hoare triple {5417#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {5417#true} is VALID [2018-11-23 12:21:14,367 INFO L273 TraceCheckUtils]: 2: Hoare triple {5417#true} assume true; {5417#true} is VALID [2018-11-23 12:21:14,368 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5417#true} {5417#true} #77#return; {5417#true} is VALID [2018-11-23 12:21:14,368 INFO L256 TraceCheckUtils]: 4: Hoare triple {5417#true} call #t~ret7 := main(); {5417#true} is VALID [2018-11-23 12:21:14,368 INFO L273 TraceCheckUtils]: 5: Hoare triple {5417#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {5417#true} is VALID [2018-11-23 12:21:14,369 INFO L273 TraceCheckUtils]: 6: Hoare triple {5417#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {5419#(or (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:14,370 INFO L273 TraceCheckUtils]: 7: Hoare triple {5419#(or (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {5420#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:21:14,371 INFO L273 TraceCheckUtils]: 8: Hoare triple {5420#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {5420#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:21:14,371 INFO L273 TraceCheckUtils]: 9: Hoare triple {5420#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {5420#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:21:14,372 INFO L273 TraceCheckUtils]: 10: Hoare triple {5420#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {5420#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:21:14,373 INFO L273 TraceCheckUtils]: 11: Hoare triple {5420#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5421#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:21:14,374 INFO L273 TraceCheckUtils]: 12: Hoare triple {5421#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {5421#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:21:14,375 INFO L273 TraceCheckUtils]: 13: Hoare triple {5421#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {5422#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (<= main_~i~0 2))} is VALID [2018-11-23 12:21:14,376 INFO L273 TraceCheckUtils]: 14: Hoare triple {5422#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (<= main_~i~0 2))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {5422#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (<= main_~i~0 2))} is VALID [2018-11-23 12:21:14,378 INFO L273 TraceCheckUtils]: 15: Hoare triple {5422#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (<= main_~i~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5423#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= (* 2 main_~i~0) 6) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 2 main_~i~0) 5)))} is VALID [2018-11-23 12:21:14,379 INFO L273 TraceCheckUtils]: 16: Hoare triple {5423#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= (* 2 main_~i~0) 6) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 2 main_~i~0) 5)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {5424#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 3))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 4)))} is VALID [2018-11-23 12:21:14,380 INFO L273 TraceCheckUtils]: 17: Hoare triple {5424#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 3))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 4)))} ~i~0 := 0; {5425#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 3))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 4)) (= main_~i~0 0))} is VALID [2018-11-23 12:21:14,381 INFO L273 TraceCheckUtils]: 18: Hoare triple {5425#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 3))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 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; {5425#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 3))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 4)) (= main_~i~0 0))} is VALID [2018-11-23 12:21:14,382 INFO L273 TraceCheckUtils]: 19: Hoare triple {5425#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 3))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 4)) (= main_~i~0 0))} assume #t~short6; {5425#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 3))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 4)) (= main_~i~0 0))} is VALID [2018-11-23 12:21:14,382 INFO L256 TraceCheckUtils]: 20: Hoare triple {5425#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 3))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 4)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5417#true} is VALID [2018-11-23 12:21:14,382 INFO L273 TraceCheckUtils]: 21: Hoare triple {5417#true} ~cond := #in~cond; {5417#true} is VALID [2018-11-23 12:21:14,382 INFO L273 TraceCheckUtils]: 22: Hoare triple {5417#true} assume !(0 == ~cond); {5417#true} is VALID [2018-11-23 12:21:14,383 INFO L273 TraceCheckUtils]: 23: Hoare triple {5417#true} assume true; {5417#true} is VALID [2018-11-23 12:21:14,397 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {5417#true} {5425#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 3))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 4)) (= main_~i~0 0))} #81#return; {5425#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 3))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 4)) (= main_~i~0 0))} is VALID [2018-11-23 12:21:14,398 INFO L273 TraceCheckUtils]: 25: Hoare triple {5425#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 3))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 4)) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {5425#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 3))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 4)) (= main_~i~0 0))} is VALID [2018-11-23 12:21:14,399 INFO L273 TraceCheckUtils]: 26: Hoare triple {5425#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 3))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 4)) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5426#(and (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 2)))} is VALID [2018-11-23 12:21:14,400 INFO L273 TraceCheckUtils]: 27: Hoare triple {5426#(and (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 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; {5426#(and (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 2)))} is VALID [2018-11-23 12:21:14,400 INFO L273 TraceCheckUtils]: 28: Hoare triple {5426#(and (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 2)))} assume #t~short6; {5426#(and (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 2)))} is VALID [2018-11-23 12:21:14,400 INFO L256 TraceCheckUtils]: 29: Hoare triple {5426#(and (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 2)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5417#true} is VALID [2018-11-23 12:21:14,401 INFO L273 TraceCheckUtils]: 30: Hoare triple {5417#true} ~cond := #in~cond; {5417#true} is VALID [2018-11-23 12:21:14,401 INFO L273 TraceCheckUtils]: 31: Hoare triple {5417#true} assume !(0 == ~cond); {5417#true} is VALID [2018-11-23 12:21:14,401 INFO L273 TraceCheckUtils]: 32: Hoare triple {5417#true} assume true; {5417#true} is VALID [2018-11-23 12:21:14,402 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {5417#true} {5426#(and (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 2)))} #81#return; {5426#(and (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 2)))} is VALID [2018-11-23 12:21:14,403 INFO L273 TraceCheckUtils]: 34: Hoare triple {5426#(and (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 2)))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {5426#(and (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 2)))} is VALID [2018-11-23 12:21:14,404 INFO L273 TraceCheckUtils]: 35: Hoare triple {5426#(and (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 2)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5427#(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:14,405 INFO L273 TraceCheckUtils]: 36: Hoare triple {5427#(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; {5428#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:21:14,406 INFO L273 TraceCheckUtils]: 37: Hoare triple {5428#(= 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; {5429#|main_#t~short6|} is VALID [2018-11-23 12:21:14,406 INFO L256 TraceCheckUtils]: 38: Hoare triple {5429#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5430#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-23 12:21:14,407 INFO L273 TraceCheckUtils]: 39: Hoare triple {5430#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {5431#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:21:14,407 INFO L273 TraceCheckUtils]: 40: Hoare triple {5431#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {5418#false} is VALID [2018-11-23 12:21:14,408 INFO L273 TraceCheckUtils]: 41: Hoare triple {5418#false} assume !false; {5418#false} is VALID [2018-11-23 12:21:14,414 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 4 proven. 17 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:21:14,415 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:21:14,415 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:14,424 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:14,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:14,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:14,456 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:21:14,543 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:14,546 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:14,547 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:14,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:14,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:14,556 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-23 12:21:14,592 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:14,600 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:14,601 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:14,603 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:14,608 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:14,614 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:14,615 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:26, output treesize:22 [2018-11-23 12:21:15,080 INFO L256 TraceCheckUtils]: 0: Hoare triple {5417#true} call ULTIMATE.init(); {5417#true} is VALID [2018-11-23 12:21:15,081 INFO L273 TraceCheckUtils]: 1: Hoare triple {5417#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {5417#true} is VALID [2018-11-23 12:21:15,081 INFO L273 TraceCheckUtils]: 2: Hoare triple {5417#true} assume true; {5417#true} is VALID [2018-11-23 12:21:15,081 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5417#true} {5417#true} #77#return; {5417#true} is VALID [2018-11-23 12:21:15,081 INFO L256 TraceCheckUtils]: 4: Hoare triple {5417#true} call #t~ret7 := main(); {5417#true} is VALID [2018-11-23 12:21:15,081 INFO L273 TraceCheckUtils]: 5: Hoare triple {5417#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {5417#true} is VALID [2018-11-23 12:21:15,082 INFO L273 TraceCheckUtils]: 6: Hoare triple {5417#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {5453#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:21:15,083 INFO L273 TraceCheckUtils]: 7: Hoare triple {5453#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {5457#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:15,083 INFO L273 TraceCheckUtils]: 8: Hoare triple {5457#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {5457#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:15,084 INFO L273 TraceCheckUtils]: 9: Hoare triple {5457#(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 * (2 * ~i~0 - 2), 4); {5457#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:15,084 INFO L273 TraceCheckUtils]: 10: Hoare triple {5457#(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 * (2 * ~i~0 - 1), 4); {5457#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:15,085 INFO L273 TraceCheckUtils]: 11: Hoare triple {5457#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5470#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:15,085 INFO L273 TraceCheckUtils]: 12: Hoare triple {5470#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {5470#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:15,086 INFO L273 TraceCheckUtils]: 13: Hoare triple {5470#(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 * (2 * ~i~0 - 2), 4); {5477#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) 0))} is VALID [2018-11-23 12:21:15,087 INFO L273 TraceCheckUtils]: 14: Hoare triple {5477#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {5481#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:15,088 INFO L273 TraceCheckUtils]: 15: Hoare triple {5481#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5481#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:15,089 INFO L273 TraceCheckUtils]: 16: Hoare triple {5481#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {5481#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:15,090 INFO L273 TraceCheckUtils]: 17: Hoare triple {5481#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} ~i~0 := 0; {5491#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:15,091 INFO L273 TraceCheckUtils]: 18: Hoare triple {5491#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= 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; {5491#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:15,091 INFO L273 TraceCheckUtils]: 19: Hoare triple {5491#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} assume #t~short6; {5491#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:15,093 INFO L256 TraceCheckUtils]: 20: Hoare triple {5491#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5501#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 12) 0)))} is VALID [2018-11-23 12:21:15,094 INFO L273 TraceCheckUtils]: 21: Hoare triple {5501#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 12) 0)))} ~cond := #in~cond; {5501#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 12) 0)))} is VALID [2018-11-23 12:21:15,094 INFO L273 TraceCheckUtils]: 22: Hoare triple {5501#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 12) 0)))} assume !(0 == ~cond); {5501#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 12) 0)))} is VALID [2018-11-23 12:21:15,095 INFO L273 TraceCheckUtils]: 23: Hoare triple {5501#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 12) 0)))} assume true; {5501#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 12) 0)))} is VALID [2018-11-23 12:21:15,096 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {5501#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 12) 0)))} {5491#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} #81#return; {5491#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:15,096 INFO L273 TraceCheckUtils]: 25: Hoare triple {5491#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {5491#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:15,097 INFO L273 TraceCheckUtils]: 26: Hoare triple {5491#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5520#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:15,098 INFO L273 TraceCheckUtils]: 27: Hoare triple {5520#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} 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; {5520#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:15,099 INFO L273 TraceCheckUtils]: 28: Hoare triple {5520#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume #t~short6; {5520#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:15,101 INFO L256 TraceCheckUtils]: 29: Hoare triple {5520#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5501#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 12) 0)))} is VALID [2018-11-23 12:21:15,101 INFO L273 TraceCheckUtils]: 30: Hoare triple {5501#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 12) 0)))} ~cond := #in~cond; {5501#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 12) 0)))} is VALID [2018-11-23 12:21:15,102 INFO L273 TraceCheckUtils]: 31: Hoare triple {5501#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 12) 0)))} assume !(0 == ~cond); {5501#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 12) 0)))} is VALID [2018-11-23 12:21:15,102 INFO L273 TraceCheckUtils]: 32: Hoare triple {5501#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 12) 0)))} assume true; {5501#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 12) 0)))} is VALID [2018-11-23 12:21:15,103 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {5501#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 12) 0)))} {5520#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} #81#return; {5520#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:15,104 INFO L273 TraceCheckUtils]: 34: Hoare triple {5520#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {5520#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:15,105 INFO L273 TraceCheckUtils]: 35: Hoare triple {5520#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5548#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:15,106 INFO L273 TraceCheckUtils]: 36: Hoare triple {5548#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} 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; {5548#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:15,107 INFO L273 TraceCheckUtils]: 37: Hoare triple {5548#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {5429#|main_#t~short6|} is VALID [2018-11-23 12:21:15,107 INFO L256 TraceCheckUtils]: 38: Hoare triple {5429#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5558#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:21:15,108 INFO L273 TraceCheckUtils]: 39: Hoare triple {5558#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {5562#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:21:15,109 INFO L273 TraceCheckUtils]: 40: Hoare triple {5562#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5418#false} is VALID [2018-11-23 12:21:15,109 INFO L273 TraceCheckUtils]: 41: Hoare triple {5418#false} assume !false; {5418#false} is VALID [2018-11-23 12:21:15,114 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 0 proven. 21 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:21:15,132 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:21:15,133 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14] total 26 [2018-11-23 12:21:15,133 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 42 [2018-11-23 12:21:15,134 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:15,134 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states. [2018-11-23 12:21:15,219 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:21:15,219 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2018-11-23 12:21:15,220 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2018-11-23 12:21:15,220 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=84, Invalid=566, Unknown=0, NotChecked=0, Total=650 [2018-11-23 12:21:15,220 INFO L87 Difference]: Start difference. First operand 109 states and 126 transitions. Second operand 26 states. [2018-11-23 12:21:22,542 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:22,542 INFO L93 Difference]: Finished difference Result 210 states and 253 transitions. [2018-11-23 12:21:22,542 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 44 states. [2018-11-23 12:21:22,543 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 42 [2018-11-23 12:21:22,543 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:22,543 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:21:22,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 167 transitions. [2018-11-23 12:21:22,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:21:22,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 167 transitions. [2018-11-23 12:21:22,549 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 44 states and 167 transitions. [2018-11-23 12:21:23,208 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:23,214 INFO L225 Difference]: With dead ends: 210 [2018-11-23 12:21:23,215 INFO L226 Difference]: Without dead ends: 208 [2018-11-23 12:21:23,216 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 31 SyntacticMatches, 4 SemanticMatches, 65 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1256 ImplicationChecksByTransitivity, 3.3s TimeCoverageRelationStatistics Valid=661, Invalid=3761, Unknown=0, NotChecked=0, Total=4422 [2018-11-23 12:21:23,217 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 208 states. [2018-11-23 12:21:24,230 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 208 to 164. [2018-11-23 12:21:24,230 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:24,230 INFO L82 GeneralOperation]: Start isEquivalent. First operand 208 states. Second operand 164 states. [2018-11-23 12:21:24,230 INFO L74 IsIncluded]: Start isIncluded. First operand 208 states. Second operand 164 states. [2018-11-23 12:21:24,231 INFO L87 Difference]: Start difference. First operand 208 states. Second operand 164 states. [2018-11-23 12:21:24,237 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:24,237 INFO L93 Difference]: Finished difference Result 208 states and 251 transitions. [2018-11-23 12:21:24,237 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 251 transitions. [2018-11-23 12:21:24,238 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:24,238 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:24,238 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand 208 states. [2018-11-23 12:21:24,238 INFO L87 Difference]: Start difference. First operand 164 states. Second operand 208 states. [2018-11-23 12:21:24,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:24,244 INFO L93 Difference]: Finished difference Result 208 states and 251 transitions. [2018-11-23 12:21:24,244 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 251 transitions. [2018-11-23 12:21:24,245 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:24,245 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:24,245 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:24,246 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:24,246 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 164 states. [2018-11-23 12:21:24,249 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 164 states to 164 states and 197 transitions. [2018-11-23 12:21:24,250 INFO L78 Accepts]: Start accepts. Automaton has 164 states and 197 transitions. Word has length 42 [2018-11-23 12:21:24,250 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:24,250 INFO L480 AbstractCegarLoop]: Abstraction has 164 states and 197 transitions. [2018-11-23 12:21:24,250 INFO L481 AbstractCegarLoop]: Interpolant automaton has 26 states. [2018-11-23 12:21:24,250 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 197 transitions. [2018-11-23 12:21:24,251 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2018-11-23 12:21:24,251 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:24,251 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:24,251 INFO L423 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:24,252 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:24,252 INFO L82 PathProgramCache]: Analyzing trace with hash 795850780, now seen corresponding path program 2 times [2018-11-23 12:21:24,252 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:24,252 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:24,253 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:24,253 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:24,253 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:24,266 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:24,892 INFO L256 TraceCheckUtils]: 0: Hoare triple {6579#true} call ULTIMATE.init(); {6579#true} is VALID [2018-11-23 12:21:24,893 INFO L273 TraceCheckUtils]: 1: Hoare triple {6579#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {6579#true} is VALID [2018-11-23 12:21:24,893 INFO L273 TraceCheckUtils]: 2: Hoare triple {6579#true} assume true; {6579#true} is VALID [2018-11-23 12:21:24,893 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6579#true} {6579#true} #77#return; {6579#true} is VALID [2018-11-23 12:21:24,893 INFO L256 TraceCheckUtils]: 4: Hoare triple {6579#true} call #t~ret7 := main(); {6579#true} is VALID [2018-11-23 12:21:24,893 INFO L273 TraceCheckUtils]: 5: Hoare triple {6579#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {6579#true} is VALID [2018-11-23 12:21:24,894 INFO L273 TraceCheckUtils]: 6: Hoare triple {6579#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {6581#(or (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:24,895 INFO L273 TraceCheckUtils]: 7: Hoare triple {6581#(or (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {6582#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:21:24,896 INFO L273 TraceCheckUtils]: 8: Hoare triple {6582#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {6582#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:21:24,897 INFO L273 TraceCheckUtils]: 9: Hoare triple {6582#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {6582#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:21:24,898 INFO L273 TraceCheckUtils]: 10: Hoare triple {6582#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {6582#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:21:24,898 INFO L273 TraceCheckUtils]: 11: Hoare triple {6582#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6583#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:21:24,899 INFO L273 TraceCheckUtils]: 12: Hoare triple {6583#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {6583#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:21:24,900 INFO L273 TraceCheckUtils]: 13: Hoare triple {6583#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {6583#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:21:24,901 INFO L273 TraceCheckUtils]: 14: Hoare triple {6583#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {6584#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)))) (<= main_~i~0 2))} is VALID [2018-11-23 12:21:24,902 INFO L273 TraceCheckUtils]: 15: Hoare triple {6584#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)))) (<= main_~i~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6585#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= (* 2 main_~i~0) 6) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4))))) (<= (* 2 main_~i~0) 5)))} is VALID [2018-11-23 12:21:24,904 INFO L273 TraceCheckUtils]: 16: Hoare triple {6585#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= (* 2 main_~i~0) 6) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4))))) (<= (* 2 main_~i~0) 5)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {6586#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4))} is VALID [2018-11-23 12:21:24,905 INFO L273 TraceCheckUtils]: 17: Hoare triple {6586#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4))} ~i~0 := 0; {6587#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:21:24,905 INFO L273 TraceCheckUtils]: 18: Hoare triple {6587#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 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; {6587#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:21:24,906 INFO L273 TraceCheckUtils]: 19: Hoare triple {6587#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} assume #t~short6; {6587#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:21:24,906 INFO L256 TraceCheckUtils]: 20: Hoare triple {6587#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6579#true} is VALID [2018-11-23 12:21:24,907 INFO L273 TraceCheckUtils]: 21: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2018-11-23 12:21:24,907 INFO L273 TraceCheckUtils]: 22: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2018-11-23 12:21:24,907 INFO L273 TraceCheckUtils]: 23: Hoare triple {6579#true} assume true; {6579#true} is VALID [2018-11-23 12:21:24,908 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {6579#true} {6587#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} #81#return; {6587#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:21:24,909 INFO L273 TraceCheckUtils]: 25: Hoare triple {6587#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {6587#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:21:24,910 INFO L273 TraceCheckUtils]: 26: Hoare triple {6587#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6588#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} is VALID [2018-11-23 12:21:24,911 INFO L273 TraceCheckUtils]: 27: Hoare triple {6588#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~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; {6588#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} is VALID [2018-11-23 12:21:24,912 INFO L273 TraceCheckUtils]: 28: Hoare triple {6588#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} assume #t~short6; {6588#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} is VALID [2018-11-23 12:21:24,912 INFO L256 TraceCheckUtils]: 29: Hoare triple {6588#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6579#true} is VALID [2018-11-23 12:21:24,912 INFO L273 TraceCheckUtils]: 30: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2018-11-23 12:21:24,913 INFO L273 TraceCheckUtils]: 31: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2018-11-23 12:21:24,913 INFO L273 TraceCheckUtils]: 32: Hoare triple {6579#true} assume true; {6579#true} is VALID [2018-11-23 12:21:24,914 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {6579#true} {6588#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} #81#return; {6588#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} is VALID [2018-11-23 12:21:24,915 INFO L273 TraceCheckUtils]: 34: Hoare triple {6588#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {6588#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} is VALID [2018-11-23 12:21:24,916 INFO L273 TraceCheckUtils]: 35: Hoare triple {6588#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6589#(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:24,917 INFO L273 TraceCheckUtils]: 36: Hoare triple {6589#(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; {6589#(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:24,918 INFO L273 TraceCheckUtils]: 37: Hoare triple {6589#(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; {6589#(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:24,918 INFO L256 TraceCheckUtils]: 38: Hoare triple {6589#(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)); {6579#true} is VALID [2018-11-23 12:21:24,918 INFO L273 TraceCheckUtils]: 39: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2018-11-23 12:21:24,918 INFO L273 TraceCheckUtils]: 40: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2018-11-23 12:21:24,919 INFO L273 TraceCheckUtils]: 41: Hoare triple {6579#true} assume true; {6579#true} is VALID [2018-11-23 12:21:24,919 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {6579#true} {6589#(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)))} #81#return; {6589#(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:24,920 INFO L273 TraceCheckUtils]: 43: Hoare triple {6589#(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; {6589#(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:24,921 INFO L273 TraceCheckUtils]: 44: Hoare triple {6589#(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; {6590#(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:24,921 INFO L273 TraceCheckUtils]: 45: Hoare triple {6590#(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; {6591#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:21:24,922 INFO L273 TraceCheckUtils]: 46: Hoare triple {6591#(= 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; {6592#|main_#t~short6|} is VALID [2018-11-23 12:21:24,922 INFO L256 TraceCheckUtils]: 47: Hoare triple {6592#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6593#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-23 12:21:24,923 INFO L273 TraceCheckUtils]: 48: Hoare triple {6593#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {6594#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:21:24,923 INFO L273 TraceCheckUtils]: 49: Hoare triple {6594#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {6580#false} is VALID [2018-11-23 12:21:24,924 INFO L273 TraceCheckUtils]: 50: Hoare triple {6580#false} assume !false; {6580#false} is VALID [2018-11-23 12:21:24,931 INFO L134 CoverageAnalysis]: Checked inductivity of 48 backedges. 11 proven. 25 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:21:24,931 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:21:24,931 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:24,940 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:21:24,963 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:21:24,963 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:21:24,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:24,978 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:21:25,084 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:25,089 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:25,091 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:25,093 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:25,098 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:25,098 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 12:21:25,657 INFO L256 TraceCheckUtils]: 0: Hoare triple {6579#true} call ULTIMATE.init(); {6579#true} is VALID [2018-11-23 12:21:25,657 INFO L273 TraceCheckUtils]: 1: Hoare triple {6579#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {6579#true} is VALID [2018-11-23 12:21:25,658 INFO L273 TraceCheckUtils]: 2: Hoare triple {6579#true} assume true; {6579#true} is VALID [2018-11-23 12:21:25,658 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6579#true} {6579#true} #77#return; {6579#true} is VALID [2018-11-23 12:21:25,658 INFO L256 TraceCheckUtils]: 4: Hoare triple {6579#true} call #t~ret7 := main(); {6579#true} is VALID [2018-11-23 12:21:25,658 INFO L273 TraceCheckUtils]: 5: Hoare triple {6579#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {6579#true} is VALID [2018-11-23 12:21:25,659 INFO L273 TraceCheckUtils]: 6: Hoare triple {6579#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {6616#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:21:25,660 INFO L273 TraceCheckUtils]: 7: Hoare triple {6616#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {6620#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,661 INFO L273 TraceCheckUtils]: 8: Hoare triple {6620#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {6620#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,661 INFO L273 TraceCheckUtils]: 9: Hoare triple {6620#(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 * (2 * ~i~0 - 2), 4); {6620#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,662 INFO L273 TraceCheckUtils]: 10: Hoare triple {6620#(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 * (2 * ~i~0 - 1), 4); {6620#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,662 INFO L273 TraceCheckUtils]: 11: Hoare triple {6620#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6633#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,663 INFO L273 TraceCheckUtils]: 12: Hoare triple {6633#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {6633#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,664 INFO L273 TraceCheckUtils]: 13: Hoare triple {6633#(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 * (2 * ~i~0 - 2), 4); {6633#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,665 INFO L273 TraceCheckUtils]: 14: Hoare triple {6633#(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 * (2 * ~i~0 - 1), 4); {6643#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,666 INFO L273 TraceCheckUtils]: 15: Hoare triple {6643#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6643#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,667 INFO L273 TraceCheckUtils]: 16: Hoare triple {6643#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {6643#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,667 INFO L273 TraceCheckUtils]: 17: Hoare triple {6643#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} ~i~0 := 0; {6653#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:25,668 INFO L273 TraceCheckUtils]: 18: Hoare triple {6653#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |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; {6653#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:25,669 INFO L273 TraceCheckUtils]: 19: Hoare triple {6653#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} assume #t~short6; {6653#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:25,671 INFO L256 TraceCheckUtils]: 20: Hoare triple {6653#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:21:25,672 INFO L273 TraceCheckUtils]: 21: Hoare triple {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} ~cond := #in~cond; {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:21:25,673 INFO L273 TraceCheckUtils]: 22: Hoare triple {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} assume !(0 == ~cond); {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:21:25,673 INFO L273 TraceCheckUtils]: 23: Hoare triple {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} assume true; {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:21:25,674 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} {6653#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} #81#return; {6653#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:25,675 INFO L273 TraceCheckUtils]: 25: Hoare triple {6653#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {6653#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:25,676 INFO L273 TraceCheckUtils]: 26: Hoare triple {6653#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6682#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,677 INFO L273 TraceCheckUtils]: 27: Hoare triple {6682#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= 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; {6682#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,678 INFO L273 TraceCheckUtils]: 28: Hoare triple {6682#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume #t~short6; {6682#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,680 INFO L256 TraceCheckUtils]: 29: Hoare triple {6682#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:21:25,680 INFO L273 TraceCheckUtils]: 30: Hoare triple {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} ~cond := #in~cond; {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:21:25,681 INFO L273 TraceCheckUtils]: 31: Hoare triple {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} assume !(0 == ~cond); {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:21:25,682 INFO L273 TraceCheckUtils]: 32: Hoare triple {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} assume true; {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:21:25,683 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} {6682#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} #81#return; {6682#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,684 INFO L273 TraceCheckUtils]: 34: Hoare triple {6682#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {6682#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,704 INFO L273 TraceCheckUtils]: 35: Hoare triple {6682#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6710#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,706 INFO L273 TraceCheckUtils]: 36: Hoare triple {6710#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |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; {6710#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,707 INFO L273 TraceCheckUtils]: 37: Hoare triple {6710#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} assume #t~short6; {6710#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,709 INFO L256 TraceCheckUtils]: 38: Hoare triple {6710#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:21:25,709 INFO L273 TraceCheckUtils]: 39: Hoare triple {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} ~cond := #in~cond; {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:21:25,709 INFO L273 TraceCheckUtils]: 40: Hoare triple {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} assume !(0 == ~cond); {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:21:25,710 INFO L273 TraceCheckUtils]: 41: Hoare triple {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} assume true; {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} is VALID [2018-11-23 12:21:25,711 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {6663#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 12)))} {6710#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} #81#return; {6710#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,712 INFO L273 TraceCheckUtils]: 43: Hoare triple {6710#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {6710#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,713 INFO L273 TraceCheckUtils]: 44: Hoare triple {6710#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6738#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,714 INFO L273 TraceCheckUtils]: 45: Hoare triple {6738#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |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; {6738#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:25,715 INFO L273 TraceCheckUtils]: 46: Hoare triple {6738#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {6592#|main_#t~short6|} is VALID [2018-11-23 12:21:25,716 INFO L256 TraceCheckUtils]: 47: Hoare triple {6592#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6748#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:21:25,717 INFO L273 TraceCheckUtils]: 48: Hoare triple {6748#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {6752#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:21:25,717 INFO L273 TraceCheckUtils]: 49: Hoare triple {6752#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6580#false} is VALID [2018-11-23 12:21:25,718 INFO L273 TraceCheckUtils]: 50: Hoare triple {6580#false} assume !false; {6580#false} is VALID [2018-11-23 12:21:25,727 INFO L134 CoverageAnalysis]: Checked inductivity of 48 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:21:25,746 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:21:25,746 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 14] total 27 [2018-11-23 12:21:25,747 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 51 [2018-11-23 12:21:25,747 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:25,747 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states. [2018-11-23 12:21:26,056 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:26,056 INFO L459 AbstractCegarLoop]: Interpolant automaton has 27 states [2018-11-23 12:21:26,057 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2018-11-23 12:21:26,057 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=85, Invalid=617, Unknown=0, NotChecked=0, Total=702 [2018-11-23 12:21:26,057 INFO L87 Difference]: Start difference. First operand 164 states and 197 transitions. Second operand 27 states. [2018-11-23 12:21:26,874 WARN L180 SmtUtils]: Spent 205.00 ms on a formula simplification that was a NOOP. DAG size: 24 [2018-11-23 12:21:28,467 WARN L180 SmtUtils]: Spent 126.00 ms on a formula simplification that was a NOOP. DAG size: 11 [2018-11-23 12:21:30,148 WARN L180 SmtUtils]: Spent 249.00 ms on a formula simplification. DAG size of input: 45 DAG size of output: 24 [2018-11-23 12:21:36,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:36,449 INFO L93 Difference]: Finished difference Result 263 states and 319 transitions. [2018-11-23 12:21:36,449 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2018-11-23 12:21:36,449 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 51 [2018-11-23 12:21:36,449 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:36,449 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 12:21:36,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 163 transitions. [2018-11-23 12:21:36,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 12:21:36,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 163 transitions. [2018-11-23 12:21:36,455 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 41 states and 163 transitions. [2018-11-23 12:21:36,699 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 163 edges. 163 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:36,706 INFO L225 Difference]: With dead ends: 263 [2018-11-23 12:21:36,707 INFO L226 Difference]: Without dead ends: 190 [2018-11-23 12:21:36,709 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 38 SyntacticMatches, 5 SemanticMatches, 63 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1203 ImplicationChecksByTransitivity, 3.5s TimeCoverageRelationStatistics Valid=589, Invalid=3571, Unknown=0, NotChecked=0, Total=4160 [2018-11-23 12:21:36,709 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 190 states. [2018-11-23 12:21:37,475 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 190 to 166. [2018-11-23 12:21:37,476 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:37,476 INFO L82 GeneralOperation]: Start isEquivalent. First operand 190 states. Second operand 166 states. [2018-11-23 12:21:37,476 INFO L74 IsIncluded]: Start isIncluded. First operand 190 states. Second operand 166 states. [2018-11-23 12:21:37,476 INFO L87 Difference]: Start difference. First operand 190 states. Second operand 166 states. [2018-11-23 12:21:37,482 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:37,483 INFO L93 Difference]: Finished difference Result 190 states and 216 transitions. [2018-11-23 12:21:37,483 INFO L276 IsEmpty]: Start isEmpty. Operand 190 states and 216 transitions. [2018-11-23 12:21:37,484 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:37,484 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:37,484 INFO L74 IsIncluded]: Start isIncluded. First operand 166 states. Second operand 190 states. [2018-11-23 12:21:37,484 INFO L87 Difference]: Start difference. First operand 166 states. Second operand 190 states. [2018-11-23 12:21:37,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:37,489 INFO L93 Difference]: Finished difference Result 190 states and 216 transitions. [2018-11-23 12:21:37,489 INFO L276 IsEmpty]: Start isEmpty. Operand 190 states and 216 transitions. [2018-11-23 12:21:37,490 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:37,490 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:37,490 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:37,490 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:37,490 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 166 states. [2018-11-23 12:21:37,494 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 191 transitions. [2018-11-23 12:21:37,494 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 191 transitions. Word has length 51 [2018-11-23 12:21:37,495 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:37,495 INFO L480 AbstractCegarLoop]: Abstraction has 166 states and 191 transitions. [2018-11-23 12:21:37,495 INFO L481 AbstractCegarLoop]: Interpolant automaton has 27 states. [2018-11-23 12:21:37,495 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 191 transitions. [2018-11-23 12:21:37,496 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2018-11-23 12:21:37,496 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:37,496 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:37,496 INFO L423 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:37,496 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:37,497 INFO L82 PathProgramCache]: Analyzing trace with hash -350451243, now seen corresponding path program 4 times [2018-11-23 12:21:37,497 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:37,497 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:37,497 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:37,498 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:21:37,498 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:37,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:38,006 INFO L256 TraceCheckUtils]: 0: Hoare triple {7800#true} call ULTIMATE.init(); {7800#true} is VALID [2018-11-23 12:21:38,006 INFO L273 TraceCheckUtils]: 1: Hoare triple {7800#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {7800#true} is VALID [2018-11-23 12:21:38,006 INFO L273 TraceCheckUtils]: 2: Hoare triple {7800#true} assume true; {7800#true} is VALID [2018-11-23 12:21:38,007 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7800#true} {7800#true} #77#return; {7800#true} is VALID [2018-11-23 12:21:38,007 INFO L256 TraceCheckUtils]: 4: Hoare triple {7800#true} call #t~ret7 := main(); {7800#true} is VALID [2018-11-23 12:21:38,007 INFO L273 TraceCheckUtils]: 5: Hoare triple {7800#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {7800#true} is VALID [2018-11-23 12:21:38,008 INFO L273 TraceCheckUtils]: 6: Hoare triple {7800#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {7802#(or (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,009 INFO L273 TraceCheckUtils]: 7: Hoare triple {7802#(or (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {7803#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:21:38,010 INFO L273 TraceCheckUtils]: 8: Hoare triple {7803#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {7803#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:21:38,010 INFO L273 TraceCheckUtils]: 9: Hoare triple {7803#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {7803#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:21:38,011 INFO L273 TraceCheckUtils]: 10: Hoare triple {7803#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {7803#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:21:38,011 INFO L273 TraceCheckUtils]: 11: Hoare triple {7803#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7804#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:21:38,012 INFO L273 TraceCheckUtils]: 12: Hoare triple {7804#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {7804#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:21:38,013 INFO L273 TraceCheckUtils]: 13: Hoare triple {7804#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {7804#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:21:38,013 INFO L273 TraceCheckUtils]: 14: Hoare triple {7804#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {7804#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:21:38,014 INFO L273 TraceCheckUtils]: 15: Hoare triple {7804#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7805#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3))} is VALID [2018-11-23 12:21:38,015 INFO L273 TraceCheckUtils]: 16: Hoare triple {7805#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {7806#(<= ~CELLCOUNT~0 4)} is VALID [2018-11-23 12:21:38,016 INFO L273 TraceCheckUtils]: 17: Hoare triple {7806#(<= ~CELLCOUNT~0 4)} ~i~0 := 0; {7807#(and (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:21:38,017 INFO L273 TraceCheckUtils]: 18: Hoare triple {7807#(and (<= ~CELLCOUNT~0 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; {7807#(and (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:21:38,017 INFO L273 TraceCheckUtils]: 19: Hoare triple {7807#(and (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} assume #t~short6; {7807#(and (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:21:38,018 INFO L256 TraceCheckUtils]: 20: Hoare triple {7807#(and (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {7800#true} is VALID [2018-11-23 12:21:38,018 INFO L273 TraceCheckUtils]: 21: Hoare triple {7800#true} ~cond := #in~cond; {7800#true} is VALID [2018-11-23 12:21:38,018 INFO L273 TraceCheckUtils]: 22: Hoare triple {7800#true} assume !(0 == ~cond); {7800#true} is VALID [2018-11-23 12:21:38,018 INFO L273 TraceCheckUtils]: 23: Hoare triple {7800#true} assume true; {7800#true} is VALID [2018-11-23 12:21:38,019 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {7800#true} {7807#(and (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} #81#return; {7807#(and (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:21:38,020 INFO L273 TraceCheckUtils]: 25: Hoare triple {7807#(and (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {7807#(and (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:21:38,020 INFO L273 TraceCheckUtils]: 26: Hoare triple {7807#(and (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7808#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:21:38,021 INFO L273 TraceCheckUtils]: 27: Hoare triple {7808#(<= ~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; {7808#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:21:38,021 INFO L273 TraceCheckUtils]: 28: Hoare triple {7808#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} assume #t~short6; {7808#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:21:38,021 INFO L256 TraceCheckUtils]: 29: Hoare triple {7808#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {7800#true} is VALID [2018-11-23 12:21:38,021 INFO L273 TraceCheckUtils]: 30: Hoare triple {7800#true} ~cond := #in~cond; {7800#true} is VALID [2018-11-23 12:21:38,021 INFO L273 TraceCheckUtils]: 31: Hoare triple {7800#true} assume !(0 == ~cond); {7800#true} is VALID [2018-11-23 12:21:38,021 INFO L273 TraceCheckUtils]: 32: Hoare triple {7800#true} assume true; {7800#true} is VALID [2018-11-23 12:21:38,022 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {7800#true} {7808#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} #81#return; {7808#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:21:38,022 INFO L273 TraceCheckUtils]: 34: Hoare triple {7808#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {7808#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:21:38,023 INFO L273 TraceCheckUtils]: 35: Hoare triple {7808#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7809#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:21:38,023 INFO L273 TraceCheckUtils]: 36: Hoare triple {7809#(<= ~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; {7809#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:21:38,023 INFO L273 TraceCheckUtils]: 37: Hoare triple {7809#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} assume #t~short6; {7809#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:21:38,024 INFO L256 TraceCheckUtils]: 38: Hoare triple {7809#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {7800#true} is VALID [2018-11-23 12:21:38,024 INFO L273 TraceCheckUtils]: 39: Hoare triple {7800#true} ~cond := #in~cond; {7800#true} is VALID [2018-11-23 12:21:38,024 INFO L273 TraceCheckUtils]: 40: Hoare triple {7800#true} assume !(0 == ~cond); {7800#true} is VALID [2018-11-23 12:21:38,024 INFO L273 TraceCheckUtils]: 41: Hoare triple {7800#true} assume true; {7800#true} is VALID [2018-11-23 12:21:38,025 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {7800#true} {7809#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} #81#return; {7809#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:21:38,025 INFO L273 TraceCheckUtils]: 43: Hoare triple {7809#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {7809#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:21:38,026 INFO L273 TraceCheckUtils]: 44: Hoare triple {7809#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7810#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:21:38,026 INFO L273 TraceCheckUtils]: 45: Hoare triple {7810#(<= ~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; {7810#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:21:38,026 INFO L273 TraceCheckUtils]: 46: Hoare triple {7810#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} assume #t~short6; {7810#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:21:38,026 INFO L256 TraceCheckUtils]: 47: Hoare triple {7810#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {7800#true} is VALID [2018-11-23 12:21:38,027 INFO L273 TraceCheckUtils]: 48: Hoare triple {7800#true} ~cond := #in~cond; {7800#true} is VALID [2018-11-23 12:21:38,027 INFO L273 TraceCheckUtils]: 49: Hoare triple {7800#true} assume !(0 == ~cond); {7800#true} is VALID [2018-11-23 12:21:38,027 INFO L273 TraceCheckUtils]: 50: Hoare triple {7800#true} assume true; {7800#true} is VALID [2018-11-23 12:21:38,027 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {7800#true} {7810#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} #81#return; {7810#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:21:38,027 INFO L273 TraceCheckUtils]: 52: Hoare triple {7810#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {7810#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:21:38,028 INFO L273 TraceCheckUtils]: 53: Hoare triple {7810#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7811#(<= ~CELLCOUNT~0 main_~i~0)} is VALID [2018-11-23 12:21:38,029 INFO L273 TraceCheckUtils]: 54: Hoare triple {7811#(<= ~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; {7801#false} is VALID [2018-11-23 12:21:38,029 INFO L273 TraceCheckUtils]: 55: Hoare triple {7801#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {7801#false} is VALID [2018-11-23 12:21:38,029 INFO L256 TraceCheckUtils]: 56: Hoare triple {7801#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {7801#false} is VALID [2018-11-23 12:21:38,029 INFO L273 TraceCheckUtils]: 57: Hoare triple {7801#false} ~cond := #in~cond; {7801#false} is VALID [2018-11-23 12:21:38,030 INFO L273 TraceCheckUtils]: 58: Hoare triple {7801#false} assume 0 == ~cond; {7801#false} is VALID [2018-11-23 12:21:38,030 INFO L273 TraceCheckUtils]: 59: Hoare triple {7801#false} assume !false; {7801#false} is VALID [2018-11-23 12:21:38,034 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 34 proven. 22 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:21:38,035 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:21:38,035 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:21:38,044 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:21:38,068 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:21:38,068 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:21:38,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:38,093 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:21:38,585 INFO L256 TraceCheckUtils]: 0: Hoare triple {7800#true} call ULTIMATE.init(); {7800#true} is VALID [2018-11-23 12:21:38,585 INFO L273 TraceCheckUtils]: 1: Hoare triple {7800#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {7800#true} is VALID [2018-11-23 12:21:38,586 INFO L273 TraceCheckUtils]: 2: Hoare triple {7800#true} assume true; {7800#true} is VALID [2018-11-23 12:21:38,586 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7800#true} {7800#true} #77#return; {7800#true} is VALID [2018-11-23 12:21:38,586 INFO L256 TraceCheckUtils]: 4: Hoare triple {7800#true} call #t~ret7 := main(); {7800#true} is VALID [2018-11-23 12:21:38,586 INFO L273 TraceCheckUtils]: 5: Hoare triple {7800#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {7800#true} is VALID [2018-11-23 12:21:38,586 INFO L273 TraceCheckUtils]: 6: Hoare triple {7800#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {7833#(< 1 ~CELLCOUNT~0)} is VALID [2018-11-23 12:21:38,587 INFO L273 TraceCheckUtils]: 7: Hoare triple {7833#(< 1 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {7837#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,588 INFO L273 TraceCheckUtils]: 8: Hoare triple {7837#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {7837#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,588 INFO L273 TraceCheckUtils]: 9: Hoare triple {7837#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {7837#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,589 INFO L273 TraceCheckUtils]: 10: Hoare triple {7837#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {7837#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,589 INFO L273 TraceCheckUtils]: 11: Hoare triple {7837#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7850#(and (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,590 INFO L273 TraceCheckUtils]: 12: Hoare triple {7850#(and (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {7850#(and (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,590 INFO L273 TraceCheckUtils]: 13: Hoare triple {7850#(and (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {7850#(and (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,591 INFO L273 TraceCheckUtils]: 14: Hoare triple {7850#(and (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {7850#(and (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,592 INFO L273 TraceCheckUtils]: 15: Hoare triple {7850#(and (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7863#(and (<= main_~i~0 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,593 INFO L273 TraceCheckUtils]: 16: Hoare triple {7863#(and (<= main_~i~0 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,594 INFO L273 TraceCheckUtils]: 17: Hoare triple {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} ~i~0 := 0; {7871#(and (<= 0 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,595 INFO L273 TraceCheckUtils]: 18: Hoare triple {7871#(and (<= 0 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~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; {7871#(and (<= 0 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,595 INFO L273 TraceCheckUtils]: 19: Hoare triple {7871#(and (<= 0 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} assume #t~short6; {7871#(and (<= 0 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,596 INFO L256 TraceCheckUtils]: 20: Hoare triple {7871#(and (<= 0 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,597 INFO L273 TraceCheckUtils]: 21: Hoare triple {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} ~cond := #in~cond; {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,598 INFO L273 TraceCheckUtils]: 22: Hoare triple {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} assume !(0 == ~cond); {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,598 INFO L273 TraceCheckUtils]: 23: Hoare triple {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} assume true; {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,599 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} {7871#(and (<= 0 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} #81#return; {7871#(and (<= 0 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,600 INFO L273 TraceCheckUtils]: 25: Hoare triple {7871#(and (<= 0 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {7871#(and (<= 0 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,601 INFO L273 TraceCheckUtils]: 26: Hoare triple {7871#(and (<= 0 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7899#(and (<= 1 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,601 INFO L273 TraceCheckUtils]: 27: Hoare triple {7899#(and (<= 1 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~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; {7899#(and (<= 1 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,602 INFO L273 TraceCheckUtils]: 28: Hoare triple {7899#(and (<= 1 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} assume #t~short6; {7899#(and (<= 1 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,603 INFO L256 TraceCheckUtils]: 29: Hoare triple {7899#(and (<= 1 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,604 INFO L273 TraceCheckUtils]: 30: Hoare triple {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} ~cond := #in~cond; {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,604 INFO L273 TraceCheckUtils]: 31: Hoare triple {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} assume !(0 == ~cond); {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,605 INFO L273 TraceCheckUtils]: 32: Hoare triple {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} assume true; {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,606 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} {7899#(and (<= 1 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} #81#return; {7899#(and (<= 1 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,606 INFO L273 TraceCheckUtils]: 34: Hoare triple {7899#(and (<= 1 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {7899#(and (<= 1 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,607 INFO L273 TraceCheckUtils]: 35: Hoare triple {7899#(and (<= 1 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7927#(and (<= 2 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,608 INFO L273 TraceCheckUtils]: 36: Hoare triple {7927#(and (<= 2 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~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; {7927#(and (<= 2 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,609 INFO L273 TraceCheckUtils]: 37: Hoare triple {7927#(and (<= 2 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} assume #t~short6; {7927#(and (<= 2 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,610 INFO L256 TraceCheckUtils]: 38: Hoare triple {7927#(and (<= 2 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,611 INFO L273 TraceCheckUtils]: 39: Hoare triple {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} ~cond := #in~cond; {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,611 INFO L273 TraceCheckUtils]: 40: Hoare triple {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} assume !(0 == ~cond); {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,629 INFO L273 TraceCheckUtils]: 41: Hoare triple {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} assume true; {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,642 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} {7927#(and (<= 2 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} #81#return; {7927#(and (<= 2 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,650 INFO L273 TraceCheckUtils]: 43: Hoare triple {7927#(and (<= 2 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {7927#(and (<= 2 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,666 INFO L273 TraceCheckUtils]: 44: Hoare triple {7927#(and (<= 2 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7955#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,682 INFO L273 TraceCheckUtils]: 45: Hoare triple {7955#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~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; {7955#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,691 INFO L273 TraceCheckUtils]: 46: Hoare triple {7955#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~0))} assume #t~short6; {7955#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,705 INFO L256 TraceCheckUtils]: 47: Hoare triple {7955#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,713 INFO L273 TraceCheckUtils]: 48: Hoare triple {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} ~cond := #in~cond; {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,717 INFO L273 TraceCheckUtils]: 49: Hoare triple {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} assume !(0 == ~cond); {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,718 INFO L273 TraceCheckUtils]: 50: Hoare triple {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} assume true; {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,719 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {7867#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} {7955#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~0))} #81#return; {7955#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,719 INFO L273 TraceCheckUtils]: 52: Hoare triple {7955#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {7955#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,721 INFO L273 TraceCheckUtils]: 53: Hoare triple {7955#(and (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7983#(and (<= 4 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:38,721 INFO L273 TraceCheckUtils]: 54: Hoare triple {7983#(and (<= 4 main_~i~0) (= (mod ~CELLCOUNT~0 2) 0) (<= (div ~CELLCOUNT~0 2) 2) (< 1 ~CELLCOUNT~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; {7801#false} is VALID [2018-11-23 12:21:38,722 INFO L273 TraceCheckUtils]: 55: Hoare triple {7801#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {7801#false} is VALID [2018-11-23 12:21:38,722 INFO L256 TraceCheckUtils]: 56: Hoare triple {7801#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {7801#false} is VALID [2018-11-23 12:21:38,722 INFO L273 TraceCheckUtils]: 57: Hoare triple {7801#false} ~cond := #in~cond; {7801#false} is VALID [2018-11-23 12:21:38,722 INFO L273 TraceCheckUtils]: 58: Hoare triple {7801#false} assume 0 == ~cond; {7801#false} is VALID [2018-11-23 12:21:38,722 INFO L273 TraceCheckUtils]: 59: Hoare triple {7801#false} assume !false; {7801#false} is VALID [2018-11-23 12:21:38,731 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 50 proven. 6 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:21:38,751 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:21:38,751 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 22 [2018-11-23 12:21:38,751 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 60 [2018-11-23 12:21:38,752 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:38,752 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-23 12:21:38,848 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:38,849 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-23 12:21:38,849 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-23 12:21:38,849 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=112, Invalid=350, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:21:38,850 INFO L87 Difference]: Start difference. First operand 166 states and 191 transitions. Second operand 22 states. [2018-11-23 12:21:41,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:41,271 INFO L93 Difference]: Finished difference Result 221 states and 251 transitions. [2018-11-23 12:21:41,271 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-23 12:21:41,271 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 60 [2018-11-23 12:21:41,271 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:41,271 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:21:41,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 88 transitions. [2018-11-23 12:21:41,273 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:21:41,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 88 transitions. [2018-11-23 12:21:41,274 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 88 transitions. [2018-11-23 12:21:41,399 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:41,404 INFO L225 Difference]: With dead ends: 221 [2018-11-23 12:21:41,404 INFO L226 Difference]: Without dead ends: 179 [2018-11-23 12:21:41,405 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 51 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 175 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=211, Invalid=601, Unknown=0, NotChecked=0, Total=812 [2018-11-23 12:21:41,406 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 179 states. [2018-11-23 12:21:42,551 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 179 to 170. [2018-11-23 12:21:42,551 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:42,551 INFO L82 GeneralOperation]: Start isEquivalent. First operand 179 states. Second operand 170 states. [2018-11-23 12:21:42,551 INFO L74 IsIncluded]: Start isIncluded. First operand 179 states. Second operand 170 states. [2018-11-23 12:21:42,551 INFO L87 Difference]: Start difference. First operand 179 states. Second operand 170 states. [2018-11-23 12:21:42,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:42,556 INFO L93 Difference]: Finished difference Result 179 states and 204 transitions. [2018-11-23 12:21:42,556 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 204 transitions. [2018-11-23 12:21:42,557 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:42,557 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:42,557 INFO L74 IsIncluded]: Start isIncluded. First operand 170 states. Second operand 179 states. [2018-11-23 12:21:42,557 INFO L87 Difference]: Start difference. First operand 170 states. Second operand 179 states. [2018-11-23 12:21:42,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:42,561 INFO L93 Difference]: Finished difference Result 179 states and 204 transitions. [2018-11-23 12:21:42,561 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 204 transitions. [2018-11-23 12:21:42,562 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:42,562 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:42,562 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:42,562 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:42,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 170 states. [2018-11-23 12:21:42,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 170 states to 170 states and 195 transitions. [2018-11-23 12:21:42,566 INFO L78 Accepts]: Start accepts. Automaton has 170 states and 195 transitions. Word has length 60 [2018-11-23 12:21:42,567 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:42,567 INFO L480 AbstractCegarLoop]: Abstraction has 170 states and 195 transitions. [2018-11-23 12:21:42,567 INFO L481 AbstractCegarLoop]: Interpolant automaton has 22 states. [2018-11-23 12:21:42,567 INFO L276 IsEmpty]: Start isEmpty. Operand 170 states and 195 transitions. [2018-11-23 12:21:42,568 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2018-11-23 12:21:42,568 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:42,568 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:42,568 INFO L423 AbstractCegarLoop]: === Iteration 16 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:42,568 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:42,569 INFO L82 PathProgramCache]: Analyzing trace with hash -1208068164, now seen corresponding path program 5 times [2018-11-23 12:21:42,569 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:42,569 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:42,570 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:42,570 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:21:42,570 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:42,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:43,309 INFO L256 TraceCheckUtils]: 0: Hoare triple {8903#true} call ULTIMATE.init(); {8903#true} is VALID [2018-11-23 12:21:43,309 INFO L273 TraceCheckUtils]: 1: Hoare triple {8903#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {8903#true} is VALID [2018-11-23 12:21:43,309 INFO L273 TraceCheckUtils]: 2: Hoare triple {8903#true} assume true; {8903#true} is VALID [2018-11-23 12:21:43,309 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8903#true} {8903#true} #77#return; {8903#true} is VALID [2018-11-23 12:21:43,310 INFO L256 TraceCheckUtils]: 4: Hoare triple {8903#true} call #t~ret7 := main(); {8903#true} is VALID [2018-11-23 12:21:43,310 INFO L273 TraceCheckUtils]: 5: Hoare triple {8903#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {8903#true} is VALID [2018-11-23 12:21:43,311 INFO L273 TraceCheckUtils]: 6: Hoare triple {8903#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {8905#(or (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0))} is VALID [2018-11-23 12:21:43,312 INFO L273 TraceCheckUtils]: 7: Hoare triple {8905#(or (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {8906#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (= main_~i~0 1) (<= main_~i~0 0)))} is VALID [2018-11-23 12:21:43,312 INFO L273 TraceCheckUtils]: 8: Hoare triple {8906#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (= main_~i~0 1) (<= main_~i~0 0)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {8906#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (= main_~i~0 1) (<= main_~i~0 0)))} is VALID [2018-11-23 12:21:43,313 INFO L273 TraceCheckUtils]: 9: Hoare triple {8906#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (= main_~i~0 1) (<= main_~i~0 0)))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {8907#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~MINVAL~0 main_~CCCELVOL2~0) (or (= main_~i~0 1) (<= main_~i~0 0)))} is VALID [2018-11-23 12:21:43,313 INFO L273 TraceCheckUtils]: 10: Hoare triple {8907#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~MINVAL~0 main_~CCCELVOL2~0) (or (= main_~i~0 1) (<= main_~i~0 0)))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {8907#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~MINVAL~0 main_~CCCELVOL2~0) (or (= main_~i~0 1) (<= main_~i~0 0)))} is VALID [2018-11-23 12:21:43,314 INFO L273 TraceCheckUtils]: 11: Hoare triple {8907#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~MINVAL~0 main_~CCCELVOL2~0) (or (= main_~i~0 1) (<= main_~i~0 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8908#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:21:43,315 INFO L273 TraceCheckUtils]: 12: Hoare triple {8908#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {8908#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:21:43,316 INFO L273 TraceCheckUtils]: 13: Hoare triple {8908#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 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 * (2 * ~i~0 - 2), 4); {8908#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:21:43,317 INFO L273 TraceCheckUtils]: 14: Hoare triple {8908#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {8908#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:21:43,318 INFO L273 TraceCheckUtils]: 15: Hoare triple {8908#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8909#(and (<= main_~i~0 3) (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:21:43,319 INFO L273 TraceCheckUtils]: 16: Hoare triple {8909#(and (<= main_~i~0 3) (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {8909#(and (<= main_~i~0 3) (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:21:43,320 INFO L273 TraceCheckUtils]: 17: Hoare triple {8909#(and (<= main_~i~0 3) (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~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 * (2 * ~i~0 - 2), 4); {8910#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) main_~CCCELVOL1~0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:21:43,321 INFO L273 TraceCheckUtils]: 18: Hoare triple {8910#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) main_~CCCELVOL1~0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {8910#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) main_~CCCELVOL1~0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:21:43,322 INFO L273 TraceCheckUtils]: 19: Hoare triple {8910#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) main_~CCCELVOL1~0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8911#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (<= main_~i~0 3)))} is VALID [2018-11-23 12:21:43,324 INFO L273 TraceCheckUtils]: 20: Hoare triple {8911#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (<= main_~i~0 3)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {8912#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 4))} is VALID [2018-11-23 12:21:43,324 INFO L273 TraceCheckUtils]: 21: Hoare triple {8912#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 4))} ~i~0 := 0; {8913#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 4)) (= main_~i~0 0))} is VALID [2018-11-23 12:21:43,325 INFO L273 TraceCheckUtils]: 22: Hoare triple {8913#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 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; {8913#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 4)) (= main_~i~0 0))} is VALID [2018-11-23 12:21:43,326 INFO L273 TraceCheckUtils]: 23: Hoare triple {8913#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 4)) (= main_~i~0 0))} assume #t~short6; {8913#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 4)) (= main_~i~0 0))} is VALID [2018-11-23 12:21:43,326 INFO L256 TraceCheckUtils]: 24: Hoare triple {8913#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 4)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {8903#true} is VALID [2018-11-23 12:21:43,326 INFO L273 TraceCheckUtils]: 25: Hoare triple {8903#true} ~cond := #in~cond; {8903#true} is VALID [2018-11-23 12:21:43,327 INFO L273 TraceCheckUtils]: 26: Hoare triple {8903#true} assume !(0 == ~cond); {8903#true} is VALID [2018-11-23 12:21:43,327 INFO L273 TraceCheckUtils]: 27: Hoare triple {8903#true} assume true; {8903#true} is VALID [2018-11-23 12:21:43,328 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {8903#true} {8913#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 4)) (= main_~i~0 0))} #81#return; {8913#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 4)) (= main_~i~0 0))} is VALID [2018-11-23 12:21:43,328 INFO L273 TraceCheckUtils]: 29: Hoare triple {8913#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 4)) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {8913#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 4)) (= main_~i~0 0))} is VALID [2018-11-23 12:21:43,329 INFO L273 TraceCheckUtils]: 30: Hoare triple {8913#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 4)) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8914#(or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (<= 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:21:43,330 INFO L273 TraceCheckUtils]: 31: Hoare triple {8914#(or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (<= 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; {8914#(or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (<= 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:21:43,331 INFO L273 TraceCheckUtils]: 32: Hoare triple {8914#(or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8))))))} assume #t~short6; {8914#(or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (<= 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:21:43,331 INFO L256 TraceCheckUtils]: 33: Hoare triple {8914#(or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (<= 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)); {8903#true} is VALID [2018-11-23 12:21:43,331 INFO L273 TraceCheckUtils]: 34: Hoare triple {8903#true} ~cond := #in~cond; {8903#true} is VALID [2018-11-23 12:21:43,331 INFO L273 TraceCheckUtils]: 35: Hoare triple {8903#true} assume !(0 == ~cond); {8903#true} is VALID [2018-11-23 12:21:43,331 INFO L273 TraceCheckUtils]: 36: Hoare triple {8903#true} assume true; {8903#true} is VALID [2018-11-23 12:21:43,332 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {8903#true} {8914#(or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8))))))} #81#return; {8914#(or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (<= 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:21:43,333 INFO L273 TraceCheckUtils]: 38: Hoare triple {8914#(or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (<= 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; {8914#(or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (<= 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:21:43,334 INFO L273 TraceCheckUtils]: 39: Hoare triple {8914#(or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (<= 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; {8915#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:21:43,334 INFO L273 TraceCheckUtils]: 40: Hoare triple {8915#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~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; {8915#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:21:43,334 INFO L273 TraceCheckUtils]: 41: Hoare triple {8915#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} assume #t~short6; {8915#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:21:43,334 INFO L256 TraceCheckUtils]: 42: Hoare triple {8915#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {8903#true} is VALID [2018-11-23 12:21:43,335 INFO L273 TraceCheckUtils]: 43: Hoare triple {8903#true} ~cond := #in~cond; {8903#true} is VALID [2018-11-23 12:21:43,335 INFO L273 TraceCheckUtils]: 44: Hoare triple {8903#true} assume !(0 == ~cond); {8903#true} is VALID [2018-11-23 12:21:43,335 INFO L273 TraceCheckUtils]: 45: Hoare triple {8903#true} assume true; {8903#true} is VALID [2018-11-23 12:21:43,336 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {8903#true} {8915#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} #81#return; {8915#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:21:43,336 INFO L273 TraceCheckUtils]: 47: Hoare triple {8915#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {8915#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:21:43,337 INFO L273 TraceCheckUtils]: 48: Hoare triple {8915#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8916#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1)))} is VALID [2018-11-23 12:21:43,338 INFO L273 TraceCheckUtils]: 49: Hoare triple {8916#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~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; {8916#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1)))} is VALID [2018-11-23 12:21:43,338 INFO L273 TraceCheckUtils]: 50: Hoare triple {8916#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1)))} assume #t~short6; {8916#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1)))} is VALID [2018-11-23 12:21:43,338 INFO L256 TraceCheckUtils]: 51: Hoare triple {8916#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {8903#true} is VALID [2018-11-23 12:21:43,339 INFO L273 TraceCheckUtils]: 52: Hoare triple {8903#true} ~cond := #in~cond; {8903#true} is VALID [2018-11-23 12:21:43,339 INFO L273 TraceCheckUtils]: 53: Hoare triple {8903#true} assume !(0 == ~cond); {8903#true} is VALID [2018-11-23 12:21:43,339 INFO L273 TraceCheckUtils]: 54: Hoare triple {8903#true} assume true; {8903#true} is VALID [2018-11-23 12:21:43,340 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {8903#true} {8916#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1)))} #81#return; {8916#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1)))} is VALID [2018-11-23 12:21:43,340 INFO L273 TraceCheckUtils]: 56: Hoare triple {8916#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1)))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {8916#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1)))} is VALID [2018-11-23 12:21:43,341 INFO L273 TraceCheckUtils]: 57: Hoare triple {8916#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8917#(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:43,341 INFO L273 TraceCheckUtils]: 58: Hoare triple {8917#(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; {8918#|main_#t~short6|} is VALID [2018-11-23 12:21:43,342 INFO L273 TraceCheckUtils]: 59: Hoare triple {8918#|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; {8904#false} is VALID [2018-11-23 12:21:43,342 INFO L256 TraceCheckUtils]: 60: Hoare triple {8904#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {8904#false} is VALID [2018-11-23 12:21:43,342 INFO L273 TraceCheckUtils]: 61: Hoare triple {8904#false} ~cond := #in~cond; {8904#false} is VALID [2018-11-23 12:21:43,342 INFO L273 TraceCheckUtils]: 62: Hoare triple {8904#false} assume 0 == ~cond; {8904#false} is VALID [2018-11-23 12:21:43,342 INFO L273 TraceCheckUtils]: 63: Hoare triple {8904#false} assume !false; {8904#false} is VALID [2018-11-23 12:21:43,353 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 12 proven. 53 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:21:43,353 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:21:43,353 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:21:43,365 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:21:43,398 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2018-11-23 12:21:43,398 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:21:43,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:43,414 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:21:43,501 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:43,507 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:43,509 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:43,512 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:43,524 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:43,524 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:29, output treesize:25 [2018-11-23 12:21:43,627 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 26 treesize of output 21 [2018-11-23 12:21:43,635 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:43,636 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:43,637 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 21 treesize of output 43 [2018-11-23 12:21:43,657 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:43,670 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:43,682 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:43,682 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:38, output treesize:34 [2018-11-23 12:21:43,746 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 38 treesize of output 31 [2018-11-23 12:21:43,760 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:43,761 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:43,762 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:43,764 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:43,765 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 89 [2018-11-23 12:21:43,770 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:43,785 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:43,801 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:43,801 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:50, output treesize:46 [2018-11-23 12:21:43,950 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 50 treesize of output 39 [2018-11-23 12:21:43,960 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:43,961 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:43,963 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:43,964 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:43,965 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:43,967 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:43,968 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:43,975 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 7 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 39 treesize of output 119 [2018-11-23 12:21:43,979 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:44,003 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:44,020 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:44,020 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:59, output treesize:55 [2018-11-23 12:21:44,108 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 51 [2018-11-23 12:21:44,120 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:44,122 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:44,123 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:44,124 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:44,126 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:44,127 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:44,128 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:44,129 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:44,130 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:44,131 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:44,133 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:44,139 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 11 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 160 [2018-11-23 12:21:44,143 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:44,178 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:44,193 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:44,194 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:71, output treesize:67 [2018-11-23 12:21:45,669 INFO L256 TraceCheckUtils]: 0: Hoare triple {8903#true} call ULTIMATE.init(); {8903#true} is VALID [2018-11-23 12:21:45,669 INFO L273 TraceCheckUtils]: 1: Hoare triple {8903#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {8903#true} is VALID [2018-11-23 12:21:45,670 INFO L273 TraceCheckUtils]: 2: Hoare triple {8903#true} assume true; {8903#true} is VALID [2018-11-23 12:21:45,670 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8903#true} {8903#true} #77#return; {8903#true} is VALID [2018-11-23 12:21:45,670 INFO L256 TraceCheckUtils]: 4: Hoare triple {8903#true} call #t~ret7 := main(); {8903#true} is VALID [2018-11-23 12:21:45,670 INFO L273 TraceCheckUtils]: 5: Hoare triple {8903#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {8903#true} is VALID [2018-11-23 12:21:45,671 INFO L273 TraceCheckUtils]: 6: Hoare triple {8903#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {8940#(and (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:45,671 INFO L273 TraceCheckUtils]: 7: Hoare triple {8940#(and (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {8944#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:45,672 INFO L273 TraceCheckUtils]: 8: Hoare triple {8944#(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 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {8944#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:45,672 INFO L273 TraceCheckUtils]: 9: Hoare triple {8944#(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 * (2 * ~i~0 - 2), 4); {8944#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:45,673 INFO L273 TraceCheckUtils]: 10: Hoare triple {8944#(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 * (2 * ~i~0 - 1), 4); {8954#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 4))) main_~CCCELVOL1~0) (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:45,674 INFO L273 TraceCheckUtils]: 11: Hoare triple {8954#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 4))) main_~CCCELVOL1~0) (<= 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; {8958#(and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL1~0))} is VALID [2018-11-23 12:21:45,674 INFO L273 TraceCheckUtils]: 12: Hoare triple {8958#(and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL1~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {8958#(and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL1~0))} is VALID [2018-11-23 12:21:45,675 INFO L273 TraceCheckUtils]: 13: Hoare triple {8958#(and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL1~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {8965#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) main_~CCCELVOL2~0) (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL1~0))} is VALID [2018-11-23 12:21:45,677 INFO L273 TraceCheckUtils]: 14: Hoare triple {8965#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) main_~CCCELVOL2~0) (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL1~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {8969#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 4))) main_~CCCELVOL1~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) main_~CCCELVOL2~0) (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL1~0))} is VALID [2018-11-23 12:21:45,678 INFO L273 TraceCheckUtils]: 15: Hoare triple {8969#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 4))) main_~CCCELVOL1~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) main_~CCCELVOL2~0) (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL1~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8973#(and (= main_~i~0 3) (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL2~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL1~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL1~0))} is VALID [2018-11-23 12:21:45,679 INFO L273 TraceCheckUtils]: 16: Hoare triple {8973#(and (= main_~i~0 3) (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL2~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL1~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL1~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {8973#(and (= main_~i~0 3) (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL2~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL1~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL1~0))} is VALID [2018-11-23 12:21:45,680 INFO L273 TraceCheckUtils]: 17: Hoare triple {8973#(and (= main_~i~0 3) (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) main_~CCCELVOL2~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL1~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL1~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {8980#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8)))) (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL1~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL1~0))} is VALID [2018-11-23 12:21:45,682 INFO L273 TraceCheckUtils]: 18: Hoare triple {8980#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8)))) (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) main_~CCCELVOL1~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) main_~CCCELVOL1~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {8984#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1))} is VALID [2018-11-23 12:21:45,683 INFO L273 TraceCheckUtils]: 19: Hoare triple {8984#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8984#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1))} is VALID [2018-11-23 12:21:45,684 INFO L273 TraceCheckUtils]: 20: Hoare triple {8984#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {8984#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1))} is VALID [2018-11-23 12:21:45,686 INFO L273 TraceCheckUtils]: 21: Hoare triple {8984#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1))} ~i~0 := 0; {8994#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= main_~i~0 0))} is VALID [2018-11-23 12:21:45,687 INFO L273 TraceCheckUtils]: 22: Hoare triple {8994#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 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; {8994#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= main_~i~0 0))} is VALID [2018-11-23 12:21:45,688 INFO L273 TraceCheckUtils]: 23: Hoare triple {8994#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= main_~i~0 0))} assume #t~short6; {8994#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= main_~i~0 0))} is VALID [2018-11-23 12:21:45,690 INFO L256 TraceCheckUtils]: 24: Hoare triple {8994#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} is VALID [2018-11-23 12:21:45,690 INFO L273 TraceCheckUtils]: 25: Hoare triple {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} ~cond := #in~cond; {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} is VALID [2018-11-23 12:21:45,691 INFO L273 TraceCheckUtils]: 26: Hoare triple {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} assume !(0 == ~cond); {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} is VALID [2018-11-23 12:21:45,692 INFO L273 TraceCheckUtils]: 27: Hoare triple {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} assume true; {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} is VALID [2018-11-23 12:21:45,692 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} {8994#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= main_~i~0 0))} #81#return; {8994#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= main_~i~0 0))} is VALID [2018-11-23 12:21:45,694 INFO L273 TraceCheckUtils]: 29: Hoare triple {8994#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {8994#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= main_~i~0 0))} is VALID [2018-11-23 12:21:45,695 INFO L273 TraceCheckUtils]: 30: Hoare triple {8994#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9023#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1))} is VALID [2018-11-23 12:21:45,696 INFO L273 TraceCheckUtils]: 31: Hoare triple {9023#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 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; {9027#(and (or (not |main_#t~short6|) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 4 main_~i~0))))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1))} is VALID [2018-11-23 12:21:45,697 INFO L273 TraceCheckUtils]: 32: Hoare triple {9027#(and (or (not |main_#t~short6|) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 4 main_~i~0))))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1))} assume #t~short6; {9031#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 4 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1))} is VALID [2018-11-23 12:21:45,699 INFO L256 TraceCheckUtils]: 33: Hoare triple {9031#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 4 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} is VALID [2018-11-23 12:21:45,700 INFO L273 TraceCheckUtils]: 34: Hoare triple {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} ~cond := #in~cond; {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} is VALID [2018-11-23 12:21:45,701 INFO L273 TraceCheckUtils]: 35: Hoare triple {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} assume !(0 == ~cond); {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} is VALID [2018-11-23 12:21:45,701 INFO L273 TraceCheckUtils]: 36: Hoare triple {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} assume true; {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} is VALID [2018-11-23 12:21:45,702 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} {9031#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 4 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1))} #81#return; {9031#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 4 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1))} is VALID [2018-11-23 12:21:45,703 INFO L273 TraceCheckUtils]: 38: Hoare triple {9031#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 4 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {9031#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 4 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1))} is VALID [2018-11-23 12:21:45,705 INFO L273 TraceCheckUtils]: 39: Hoare triple {9031#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 4 main_~i~0)))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9053#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} is VALID [2018-11-23 12:21:45,706 INFO L273 TraceCheckUtils]: 40: Hoare triple {9053#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |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; {9053#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} is VALID [2018-11-23 12:21:45,707 INFO L273 TraceCheckUtils]: 41: Hoare triple {9053#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} assume #t~short6; {9053#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} is VALID [2018-11-23 12:21:45,709 INFO L256 TraceCheckUtils]: 42: Hoare triple {9053#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} is VALID [2018-11-23 12:21:45,710 INFO L273 TraceCheckUtils]: 43: Hoare triple {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} ~cond := #in~cond; {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} is VALID [2018-11-23 12:21:45,710 INFO L273 TraceCheckUtils]: 44: Hoare triple {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} assume !(0 == ~cond); {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} is VALID [2018-11-23 12:21:45,711 INFO L273 TraceCheckUtils]: 45: Hoare triple {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} assume true; {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} is VALID [2018-11-23 12:21:45,711 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} {9053#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} #81#return; {9053#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} is VALID [2018-11-23 12:21:45,713 INFO L273 TraceCheckUtils]: 47: Hoare triple {9053#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {9053#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} is VALID [2018-11-23 12:21:45,714 INFO L273 TraceCheckUtils]: 48: Hoare triple {9053#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9081#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} is VALID [2018-11-23 12:21:45,715 INFO L273 TraceCheckUtils]: 49: Hoare triple {9081#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |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; {9081#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} is VALID [2018-11-23 12:21:45,716 INFO L273 TraceCheckUtils]: 50: Hoare triple {9081#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} assume #t~short6; {9081#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} is VALID [2018-11-23 12:21:45,718 INFO L256 TraceCheckUtils]: 51: Hoare triple {9081#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} is VALID [2018-11-23 12:21:45,719 INFO L273 TraceCheckUtils]: 52: Hoare triple {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} ~cond := #in~cond; {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} is VALID [2018-11-23 12:21:45,719 INFO L273 TraceCheckUtils]: 53: Hoare triple {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} assume !(0 == ~cond); {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} is VALID [2018-11-23 12:21:45,720 INFO L273 TraceCheckUtils]: 54: Hoare triple {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} assume true; {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} is VALID [2018-11-23 12:21:45,720 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {9004#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 4)) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 8) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 1)))} {9081#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} #81#return; {9081#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} is VALID [2018-11-23 12:21:45,721 INFO L273 TraceCheckUtils]: 56: Hoare triple {9081#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {9081#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} is VALID [2018-11-23 12:21:45,722 INFO L273 TraceCheckUtils]: 57: Hoare triple {9081#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9109#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= main_~i~0 4))} is VALID [2018-11-23 12:21:45,723 INFO L273 TraceCheckUtils]: 58: Hoare triple {9109#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= 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; {8918#|main_#t~short6|} is VALID [2018-11-23 12:21:45,723 INFO L273 TraceCheckUtils]: 59: Hoare triple {8918#|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; {8904#false} is VALID [2018-11-23 12:21:45,724 INFO L256 TraceCheckUtils]: 60: Hoare triple {8904#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {8904#false} is VALID [2018-11-23 12:21:45,724 INFO L273 TraceCheckUtils]: 61: Hoare triple {8904#false} ~cond := #in~cond; {8904#false} is VALID [2018-11-23 12:21:45,724 INFO L273 TraceCheckUtils]: 62: Hoare triple {8904#false} assume 0 == ~cond; {8904#false} is VALID [2018-11-23 12:21:45,724 INFO L273 TraceCheckUtils]: 63: Hoare triple {8904#false} assume !false; {8904#false} is VALID [2018-11-23 12:21:45,750 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 12 proven. 53 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:21:45,769 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:21:45,769 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 20] total 33 [2018-11-23 12:21:45,770 INFO L78 Accepts]: Start accepts. Automaton has 33 states. Word has length 64 [2018-11-23 12:21:45,770 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:45,770 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states. [2018-11-23 12:21:45,999 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:21:45,999 INFO L459 AbstractCegarLoop]: Interpolant automaton has 33 states [2018-11-23 12:21:46,000 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2018-11-23 12:21:46,000 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=124, Invalid=932, Unknown=0, NotChecked=0, Total=1056 [2018-11-23 12:21:46,001 INFO L87 Difference]: Start difference. First operand 170 states and 195 transitions. Second operand 33 states. [2018-11-23 12:22:00,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:00,261 INFO L93 Difference]: Finished difference Result 336 states and 395 transitions. [2018-11-23 12:22:00,261 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 64 states. [2018-11-23 12:22:00,261 INFO L78 Accepts]: Start accepts. Automaton has 33 states. Word has length 64 [2018-11-23 12:22:00,261 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:00,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 12:22:00,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 232 transitions. [2018-11-23 12:22:00,265 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 12:22:00,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 232 transitions. [2018-11-23 12:22:00,269 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 64 states and 232 transitions. [2018-11-23 12:22:00,749 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 232 edges. 232 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:00,757 INFO L225 Difference]: With dead ends: 336 [2018-11-23 12:22:00,757 INFO L226 Difference]: Without dead ends: 306 [2018-11-23 12:22:00,759 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 142 GetRequests, 42 SyntacticMatches, 8 SemanticMatches, 92 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2735 ImplicationChecksByTransitivity, 6.8s TimeCoverageRelationStatistics Valid=1287, Invalid=7455, Unknown=0, NotChecked=0, Total=8742 [2018-11-23 12:22:00,760 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 306 states. [2018-11-23 12:22:02,103 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 306 to 254. [2018-11-23 12:22:02,104 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:02,104 INFO L82 GeneralOperation]: Start isEquivalent. First operand 306 states. Second operand 254 states. [2018-11-23 12:22:02,104 INFO L74 IsIncluded]: Start isIncluded. First operand 306 states. Second operand 254 states. [2018-11-23 12:22:02,104 INFO L87 Difference]: Start difference. First operand 306 states. Second operand 254 states. [2018-11-23 12:22:02,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:02,114 INFO L93 Difference]: Finished difference Result 306 states and 358 transitions. [2018-11-23 12:22:02,114 INFO L276 IsEmpty]: Start isEmpty. Operand 306 states and 358 transitions. [2018-11-23 12:22:02,115 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:02,115 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:02,115 INFO L74 IsIncluded]: Start isIncluded. First operand 254 states. Second operand 306 states. [2018-11-23 12:22:02,115 INFO L87 Difference]: Start difference. First operand 254 states. Second operand 306 states. [2018-11-23 12:22:02,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:02,124 INFO L93 Difference]: Finished difference Result 306 states and 358 transitions. [2018-11-23 12:22:02,125 INFO L276 IsEmpty]: Start isEmpty. Operand 306 states and 358 transitions. [2018-11-23 12:22:02,126 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:02,126 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:02,126 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:02,126 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:02,126 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 254 states. [2018-11-23 12:22:02,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 254 states to 254 states and 298 transitions. [2018-11-23 12:22:02,133 INFO L78 Accepts]: Start accepts. Automaton has 254 states and 298 transitions. Word has length 64 [2018-11-23 12:22:02,133 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:02,133 INFO L480 AbstractCegarLoop]: Abstraction has 254 states and 298 transitions. [2018-11-23 12:22:02,133 INFO L481 AbstractCegarLoop]: Interpolant automaton has 33 states. [2018-11-23 12:22:02,134 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 298 transitions. [2018-11-23 12:22:02,135 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2018-11-23 12:22:02,135 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:02,135 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:02,135 INFO L423 AbstractCegarLoop]: === Iteration 17 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:02,135 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:02,135 INFO L82 PathProgramCache]: Analyzing trace with hash 120254204, now seen corresponding path program 2 times [2018-11-23 12:22:02,135 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:02,136 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:02,136 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:02,136 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:22:02,136 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:02,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:03,506 WARN L180 SmtUtils]: Spent 255.00 ms on a formula simplification. DAG size of input: 38 DAG size of output: 36 [2018-11-23 12:22:03,606 INFO L256 TraceCheckUtils]: 0: Hoare triple {10661#true} call ULTIMATE.init(); {10661#true} is VALID [2018-11-23 12:22:03,606 INFO L273 TraceCheckUtils]: 1: Hoare triple {10661#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {10661#true} is VALID [2018-11-23 12:22:03,607 INFO L273 TraceCheckUtils]: 2: Hoare triple {10661#true} assume true; {10661#true} is VALID [2018-11-23 12:22:03,607 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10661#true} {10661#true} #77#return; {10661#true} is VALID [2018-11-23 12:22:03,607 INFO L256 TraceCheckUtils]: 4: Hoare triple {10661#true} call #t~ret7 := main(); {10661#true} is VALID [2018-11-23 12:22:03,607 INFO L273 TraceCheckUtils]: 5: Hoare triple {10661#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {10661#true} is VALID [2018-11-23 12:22:03,608 INFO L273 TraceCheckUtils]: 6: Hoare triple {10661#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {10663#(or (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0))} is VALID [2018-11-23 12:22:03,609 INFO L273 TraceCheckUtils]: 7: Hoare triple {10663#(or (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {10664#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:22:03,610 INFO L273 TraceCheckUtils]: 8: Hoare triple {10664#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {10664#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:22:03,610 INFO L273 TraceCheckUtils]: 9: Hoare triple {10664#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {10664#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:22:03,611 INFO L273 TraceCheckUtils]: 10: Hoare triple {10664#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {10664#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:22:03,611 INFO L273 TraceCheckUtils]: 11: Hoare triple {10664#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10665#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:22:03,612 INFO L273 TraceCheckUtils]: 12: Hoare triple {10665#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {10665#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:22:03,613 INFO L273 TraceCheckUtils]: 13: Hoare triple {10665#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {10665#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:22:03,614 INFO L273 TraceCheckUtils]: 14: Hoare triple {10665#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {10665#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:22:03,614 INFO L273 TraceCheckUtils]: 15: Hoare triple {10665#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10666#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3))} is VALID [2018-11-23 12:22:03,615 INFO L273 TraceCheckUtils]: 16: Hoare triple {10666#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {10666#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3))} is VALID [2018-11-23 12:22:03,616 INFO L273 TraceCheckUtils]: 17: Hoare triple {10666#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {10667#(and (<= main_~i~0 3) (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:03,618 INFO L273 TraceCheckUtils]: 18: Hoare triple {10667#(and (<= main_~i~0 3) (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {10667#(and (<= main_~i~0 3) (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:03,619 INFO L273 TraceCheckUtils]: 19: Hoare triple {10667#(and (<= main_~i~0 3) (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10668#(and (<= (* 2 main_~i~0) 8) (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (<= (* 2 main_~i~0) 7) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))))} is VALID [2018-11-23 12:22:03,620 INFO L273 TraceCheckUtils]: 20: Hoare triple {10668#(and (<= (* 2 main_~i~0) 8) (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (or (<= (* 2 main_~i~0) 7) (= 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 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {10669#(and (or (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 6)))} is VALID [2018-11-23 12:22:03,621 INFO L273 TraceCheckUtils]: 21: Hoare triple {10669#(and (or (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 6)))} ~i~0 := 0; {10670#(and (or (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 6)) (= main_~i~0 0))} is VALID [2018-11-23 12:22:03,622 INFO L273 TraceCheckUtils]: 22: Hoare triple {10670#(and (or (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 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; {10670#(and (or (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 6)) (= main_~i~0 0))} is VALID [2018-11-23 12:22:03,623 INFO L273 TraceCheckUtils]: 23: Hoare triple {10670#(and (or (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 6)) (= main_~i~0 0))} assume #t~short6; {10670#(and (or (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 6)) (= main_~i~0 0))} is VALID [2018-11-23 12:22:03,623 INFO L256 TraceCheckUtils]: 24: Hoare triple {10670#(and (or (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 6)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10661#true} is VALID [2018-11-23 12:22:03,624 INFO L273 TraceCheckUtils]: 25: Hoare triple {10661#true} ~cond := #in~cond; {10661#true} is VALID [2018-11-23 12:22:03,624 INFO L273 TraceCheckUtils]: 26: Hoare triple {10661#true} assume !(0 == ~cond); {10661#true} is VALID [2018-11-23 12:22:03,624 INFO L273 TraceCheckUtils]: 27: Hoare triple {10661#true} assume true; {10661#true} is VALID [2018-11-23 12:22:03,625 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {10661#true} {10670#(and (or (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 6)) (= main_~i~0 0))} #81#return; {10670#(and (or (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 6)) (= main_~i~0 0))} is VALID [2018-11-23 12:22:03,626 INFO L273 TraceCheckUtils]: 29: Hoare triple {10670#(and (or (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 6)) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {10670#(and (or (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 6)) (= main_~i~0 0))} is VALID [2018-11-23 12:22:03,627 INFO L273 TraceCheckUtils]: 30: Hoare triple {10670#(and (or (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 5)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))) (<= (* 2 ~CELLCOUNT~0) (+ (* 2 (div ~CELLCOUNT~0 2)) 6)) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10671#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 4)) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 3)) (= 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:03,628 INFO L273 TraceCheckUtils]: 31: Hoare triple {10671#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 4)) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 3)) (= 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; {10671#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 4)) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 3)) (= 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:03,628 INFO L273 TraceCheckUtils]: 32: Hoare triple {10671#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 4)) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 3)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))))} assume #t~short6; {10671#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 4)) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 3)) (= 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:03,628 INFO L256 TraceCheckUtils]: 33: Hoare triple {10671#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 4)) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 3)) (= 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)); {10661#true} is VALID [2018-11-23 12:22:03,629 INFO L273 TraceCheckUtils]: 34: Hoare triple {10661#true} ~cond := #in~cond; {10661#true} is VALID [2018-11-23 12:22:03,629 INFO L273 TraceCheckUtils]: 35: Hoare triple {10661#true} assume !(0 == ~cond); {10661#true} is VALID [2018-11-23 12:22:03,629 INFO L273 TraceCheckUtils]: 36: Hoare triple {10661#true} assume true; {10661#true} is VALID [2018-11-23 12:22:03,630 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {10661#true} {10671#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 4)) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 3)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))))} #81#return; {10671#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 4)) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 3)) (= 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:03,631 INFO L273 TraceCheckUtils]: 38: Hoare triple {10671#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 4)) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 3)) (= 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; {10671#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 4)) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 3)) (= 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:03,632 INFO L273 TraceCheckUtils]: 39: Hoare triple {10671#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 4)) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (- ~CELLCOUNT~0))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 3)) (= 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; {10672#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 2)))} is VALID [2018-11-23 12:22:03,633 INFO L273 TraceCheckUtils]: 40: Hoare triple {10672#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 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; {10672#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 2)))} is VALID [2018-11-23 12:22:03,634 INFO L273 TraceCheckUtils]: 41: Hoare triple {10672#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 2)))} assume #t~short6; {10672#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 2)))} is VALID [2018-11-23 12:22:03,634 INFO L256 TraceCheckUtils]: 42: Hoare triple {10672#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 2)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10661#true} is VALID [2018-11-23 12:22:03,634 INFO L273 TraceCheckUtils]: 43: Hoare triple {10661#true} ~cond := #in~cond; {10661#true} is VALID [2018-11-23 12:22:03,634 INFO L273 TraceCheckUtils]: 44: Hoare triple {10661#true} assume !(0 == ~cond); {10661#true} is VALID [2018-11-23 12:22:03,634 INFO L273 TraceCheckUtils]: 45: Hoare triple {10661#true} assume true; {10661#true} is VALID [2018-11-23 12:22:03,635 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {10661#true} {10672#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 2)))} #81#return; {10672#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 2)))} is VALID [2018-11-23 12:22:03,636 INFO L273 TraceCheckUtils]: 47: Hoare triple {10672#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 2)))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {10672#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 2)))} is VALID [2018-11-23 12:22:03,638 INFO L273 TraceCheckUtils]: 48: Hoare triple {10672#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 1))) (<= (+ (* 2 (div (+ (* 2 (div ~CELLCOUNT~0 2)) (+ main_~i~0 (+ (- ~CELLCOUNT~0) (- 1)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)) 2)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10673#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0) 1) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (= 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:03,639 INFO L273 TraceCheckUtils]: 49: Hoare triple {10673#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0) 1) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (= 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; {10673#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0) 1) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (= 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:03,640 INFO L273 TraceCheckUtils]: 50: Hoare triple {10673#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0) 1) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))))} assume #t~short6; {10673#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0) 1) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (= 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:03,641 INFO L256 TraceCheckUtils]: 51: Hoare triple {10673#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0) 1) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (= 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)); {10661#true} is VALID [2018-11-23 12:22:03,641 INFO L273 TraceCheckUtils]: 52: Hoare triple {10661#true} ~cond := #in~cond; {10661#true} is VALID [2018-11-23 12:22:03,641 INFO L273 TraceCheckUtils]: 53: Hoare triple {10661#true} assume !(0 == ~cond); {10661#true} is VALID [2018-11-23 12:22:03,641 INFO L273 TraceCheckUtils]: 54: Hoare triple {10661#true} assume true; {10661#true} is VALID [2018-11-23 12:22:03,642 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {10661#true} {10673#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0) 1) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))))} #81#return; {10673#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0) 1) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (= 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:03,643 INFO L273 TraceCheckUtils]: 56: Hoare triple {10673#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0) 1) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (= 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; {10673#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0) 1) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (= 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:03,644 INFO L273 TraceCheckUtils]: 57: Hoare triple {10673#(and (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0)) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (or (<= (+ (* 2 (div (+ main_~i~0 (+ (* 2 (div ~CELLCOUNT~0 2)) (+ (- ~CELLCOUNT~0) (- 2)))) 2)) (* 2 ~CELLCOUNT~0) 1) (+ (* 2 main_~i~0) (* 2 (div ~CELLCOUNT~0 2)))) (= 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; {10674#(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:22:03,644 INFO L273 TraceCheckUtils]: 58: Hoare triple {10674#(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; {10675#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:22:03,645 INFO L273 TraceCheckUtils]: 59: Hoare triple {10675#(= 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; {10676#|main_#t~short6|} is VALID [2018-11-23 12:22:03,645 INFO L256 TraceCheckUtils]: 60: Hoare triple {10676#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10677#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-23 12:22:03,645 INFO L273 TraceCheckUtils]: 61: Hoare triple {10677#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {10678#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:22:03,646 INFO L273 TraceCheckUtils]: 62: Hoare triple {10678#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {10662#false} is VALID [2018-11-23 12:22:03,646 INFO L273 TraceCheckUtils]: 63: Hoare triple {10662#false} assume !false; {10662#false} is VALID [2018-11-23 12:22:03,663 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 13 proven. 52 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:22:03,664 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:03,664 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:03,673 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:22:03,696 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:22:03,696 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:22:03,707 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:03,708 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:03,850 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:03,855 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:03,857 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:03,859 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:03,866 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:03,867 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-23 12:22:03,911 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:03,916 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:03,917 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:03,919 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:03,926 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:03,933 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:03,933 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:26, output treesize:22 [2018-11-23 12:22:04,698 INFO L256 TraceCheckUtils]: 0: Hoare triple {10661#true} call ULTIMATE.init(); {10661#true} is VALID [2018-11-23 12:22:04,698 INFO L273 TraceCheckUtils]: 1: Hoare triple {10661#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {10661#true} is VALID [2018-11-23 12:22:04,698 INFO L273 TraceCheckUtils]: 2: Hoare triple {10661#true} assume true; {10661#true} is VALID [2018-11-23 12:22:04,698 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10661#true} {10661#true} #77#return; {10661#true} is VALID [2018-11-23 12:22:04,699 INFO L256 TraceCheckUtils]: 4: Hoare triple {10661#true} call #t~ret7 := main(); {10661#true} is VALID [2018-11-23 12:22:04,699 INFO L273 TraceCheckUtils]: 5: Hoare triple {10661#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {10661#true} is VALID [2018-11-23 12:22:04,699 INFO L273 TraceCheckUtils]: 6: Hoare triple {10661#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {10700#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:22:04,699 INFO L273 TraceCheckUtils]: 7: Hoare triple {10700#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {10704#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:04,700 INFO L273 TraceCheckUtils]: 8: Hoare triple {10704#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {10704#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:04,700 INFO L273 TraceCheckUtils]: 9: Hoare triple {10704#(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 * (2 * ~i~0 - 2), 4); {10704#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:04,701 INFO L273 TraceCheckUtils]: 10: Hoare triple {10704#(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 * (2 * ~i~0 - 1), 4); {10704#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:04,701 INFO L273 TraceCheckUtils]: 11: Hoare triple {10704#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10717#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:04,702 INFO L273 TraceCheckUtils]: 12: Hoare triple {10717#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {10717#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:04,703 INFO L273 TraceCheckUtils]: 13: Hoare triple {10717#(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 * (2 * ~i~0 - 2), 4); {10717#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:04,703 INFO L273 TraceCheckUtils]: 14: Hoare triple {10717#(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 * (2 * ~i~0 - 1), 4); {10717#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:04,704 INFO L273 TraceCheckUtils]: 15: Hoare triple {10717#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10730#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:04,705 INFO L273 TraceCheckUtils]: 16: Hoare triple {10730#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {10730#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:04,706 INFO L273 TraceCheckUtils]: 17: Hoare triple {10730#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {10737#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) 0))} is VALID [2018-11-23 12:22:04,707 INFO L273 TraceCheckUtils]: 18: Hoare triple {10737#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {10741#(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:04,708 INFO L273 TraceCheckUtils]: 19: Hoare triple {10741#(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; {10741#(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:04,709 INFO L273 TraceCheckUtils]: 20: Hoare triple {10741#(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 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {10741#(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:04,710 INFO L273 TraceCheckUtils]: 21: Hoare triple {10741#(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; {10751#(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:04,711 INFO L273 TraceCheckUtils]: 22: Hoare triple {10751#(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; {10751#(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:04,711 INFO L273 TraceCheckUtils]: 23: Hoare triple {10751#(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; {10751#(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:04,713 INFO L256 TraceCheckUtils]: 24: Hoare triple {10751#(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)); {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} is VALID [2018-11-23 12:22:04,713 INFO L273 TraceCheckUtils]: 25: Hoare triple {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} ~cond := #in~cond; {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} is VALID [2018-11-23 12:22:04,714 INFO L273 TraceCheckUtils]: 26: Hoare triple {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} assume !(0 == ~cond); {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} is VALID [2018-11-23 12:22:04,714 INFO L273 TraceCheckUtils]: 27: Hoare triple {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} assume true; {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} is VALID [2018-11-23 12:22:04,715 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} {10751#(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))} #81#return; {10751#(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:04,716 INFO L273 TraceCheckUtils]: 29: Hoare triple {10751#(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; {10751#(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:04,717 INFO L273 TraceCheckUtils]: 30: Hoare triple {10751#(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; {10780#(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:04,718 INFO L273 TraceCheckUtils]: 31: Hoare triple {10780#(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; {10780#(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:04,719 INFO L273 TraceCheckUtils]: 32: Hoare triple {10780#(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; {10780#(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:04,720 INFO L256 TraceCheckUtils]: 33: Hoare triple {10780#(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)); {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} is VALID [2018-11-23 12:22:04,721 INFO L273 TraceCheckUtils]: 34: Hoare triple {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} ~cond := #in~cond; {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} is VALID [2018-11-23 12:22:04,721 INFO L273 TraceCheckUtils]: 35: Hoare triple {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} assume !(0 == ~cond); {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} is VALID [2018-11-23 12:22:04,722 INFO L273 TraceCheckUtils]: 36: Hoare triple {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} assume true; {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} is VALID [2018-11-23 12:22:04,722 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} {10780#(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))))} #81#return; {10780#(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:04,723 INFO L273 TraceCheckUtils]: 38: Hoare triple {10780#(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; {10780#(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:04,724 INFO L273 TraceCheckUtils]: 39: Hoare triple {10780#(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; {10808#(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:04,725 INFO L273 TraceCheckUtils]: 40: Hoare triple {10808#(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; {10808#(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:04,726 INFO L273 TraceCheckUtils]: 41: Hoare triple {10808#(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; {10808#(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:04,727 INFO L256 TraceCheckUtils]: 42: Hoare triple {10808#(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)); {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} is VALID [2018-11-23 12:22:04,728 INFO L273 TraceCheckUtils]: 43: Hoare triple {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} ~cond := #in~cond; {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} is VALID [2018-11-23 12:22:04,728 INFO L273 TraceCheckUtils]: 44: Hoare triple {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} assume !(0 == ~cond); {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} is VALID [2018-11-23 12:22:04,729 INFO L273 TraceCheckUtils]: 45: Hoare triple {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} assume true; {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} is VALID [2018-11-23 12:22:04,729 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} {10808#(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))))} #81#return; {10808#(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:04,730 INFO L273 TraceCheckUtils]: 47: Hoare triple {10808#(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; {10808#(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:04,731 INFO L273 TraceCheckUtils]: 48: Hoare triple {10808#(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; {10836#(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:04,732 INFO L273 TraceCheckUtils]: 49: Hoare triple {10836#(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; {10836#(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:04,733 INFO L273 TraceCheckUtils]: 50: Hoare triple {10836#(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; {10836#(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:04,734 INFO L256 TraceCheckUtils]: 51: Hoare triple {10836#(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)); {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} is VALID [2018-11-23 12:22:04,735 INFO L273 TraceCheckUtils]: 52: Hoare triple {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} ~cond := #in~cond; {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} is VALID [2018-11-23 12:22:04,735 INFO L273 TraceCheckUtils]: 53: Hoare triple {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} assume !(0 == ~cond); {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} is VALID [2018-11-23 12:22:04,736 INFO L273 TraceCheckUtils]: 54: Hoare triple {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} assume true; {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} is VALID [2018-11-23 12:22:04,737 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {10761#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_14| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 16) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_14|) 20) 0)))} {10836#(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))))} #81#return; {10836#(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:04,737 INFO L273 TraceCheckUtils]: 56: Hoare triple {10836#(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; {10836#(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:04,738 INFO L273 TraceCheckUtils]: 57: Hoare triple {10836#(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; {10864#(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:04,739 INFO L273 TraceCheckUtils]: 58: Hoare triple {10864#(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; {10864#(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:04,740 INFO L273 TraceCheckUtils]: 59: Hoare triple {10864#(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; {10676#|main_#t~short6|} is VALID [2018-11-23 12:22:04,741 INFO L256 TraceCheckUtils]: 60: Hoare triple {10676#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10874#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:22:04,741 INFO L273 TraceCheckUtils]: 61: Hoare triple {10874#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {10878#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:22:04,742 INFO L273 TraceCheckUtils]: 62: Hoare triple {10878#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10662#false} is VALID [2018-11-23 12:22:04,742 INFO L273 TraceCheckUtils]: 63: Hoare triple {10662#false} assume !false; {10662#false} is VALID [2018-11-23 12:22:04,756 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 0 proven. 65 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:22:04,774 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:04,774 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 17] total 32 [2018-11-23 12:22:04,775 INFO L78 Accepts]: Start accepts. Automaton has 32 states. Word has length 64 [2018-11-23 12:22:04,775 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:04,775 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 32 states. [2018-11-23 12:22:04,906 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:04,907 INFO L459 AbstractCegarLoop]: Interpolant automaton has 32 states [2018-11-23 12:22:04,907 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2018-11-23 12:22:04,907 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=885, Unknown=0, NotChecked=0, Total=992 [2018-11-23 12:22:04,908 INFO L87 Difference]: Start difference. First operand 254 states and 298 transitions. Second operand 32 states. [2018-11-23 12:22:16,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:16,531 INFO L93 Difference]: Finished difference Result 342 states and 411 transitions. [2018-11-23 12:22:16,531 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 50 states. [2018-11-23 12:22:16,532 INFO L78 Accepts]: Start accepts. Automaton has 32 states. Word has length 64 [2018-11-23 12:22:16,532 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:16,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-23 12:22:16,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 205 transitions. [2018-11-23 12:22:16,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-23 12:22:16,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 205 transitions. [2018-11-23 12:22:16,539 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 50 states and 205 transitions. [2018-11-23 12:22:16,912 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 205 edges. 205 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:16,921 INFO L225 Difference]: With dead ends: 342 [2018-11-23 12:22:16,921 INFO L226 Difference]: Without dead ends: 298 [2018-11-23 12:22:16,924 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 46 SyntacticMatches, 8 SemanticMatches, 77 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1867 ImplicationChecksByTransitivity, 4.4s TimeCoverageRelationStatistics Valid=768, Invalid=5394, Unknown=0, NotChecked=0, Total=6162 [2018-11-23 12:22:16,924 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 298 states. [2018-11-23 12:22:19,374 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 298 to 274. [2018-11-23 12:22:19,375 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:19,375 INFO L82 GeneralOperation]: Start isEquivalent. First operand 298 states. Second operand 274 states. [2018-11-23 12:22:19,375 INFO L74 IsIncluded]: Start isIncluded. First operand 298 states. Second operand 274 states. [2018-11-23 12:22:19,375 INFO L87 Difference]: Start difference. First operand 298 states. Second operand 274 states. [2018-11-23 12:22:19,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:19,385 INFO L93 Difference]: Finished difference Result 298 states and 348 transitions. [2018-11-23 12:22:19,385 INFO L276 IsEmpty]: Start isEmpty. Operand 298 states and 348 transitions. [2018-11-23 12:22:19,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:19,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:19,386 INFO L74 IsIncluded]: Start isIncluded. First operand 274 states. Second operand 298 states. [2018-11-23 12:22:19,386 INFO L87 Difference]: Start difference. First operand 274 states. Second operand 298 states. [2018-11-23 12:22:19,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:19,394 INFO L93 Difference]: Finished difference Result 298 states and 348 transitions. [2018-11-23 12:22:19,394 INFO L276 IsEmpty]: Start isEmpty. Operand 298 states and 348 transitions. [2018-11-23 12:22:19,395 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:19,395 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:19,395 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:19,395 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:19,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 274 states. [2018-11-23 12:22:19,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 274 states to 274 states and 323 transitions. [2018-11-23 12:22:19,404 INFO L78 Accepts]: Start accepts. Automaton has 274 states and 323 transitions. Word has length 64 [2018-11-23 12:22:19,404 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:19,404 INFO L480 AbstractCegarLoop]: Abstraction has 274 states and 323 transitions. [2018-11-23 12:22:19,404 INFO L481 AbstractCegarLoop]: Interpolant automaton has 32 states. [2018-11-23 12:22:19,404 INFO L276 IsEmpty]: Start isEmpty. Operand 274 states and 323 transitions. [2018-11-23 12:22:19,405 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2018-11-23 12:22:19,405 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:19,405 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:19,406 INFO L423 AbstractCegarLoop]: === Iteration 18 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:19,406 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:19,406 INFO L82 PathProgramCache]: Analyzing trace with hash 641494299, now seen corresponding path program 3 times [2018-11-23 12:22:19,406 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:19,406 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:19,407 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:19,407 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:22:19,407 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:19,423 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:20,438 INFO L256 TraceCheckUtils]: 0: Hoare triple {12417#true} call ULTIMATE.init(); {12417#true} is VALID [2018-11-23 12:22:20,438 INFO L273 TraceCheckUtils]: 1: Hoare triple {12417#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {12417#true} is VALID [2018-11-23 12:22:20,439 INFO L273 TraceCheckUtils]: 2: Hoare triple {12417#true} assume true; {12417#true} is VALID [2018-11-23 12:22:20,439 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12417#true} {12417#true} #77#return; {12417#true} is VALID [2018-11-23 12:22:20,439 INFO L256 TraceCheckUtils]: 4: Hoare triple {12417#true} call #t~ret7 := main(); {12417#true} is VALID [2018-11-23 12:22:20,439 INFO L273 TraceCheckUtils]: 5: Hoare triple {12417#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {12417#true} is VALID [2018-11-23 12:22:20,440 INFO L273 TraceCheckUtils]: 6: Hoare triple {12417#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {12417#true} is VALID [2018-11-23 12:22:20,441 INFO L273 TraceCheckUtils]: 7: Hoare triple {12417#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {12419#(= main_~i~0 1)} is VALID [2018-11-23 12:22:20,441 INFO L273 TraceCheckUtils]: 8: Hoare triple {12419#(= main_~i~0 1)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {12419#(= main_~i~0 1)} is VALID [2018-11-23 12:22:20,442 INFO L273 TraceCheckUtils]: 9: Hoare triple {12419#(= main_~i~0 1)} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {12420#(and (= main_~i~0 1) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:22:20,442 INFO L273 TraceCheckUtils]: 10: Hoare triple {12420#(and (= main_~i~0 1) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {12420#(and (= main_~i~0 1) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:22:20,443 INFO L273 TraceCheckUtils]: 11: Hoare triple {12420#(and (= main_~i~0 1) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12421#(and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:22:20,443 INFO L273 TraceCheckUtils]: 12: Hoare triple {12421#(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 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {12421#(and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:22:20,444 INFO L273 TraceCheckUtils]: 13: Hoare triple {12421#(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 * (2 * ~i~0 - 2), 4); {12421#(and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:22:20,444 INFO L273 TraceCheckUtils]: 14: Hoare triple {12421#(and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {12421#(and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} is VALID [2018-11-23 12:22:20,445 INFO L273 TraceCheckUtils]: 15: Hoare triple {12421#(and (<= 2 main_~i~0) (<= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL2~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12422#(and (<= main_~i~0 3) (<= main_~MINVAL~0 main_~CCCELVOL2~0) (<= 3 main_~i~0))} is VALID [2018-11-23 12:22:20,446 INFO L273 TraceCheckUtils]: 16: Hoare triple {12422#(and (<= main_~i~0 3) (<= main_~MINVAL~0 main_~CCCELVOL2~0) (<= 3 main_~i~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {12422#(and (<= main_~i~0 3) (<= main_~MINVAL~0 main_~CCCELVOL2~0) (<= 3 main_~i~0))} is VALID [2018-11-23 12:22:20,447 INFO L273 TraceCheckUtils]: 17: Hoare triple {12422#(and (<= main_~i~0 3) (<= main_~MINVAL~0 main_~CCCELVOL2~0) (<= 3 main_~i~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {12423#(and (<= main_~i~0 3) (= main_~CCCELVOL2~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (<= main_~MINVAL~0 main_~CCCELVOL2~0) (<= 3 main_~i~0))} is VALID [2018-11-23 12:22:20,448 INFO L273 TraceCheckUtils]: 18: Hoare triple {12423#(and (<= main_~i~0 3) (= main_~CCCELVOL2~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (<= main_~MINVAL~0 main_~CCCELVOL2~0) (<= 3 main_~i~0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {12423#(and (<= main_~i~0 3) (= main_~CCCELVOL2~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (<= main_~MINVAL~0 main_~CCCELVOL2~0) (<= 3 main_~i~0))} is VALID [2018-11-23 12:22:20,449 INFO L273 TraceCheckUtils]: 19: Hoare triple {12423#(and (<= main_~i~0 3) (= main_~CCCELVOL2~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (<= main_~MINVAL~0 main_~CCCELVOL2~0) (<= 3 main_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12424#(and (<= main_~MINVAL~0 main_~CCCELVOL2~0) (= main_~CCCELVOL2~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))))} is VALID [2018-11-23 12:22:20,450 INFO L273 TraceCheckUtils]: 20: Hoare triple {12424#(and (<= main_~MINVAL~0 main_~CCCELVOL2~0) (= main_~CCCELVOL2~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {12424#(and (<= main_~MINVAL~0 main_~CCCELVOL2~0) (= main_~CCCELVOL2~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))))} is VALID [2018-11-23 12:22:20,451 INFO L273 TraceCheckUtils]: 21: Hoare triple {12424#(and (<= main_~MINVAL~0 main_~CCCELVOL2~0) (= main_~CCCELVOL2~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {12425#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,452 INFO L273 TraceCheckUtils]: 22: Hoare triple {12425#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {12425#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,453 INFO L273 TraceCheckUtils]: 23: Hoare triple {12425#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12425#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,454 INFO L273 TraceCheckUtils]: 24: Hoare triple {12425#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {12425#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-23 12:22:20,455 INFO L273 TraceCheckUtils]: 25: Hoare triple {12425#(<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} ~i~0 := 0; {12426#(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:20,455 INFO L273 TraceCheckUtils]: 26: Hoare triple {12426#(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; {12426#(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:20,456 INFO L273 TraceCheckUtils]: 27: Hoare triple {12426#(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; {12426#(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:20,456 INFO L256 TraceCheckUtils]: 28: Hoare triple {12426#(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)); {12417#true} is VALID [2018-11-23 12:22:20,457 INFO L273 TraceCheckUtils]: 29: Hoare triple {12417#true} ~cond := #in~cond; {12417#true} is VALID [2018-11-23 12:22:20,457 INFO L273 TraceCheckUtils]: 30: Hoare triple {12417#true} assume !(0 == ~cond); {12417#true} is VALID [2018-11-23 12:22:20,457 INFO L273 TraceCheckUtils]: 31: Hoare triple {12417#true} assume true; {12417#true} is VALID [2018-11-23 12:22:20,458 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {12417#true} {12426#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} #81#return; {12426#(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:20,458 INFO L273 TraceCheckUtils]: 33: Hoare triple {12426#(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; {12426#(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:20,459 INFO L273 TraceCheckUtils]: 34: Hoare triple {12426#(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; {12427#(<= 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:20,460 INFO L273 TraceCheckUtils]: 35: Hoare triple {12427#(<= 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; {12427#(<= 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:20,460 INFO L273 TraceCheckUtils]: 36: Hoare triple {12427#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} assume #t~short6; {12427#(<= 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:20,461 INFO L256 TraceCheckUtils]: 37: Hoare triple {12427#(<= 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)); {12417#true} is VALID [2018-11-23 12:22:20,461 INFO L273 TraceCheckUtils]: 38: Hoare triple {12417#true} ~cond := #in~cond; {12417#true} is VALID [2018-11-23 12:22:20,461 INFO L273 TraceCheckUtils]: 39: Hoare triple {12417#true} assume !(0 == ~cond); {12417#true} is VALID [2018-11-23 12:22:20,461 INFO L273 TraceCheckUtils]: 40: Hoare triple {12417#true} assume true; {12417#true} is VALID [2018-11-23 12:22:20,462 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {12417#true} {12427#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} #81#return; {12427#(<= 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:20,463 INFO L273 TraceCheckUtils]: 42: Hoare triple {12427#(<= 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; {12427#(<= 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:20,463 INFO L273 TraceCheckUtils]: 43: Hoare triple {12427#(<= 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; {12428#(<= 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:20,464 INFO L273 TraceCheckUtils]: 44: Hoare triple {12428#(<= 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; {12428#(<= 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:20,464 INFO L273 TraceCheckUtils]: 45: Hoare triple {12428#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} assume #t~short6; {12428#(<= 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:20,464 INFO L256 TraceCheckUtils]: 46: Hoare triple {12428#(<= 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)); {12417#true} is VALID [2018-11-23 12:22:20,464 INFO L273 TraceCheckUtils]: 47: Hoare triple {12417#true} ~cond := #in~cond; {12417#true} is VALID [2018-11-23 12:22:20,464 INFO L273 TraceCheckUtils]: 48: Hoare triple {12417#true} assume !(0 == ~cond); {12417#true} is VALID [2018-11-23 12:22:20,465 INFO L273 TraceCheckUtils]: 49: Hoare triple {12417#true} assume true; {12417#true} is VALID [2018-11-23 12:22:20,465 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {12417#true} {12428#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} #81#return; {12428#(<= 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:20,465 INFO L273 TraceCheckUtils]: 51: Hoare triple {12428#(<= 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; {12428#(<= 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:20,466 INFO L273 TraceCheckUtils]: 52: Hoare triple {12428#(<= 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; {12429#(<= 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:20,466 INFO L273 TraceCheckUtils]: 53: Hoare triple {12429#(<= 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; {12429#(<= 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:20,467 INFO L273 TraceCheckUtils]: 54: Hoare triple {12429#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} assume #t~short6; {12429#(<= 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:20,467 INFO L256 TraceCheckUtils]: 55: Hoare triple {12429#(<= 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)); {12417#true} is VALID [2018-11-23 12:22:20,467 INFO L273 TraceCheckUtils]: 56: Hoare triple {12417#true} ~cond := #in~cond; {12417#true} is VALID [2018-11-23 12:22:20,468 INFO L273 TraceCheckUtils]: 57: Hoare triple {12417#true} assume !(0 == ~cond); {12417#true} is VALID [2018-11-23 12:22:20,468 INFO L273 TraceCheckUtils]: 58: Hoare triple {12417#true} assume true; {12417#true} is VALID [2018-11-23 12:22:20,468 INFO L268 TraceCheckUtils]: 59: Hoare quadruple {12417#true} {12429#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} #81#return; {12429#(<= 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:20,469 INFO L273 TraceCheckUtils]: 60: Hoare triple {12429#(<= 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; {12429#(<= 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:20,470 INFO L273 TraceCheckUtils]: 61: Hoare triple {12429#(<= 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; {12430#(<= 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:20,471 INFO L273 TraceCheckUtils]: 62: Hoare triple {12430#(<= 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; {12431#|main_#t~short6|} is VALID [2018-11-23 12:22:20,471 INFO L273 TraceCheckUtils]: 63: Hoare triple {12431#|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; {12418#false} is VALID [2018-11-23 12:22:20,471 INFO L256 TraceCheckUtils]: 64: Hoare triple {12418#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12418#false} is VALID [2018-11-23 12:22:20,472 INFO L273 TraceCheckUtils]: 65: Hoare triple {12418#false} ~cond := #in~cond; {12418#false} is VALID [2018-11-23 12:22:20,472 INFO L273 TraceCheckUtils]: 66: Hoare triple {12418#false} assume 0 == ~cond; {12418#false} is VALID [2018-11-23 12:22:20,472 INFO L273 TraceCheckUtils]: 67: Hoare triple {12418#false} assume !false; {12418#false} is VALID [2018-11-23 12:22:20,482 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 12 proven. 66 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:22:20,482 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:20,482 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:20,491 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:22:20,538 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2018-11-23 12:22:20,538 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:22:20,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:20,551 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:20,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 16 treesize of output 13 [2018-11-23 12:22:20,767 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,769 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:20,773 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,789 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,789 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:26, output treesize:22 [2018-11-23 12:22:20,902 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 26 treesize of output 21 [2018-11-23 12:22:20,908 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:20,911 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 21 treesize of output 33 [2018-11-23 12:22:20,915 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:20,922 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,934 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,934 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-23 12:22:20,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 38 treesize of output 31 [2018-11-23 12:22:21,006 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:21,007 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:21,009 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:21,012 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 31 treesize of output 70 [2018-11-23 12:22:21,018 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:21,032 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:21,046 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:21,046 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:47, output treesize:43 [2018-11-23 12:22:21,211 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 47 treesize of output 38 [2018-11-23 12:22:21,222 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:21,224 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:21,225 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:21,227 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:21,228 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:21,229 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:21,237 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 118 [2018-11-23 12:22:21,241 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:21,260 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:21,278 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 12:22:21,278 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:61, output treesize:57 [2018-11-23 12:22:21,363 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 59 treesize of output 48 [2018-11-23 12:22:21,373 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:21,375 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:21,376 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:21,377 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:21,378 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:21,380 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:21,381 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:21,382 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:21,383 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:21,384 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:21,393 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 183 [2018-11-23 12:22:21,397 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:21,426 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:21,447 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 12:22:21,448 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:73, output treesize:69 [2018-11-23 12:22:37,302 INFO L256 TraceCheckUtils]: 0: Hoare triple {12417#true} call ULTIMATE.init(); {12417#true} is VALID [2018-11-23 12:22:37,303 INFO L273 TraceCheckUtils]: 1: Hoare triple {12417#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {12417#true} is VALID [2018-11-23 12:22:37,303 INFO L273 TraceCheckUtils]: 2: Hoare triple {12417#true} assume true; {12417#true} is VALID [2018-11-23 12:22:37,303 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12417#true} {12417#true} #77#return; {12417#true} is VALID [2018-11-23 12:22:37,303 INFO L256 TraceCheckUtils]: 4: Hoare triple {12417#true} call #t~ret7 := main(); {12417#true} is VALID [2018-11-23 12:22:37,304 INFO L273 TraceCheckUtils]: 5: Hoare triple {12417#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {12417#true} is VALID [2018-11-23 12:22:37,304 INFO L273 TraceCheckUtils]: 6: Hoare triple {12417#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {12453#(and (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,305 INFO L273 TraceCheckUtils]: 7: Hoare triple {12453#(and (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {12457#(and (<= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,306 INFO L273 TraceCheckUtils]: 8: Hoare triple {12457#(and (<= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {12457#(and (<= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,306 INFO L273 TraceCheckUtils]: 9: Hoare triple {12457#(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 * (2 * ~i~0 - 2), 4); {12457#(and (<= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,307 INFO L273 TraceCheckUtils]: 10: Hoare triple {12457#(and (<= 1 main_~CCCELVOL1~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 * (2 * ~i~0 - 1), 4); {12457#(and (<= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,307 INFO L273 TraceCheckUtils]: 11: Hoare triple {12457#(and (<= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12470#(and (= main_~i~0 2) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,307 INFO L273 TraceCheckUtils]: 12: Hoare triple {12470#(and (= main_~i~0 2) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {12470#(and (= main_~i~0 2) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,308 INFO L273 TraceCheckUtils]: 13: Hoare triple {12470#(and (= main_~i~0 2) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {12470#(and (= main_~i~0 2) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,309 INFO L273 TraceCheckUtils]: 14: Hoare triple {12470#(and (= main_~i~0 2) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {12480#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 4))) 0) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,310 INFO L273 TraceCheckUtils]: 15: Hoare triple {12480#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 4))) 0) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12484#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0) (<= 3 main_~i~0))} is VALID [2018-11-23 12:22:37,311 INFO L273 TraceCheckUtils]: 16: Hoare triple {12484#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0) (<= 3 main_~i~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {12484#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0) (<= 3 main_~i~0))} is VALID [2018-11-23 12:22:37,312 INFO L273 TraceCheckUtils]: 17: Hoare triple {12484#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0) (<= 3 main_~i~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {12491#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) main_~CCCELVOL2~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0) (<= 3 main_~i~0))} is VALID [2018-11-23 12:22:37,313 INFO L273 TraceCheckUtils]: 18: Hoare triple {12491#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) main_~CCCELVOL2~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0) (<= 3 main_~i~0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {12495#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) main_~CCCELVOL2~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0) (<= 3 main_~i~0))} is VALID [2018-11-23 12:22:37,315 INFO L273 TraceCheckUtils]: 19: Hoare triple {12495#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) main_~CCCELVOL2~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0) (<= 3 main_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12499#(and (exists ((v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) main_~i~0) (= main_~CCCELVOL2~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (<= 3 v_main_~i~0_52) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,316 INFO L273 TraceCheckUtils]: 20: Hoare triple {12499#(and (exists ((v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) main_~i~0) (= main_~CCCELVOL2~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (<= 3 v_main_~i~0_52) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {12499#(and (exists ((v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) main_~i~0) (= main_~CCCELVOL2~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (<= 3 v_main_~i~0_52) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,318 INFO L273 TraceCheckUtils]: 21: Hoare triple {12499#(and (exists ((v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) main_~i~0) (= main_~CCCELVOL2~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (<= 3 v_main_~i~0_52) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {12506#(and (exists ((v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (<= 3 v_main_~i~0_52) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,321 INFO L273 TraceCheckUtils]: 22: Hoare triple {12506#(and (exists ((v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (<= 3 v_main_~i~0_52) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {12510#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (exists ((main_~i~0 Int) (v_main_~i~0_52 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 4))) 0) (<= (+ v_main_~i~0_52 1) main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (<= 3 v_main_~i~0_52) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,322 INFO L273 TraceCheckUtils]: 23: Hoare triple {12510#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (exists ((main_~i~0 Int) (v_main_~i~0_52 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 4))) 0) (<= (+ v_main_~i~0_52 1) main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (<= 3 v_main_~i~0_52) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12510#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (exists ((main_~i~0 Int) (v_main_~i~0_52 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 4))) 0) (<= (+ v_main_~i~0_52 1) main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (<= 3 v_main_~i~0_52) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,323 INFO L273 TraceCheckUtils]: 24: Hoare triple {12510#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (exists ((main_~i~0 Int) (v_main_~i~0_52 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 4))) 0) (<= (+ v_main_~i~0_52 1) main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (<= 3 v_main_~i~0_52) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= |main_~#volArray~0.offset| 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {12510#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (exists ((main_~i~0 Int) (v_main_~i~0_52 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 4))) 0) (<= (+ v_main_~i~0_52 1) main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (<= 3 v_main_~i~0_52) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:37,325 INFO L273 TraceCheckUtils]: 25: Hoare triple {12510#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (exists ((main_~i~0 Int) (v_main_~i~0_52 Int)) (and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 4))) 0) (<= (+ v_main_~i~0_52 1) main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 main_~i~0) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (<= 3 v_main_~i~0_52) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= |main_~#volArray~0.offset| 0))} ~i~0 := 0; {12520#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:37,327 INFO L273 TraceCheckUtils]: 26: Hoare triple {12520#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 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; {12520#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:37,328 INFO L273 TraceCheckUtils]: 27: Hoare triple {12520#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= main_~i~0 0))} assume #t~short6; {12520#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:37,330 INFO L256 TraceCheckUtils]: 28: Hoare triple {12520#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} is VALID [2018-11-23 12:22:37,331 INFO L273 TraceCheckUtils]: 29: Hoare triple {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} ~cond := #in~cond; {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} is VALID [2018-11-23 12:22:37,331 INFO L273 TraceCheckUtils]: 30: Hoare triple {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} assume !(0 == ~cond); {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} is VALID [2018-11-23 12:22:37,332 INFO L273 TraceCheckUtils]: 31: Hoare triple {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} assume true; {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} is VALID [2018-11-23 12:22:37,332 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} {12520#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= main_~i~0 0))} #81#return; {12520#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:37,333 INFO L273 TraceCheckUtils]: 33: Hoare triple {12520#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {12520#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:37,334 INFO L273 TraceCheckUtils]: 34: Hoare triple {12520#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12549#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} is VALID [2018-11-23 12:22:37,335 INFO L273 TraceCheckUtils]: 35: Hoare triple {12549#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 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; {12549#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} is VALID [2018-11-23 12:22:37,336 INFO L273 TraceCheckUtils]: 36: Hoare triple {12549#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} assume #t~short6; {12549#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} is VALID [2018-11-23 12:22:37,338 INFO L256 TraceCheckUtils]: 37: Hoare triple {12549#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} is VALID [2018-11-23 12:22:37,339 INFO L273 TraceCheckUtils]: 38: Hoare triple {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} ~cond := #in~cond; {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} is VALID [2018-11-23 12:22:37,340 INFO L273 TraceCheckUtils]: 39: Hoare triple {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} assume !(0 == ~cond); {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} is VALID [2018-11-23 12:22:37,340 INFO L273 TraceCheckUtils]: 40: Hoare triple {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} assume true; {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} is VALID [2018-11-23 12:22:37,341 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} {12549#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} #81#return; {12549#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} is VALID [2018-11-23 12:22:37,342 INFO L273 TraceCheckUtils]: 42: Hoare triple {12549#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {12549#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} is VALID [2018-11-23 12:22:37,343 INFO L273 TraceCheckUtils]: 43: Hoare triple {12549#(and (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12577#(and (= main_~i~0 2) (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} is VALID [2018-11-23 12:22:37,344 INFO L273 TraceCheckUtils]: 44: Hoare triple {12577#(and (= main_~i~0 2) (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 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; {12577#(and (= main_~i~0 2) (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} is VALID [2018-11-23 12:22:37,346 INFO L273 TraceCheckUtils]: 45: Hoare triple {12577#(and (= main_~i~0 2) (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} assume #t~short6; {12577#(and (= main_~i~0 2) (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} is VALID [2018-11-23 12:22:37,348 INFO L256 TraceCheckUtils]: 46: Hoare triple {12577#(and (= main_~i~0 2) (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} is VALID [2018-11-23 12:22:37,349 INFO L273 TraceCheckUtils]: 47: Hoare triple {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} ~cond := #in~cond; {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} is VALID [2018-11-23 12:22:37,349 INFO L273 TraceCheckUtils]: 48: Hoare triple {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} assume !(0 == ~cond); {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} is VALID [2018-11-23 12:22:37,349 INFO L273 TraceCheckUtils]: 49: Hoare triple {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} assume true; {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} is VALID [2018-11-23 12:22:37,350 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {12530#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_18| Int) (v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) 12) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 4))) 0) (<= (+ v_main_~i~0_52 1) v_prenex_1) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_18|) (+ (* 8 v_main_~i~0_52) (- 8))))))} {12577#(and (= main_~i~0 2) (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} #81#return; {12577#(and (= main_~i~0 2) (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} is VALID [2018-11-23 12:22:37,351 INFO L273 TraceCheckUtils]: 51: Hoare triple {12577#(and (= main_~i~0 2) (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {12577#(and (= main_~i~0 2) (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} is VALID [2018-11-23 12:22:37,352 INFO L273 TraceCheckUtils]: 52: Hoare triple {12577#(and (= main_~i~0 2) (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12605#(and (= main_~i~0 3) (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 4)))))))} is VALID [2018-11-23 12:22:37,353 INFO L273 TraceCheckUtils]: 53: Hoare triple {12605#(and (= main_~i~0 3) (<= 2 main_~MINVAL~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (exists ((v_prenex_1 Int) (v_main_~i~0_52 Int)) (and (<= (+ v_main_~i~0_52 1) v_prenex_1) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 4))) 0) (<= 3 v_main_~i~0_52) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_prenex_1) (- 8))) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 8)))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 8 v_main_~i~0_52) (- 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; {12609#(not |main_#t~short6|)} is VALID [2018-11-23 12:22:37,354 INFO L273 TraceCheckUtils]: 54: Hoare triple {12609#(not |main_#t~short6|)} assume #t~short6; {12418#false} is VALID [2018-11-23 12:22:37,354 INFO L256 TraceCheckUtils]: 55: Hoare triple {12418#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12418#false} is VALID [2018-11-23 12:22:37,354 INFO L273 TraceCheckUtils]: 56: Hoare triple {12418#false} ~cond := #in~cond; {12418#false} is VALID [2018-11-23 12:22:37,355 INFO L273 TraceCheckUtils]: 57: Hoare triple {12418#false} assume !(0 == ~cond); {12418#false} is VALID [2018-11-23 12:22:37,355 INFO L273 TraceCheckUtils]: 58: Hoare triple {12418#false} assume true; {12418#false} is VALID [2018-11-23 12:22:37,355 INFO L268 TraceCheckUtils]: 59: Hoare quadruple {12418#false} {12418#false} #81#return; {12418#false} is VALID [2018-11-23 12:22:37,355 INFO L273 TraceCheckUtils]: 60: Hoare triple {12418#false} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {12418#false} is VALID [2018-11-23 12:22:37,355 INFO L273 TraceCheckUtils]: 61: Hoare triple {12418#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12418#false} is VALID [2018-11-23 12:22:37,356 INFO L273 TraceCheckUtils]: 62: Hoare triple {12418#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; {12418#false} is VALID [2018-11-23 12:22:37,356 INFO L273 TraceCheckUtils]: 63: Hoare triple {12418#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {12418#false} is VALID [2018-11-23 12:22:37,356 INFO L256 TraceCheckUtils]: 64: Hoare triple {12418#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12418#false} is VALID [2018-11-23 12:22:37,356 INFO L273 TraceCheckUtils]: 65: Hoare triple {12418#false} ~cond := #in~cond; {12418#false} is VALID [2018-11-23 12:22:37,356 INFO L273 TraceCheckUtils]: 66: Hoare triple {12418#false} assume 0 == ~cond; {12418#false} is VALID [2018-11-23 12:22:37,356 INFO L273 TraceCheckUtils]: 67: Hoare triple {12418#false} assume !false; {12418#false} is VALID [2018-11-23 12:22:37,386 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 40 proven. 47 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 12:22:37,405 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:37,405 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 18] total 31 [2018-11-23 12:22:37,405 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 68 [2018-11-23 12:22:37,405 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:37,406 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states. [2018-11-23 12:22:37,568 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:37,568 INFO L459 AbstractCegarLoop]: Interpolant automaton has 31 states [2018-11-23 12:22:37,569 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2018-11-23 12:22:37,569 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=837, Unknown=2, NotChecked=0, Total=930 [2018-11-23 12:22:37,570 INFO L87 Difference]: Start difference. First operand 274 states and 323 transitions. Second operand 31 states. [2018-11-23 12:22:50,850 WARN L180 SmtUtils]: Spent 827.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 55 [2018-11-23 12:22:52,079 WARN L180 SmtUtils]: Spent 421.00 ms on a formula simplification. DAG size of input: 58 DAG size of output: 56 [2018-11-23 12:22:54,384 WARN L180 SmtUtils]: Spent 826.00 ms on a formula simplification. DAG size of input: 65 DAG size of output: 60 [2018-11-23 12:22:55,458 WARN L180 SmtUtils]: Spent 884.00 ms on a formula simplification. DAG size of input: 66 DAG size of output: 61 [2018-11-23 12:22:56,993 WARN L180 SmtUtils]: Spent 184.00 ms on a formula simplification. DAG size of input: 70 DAG size of output: 56 [2018-11-23 12:22:59,767 WARN L180 SmtUtils]: Spent 162.00 ms on a formula simplification. DAG size of input: 56 DAG size of output: 52 [2018-11-23 12:23:00,355 WARN L180 SmtUtils]: Spent 453.00 ms on a formula simplification. DAG size of input: 58 DAG size of output: 54 [2018-11-23 12:23:00,943 WARN L180 SmtUtils]: Spent 461.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 53 [2018-11-23 12:23:03,425 WARN L180 SmtUtils]: Spent 422.00 ms on a formula simplification that was a NOOP. DAG size: 57 [2018-11-23 12:23:03,933 WARN L180 SmtUtils]: Spent 423.00 ms on a formula simplification that was a NOOP. DAG size: 58 [2018-11-23 12:23:04,992 WARN L180 SmtUtils]: Spent 422.00 ms on a formula simplification that was a NOOP. DAG size: 52 [2018-11-23 12:23:06,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:06,174 INFO L93 Difference]: Finished difference Result 354 states and 410 transitions. [2018-11-23 12:23:06,174 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 65 states. [2018-11-23 12:23:06,174 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 68 [2018-11-23 12:23:06,174 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:06,175 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 12:23:06,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 237 transitions. [2018-11-23 12:23:06,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 12:23:06,182 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 237 transitions. [2018-11-23 12:23:06,182 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 65 states and 237 transitions. [2018-11-23 12:23:06,735 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 237 edges. 237 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:06,746 INFO L225 Difference]: With dead ends: 354 [2018-11-23 12:23:06,746 INFO L226 Difference]: Without dead ends: 338 [2018-11-23 12:23:06,748 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 141 GetRequests, 48 SyntacticMatches, 7 SemanticMatches, 86 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2371 ImplicationChecksByTransitivity, 28.6s TimeCoverageRelationStatistics Valid=796, Invalid=6856, Unknown=4, NotChecked=0, Total=7656 [2018-11-23 12:23:06,749 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 338 states. [2018-11-23 12:23:09,291 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 338 to 300. [2018-11-23 12:23:09,292 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:09,292 INFO L82 GeneralOperation]: Start isEquivalent. First operand 338 states. Second operand 300 states. [2018-11-23 12:23:09,292 INFO L74 IsIncluded]: Start isIncluded. First operand 338 states. Second operand 300 states. [2018-11-23 12:23:09,292 INFO L87 Difference]: Start difference. First operand 338 states. Second operand 300 states. [2018-11-23 12:23:09,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:09,301 INFO L93 Difference]: Finished difference Result 338 states and 391 transitions. [2018-11-23 12:23:09,301 INFO L276 IsEmpty]: Start isEmpty. Operand 338 states and 391 transitions. [2018-11-23 12:23:09,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:09,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:09,303 INFO L74 IsIncluded]: Start isIncluded. First operand 300 states. Second operand 338 states. [2018-11-23 12:23:09,303 INFO L87 Difference]: Start difference. First operand 300 states. Second operand 338 states. [2018-11-23 12:23:09,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:09,312 INFO L93 Difference]: Finished difference Result 338 states and 391 transitions. [2018-11-23 12:23:09,312 INFO L276 IsEmpty]: Start isEmpty. Operand 338 states and 391 transitions. [2018-11-23 12:23:09,313 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:09,313 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:09,313 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:09,313 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:09,313 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 300 states. [2018-11-23 12:23:09,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 300 states to 300 states and 348 transitions. [2018-11-23 12:23:09,321 INFO L78 Accepts]: Start accepts. Automaton has 300 states and 348 transitions. Word has length 68 [2018-11-23 12:23:09,321 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:09,321 INFO L480 AbstractCegarLoop]: Abstraction has 300 states and 348 transitions. [2018-11-23 12:23:09,321 INFO L481 AbstractCegarLoop]: Interpolant automaton has 31 states. [2018-11-23 12:23:09,321 INFO L276 IsEmpty]: Start isEmpty. Operand 300 states and 348 transitions. [2018-11-23 12:23:09,322 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2018-11-23 12:23:09,323 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:09,323 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 6, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:09,323 INFO L423 AbstractCegarLoop]: === Iteration 19 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:09,323 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:09,323 INFO L82 PathProgramCache]: Analyzing trace with hash 518861367, now seen corresponding path program 4 times [2018-11-23 12:23:09,324 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:09,324 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:09,324 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:09,324 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:09,324 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:09,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:09,910 INFO L256 TraceCheckUtils]: 0: Hoare triple {14326#true} call ULTIMATE.init(); {14326#true} is VALID [2018-11-23 12:23:09,911 INFO L273 TraceCheckUtils]: 1: Hoare triple {14326#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {14326#true} is VALID [2018-11-23 12:23:09,911 INFO L273 TraceCheckUtils]: 2: Hoare triple {14326#true} assume true; {14326#true} is VALID [2018-11-23 12:23:09,911 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14326#true} {14326#true} #77#return; {14326#true} is VALID [2018-11-23 12:23:09,911 INFO L256 TraceCheckUtils]: 4: Hoare triple {14326#true} call #t~ret7 := main(); {14326#true} is VALID [2018-11-23 12:23:09,911 INFO L273 TraceCheckUtils]: 5: Hoare triple {14326#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {14326#true} is VALID [2018-11-23 12:23:09,914 INFO L273 TraceCheckUtils]: 6: Hoare triple {14326#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {14328#(or (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:09,915 INFO L273 TraceCheckUtils]: 7: Hoare triple {14328#(or (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {14329#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:23:09,916 INFO L273 TraceCheckUtils]: 8: Hoare triple {14329#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {14329#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:23:09,917 INFO L273 TraceCheckUtils]: 9: Hoare triple {14329#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {14329#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:23:09,917 INFO L273 TraceCheckUtils]: 10: Hoare triple {14329#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {14329#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:23:09,918 INFO L273 TraceCheckUtils]: 11: Hoare triple {14329#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {14330#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:09,919 INFO L273 TraceCheckUtils]: 12: Hoare triple {14330#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {14330#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:09,920 INFO L273 TraceCheckUtils]: 13: Hoare triple {14330#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {14330#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:09,920 INFO L273 TraceCheckUtils]: 14: Hoare triple {14330#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {14330#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:09,921 INFO L273 TraceCheckUtils]: 15: Hoare triple {14330#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {14331#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3))} is VALID [2018-11-23 12:23:09,922 INFO L273 TraceCheckUtils]: 16: Hoare triple {14331#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {14331#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3))} is VALID [2018-11-23 12:23:09,923 INFO L273 TraceCheckUtils]: 17: Hoare triple {14331#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {14331#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3))} is VALID [2018-11-23 12:23:09,924 INFO L273 TraceCheckUtils]: 18: Hoare triple {14331#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {14332#(and (<= main_~i~0 3) (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:23:09,925 INFO L273 TraceCheckUtils]: 19: Hoare triple {14332#(and (<= main_~i~0 3) (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {14333#(and (<= (* 2 main_~i~0) 8) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 2 main_~i~0) (- 2))) (+ |main_~#volArray~0.offset| (- 4))))) (<= (* 2 main_~i~0) 7)) (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))))} is VALID [2018-11-23 12:23:09,927 INFO L273 TraceCheckUtils]: 20: Hoare triple {14333#(and (<= (* 2 main_~i~0) 8) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 2 main_~i~0) (- 2))) (+ |main_~#volArray~0.offset| (- 4))))) (<= (* 2 main_~i~0) 7)) (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {14334#(and (<= ~CELLCOUNT~0 6) (or (<= ~CELLCOUNT~0 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))))} is VALID [2018-11-23 12:23:09,928 INFO L273 TraceCheckUtils]: 21: Hoare triple {14334#(and (<= ~CELLCOUNT~0 6) (or (<= ~CELLCOUNT~0 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))))} ~i~0 := 0; {14335#(and (<= ~CELLCOUNT~0 6) (or (<= ~CELLCOUNT~0 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:09,928 INFO L273 TraceCheckUtils]: 22: Hoare triple {14335#(and (<= ~CELLCOUNT~0 6) (or (<= ~CELLCOUNT~0 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |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; {14335#(and (<= ~CELLCOUNT~0 6) (or (<= ~CELLCOUNT~0 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:09,929 INFO L273 TraceCheckUtils]: 23: Hoare triple {14335#(and (<= ~CELLCOUNT~0 6) (or (<= ~CELLCOUNT~0 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} assume #t~short6; {14335#(and (<= ~CELLCOUNT~0 6) (or (<= ~CELLCOUNT~0 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:09,929 INFO L256 TraceCheckUtils]: 24: Hoare triple {14335#(and (<= ~CELLCOUNT~0 6) (or (<= ~CELLCOUNT~0 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14326#true} is VALID [2018-11-23 12:23:09,930 INFO L273 TraceCheckUtils]: 25: Hoare triple {14326#true} ~cond := #in~cond; {14326#true} is VALID [2018-11-23 12:23:09,930 INFO L273 TraceCheckUtils]: 26: Hoare triple {14326#true} assume !(0 == ~cond); {14326#true} is VALID [2018-11-23 12:23:09,930 INFO L273 TraceCheckUtils]: 27: Hoare triple {14326#true} assume true; {14326#true} is VALID [2018-11-23 12:23:09,931 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {14326#true} {14335#(and (<= ~CELLCOUNT~0 6) (or (<= ~CELLCOUNT~0 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} #81#return; {14335#(and (<= ~CELLCOUNT~0 6) (or (<= ~CELLCOUNT~0 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:09,932 INFO L273 TraceCheckUtils]: 29: Hoare triple {14335#(and (<= ~CELLCOUNT~0 6) (or (<= ~CELLCOUNT~0 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {14335#(and (<= ~CELLCOUNT~0 6) (or (<= ~CELLCOUNT~0 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:09,933 INFO L273 TraceCheckUtils]: 30: Hoare triple {14335#(and (<= ~CELLCOUNT~0 6) (or (<= ~CELLCOUNT~0 5) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14336#(and (<= ~CELLCOUNT~0 (+ main_~i~0 5)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 4))))} is VALID [2018-11-23 12:23:09,934 INFO L273 TraceCheckUtils]: 31: Hoare triple {14336#(and (<= ~CELLCOUNT~0 (+ main_~i~0 5)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~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; {14336#(and (<= ~CELLCOUNT~0 (+ main_~i~0 5)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 4))))} is VALID [2018-11-23 12:23:09,934 INFO L273 TraceCheckUtils]: 32: Hoare triple {14336#(and (<= ~CELLCOUNT~0 (+ main_~i~0 5)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 4))))} assume #t~short6; {14336#(and (<= ~CELLCOUNT~0 (+ main_~i~0 5)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 4))))} is VALID [2018-11-23 12:23:09,934 INFO L256 TraceCheckUtils]: 33: Hoare triple {14336#(and (<= ~CELLCOUNT~0 (+ main_~i~0 5)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 4))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14326#true} is VALID [2018-11-23 12:23:09,935 INFO L273 TraceCheckUtils]: 34: Hoare triple {14326#true} ~cond := #in~cond; {14326#true} is VALID [2018-11-23 12:23:09,935 INFO L273 TraceCheckUtils]: 35: Hoare triple {14326#true} assume !(0 == ~cond); {14326#true} is VALID [2018-11-23 12:23:09,935 INFO L273 TraceCheckUtils]: 36: Hoare triple {14326#true} assume true; {14326#true} is VALID [2018-11-23 12:23:09,936 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {14326#true} {14336#(and (<= ~CELLCOUNT~0 (+ main_~i~0 5)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 4))))} #81#return; {14336#(and (<= ~CELLCOUNT~0 (+ main_~i~0 5)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 4))))} is VALID [2018-11-23 12:23:09,937 INFO L273 TraceCheckUtils]: 38: Hoare triple {14336#(and (<= ~CELLCOUNT~0 (+ main_~i~0 5)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 4))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {14336#(and (<= ~CELLCOUNT~0 (+ main_~i~0 5)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 4))))} is VALID [2018-11-23 12:23:09,938 INFO L273 TraceCheckUtils]: 39: Hoare triple {14336#(and (<= ~CELLCOUNT~0 (+ main_~i~0 5)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 4))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14337#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 4)))} is VALID [2018-11-23 12:23:09,939 INFO L273 TraceCheckUtils]: 40: Hoare triple {14337#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~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; {14337#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 4)))} is VALID [2018-11-23 12:23:09,939 INFO L273 TraceCheckUtils]: 41: Hoare triple {14337#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 4)))} assume #t~short6; {14337#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 4)))} is VALID [2018-11-23 12:23:09,940 INFO L256 TraceCheckUtils]: 42: Hoare triple {14337#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 4)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14326#true} is VALID [2018-11-23 12:23:09,940 INFO L273 TraceCheckUtils]: 43: Hoare triple {14326#true} ~cond := #in~cond; {14326#true} is VALID [2018-11-23 12:23:09,940 INFO L273 TraceCheckUtils]: 44: Hoare triple {14326#true} assume !(0 == ~cond); {14326#true} is VALID [2018-11-23 12:23:09,940 INFO L273 TraceCheckUtils]: 45: Hoare triple {14326#true} assume true; {14326#true} is VALID [2018-11-23 12:23:09,941 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {14326#true} {14337#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 4)))} #81#return; {14337#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 4)))} is VALID [2018-11-23 12:23:09,942 INFO L273 TraceCheckUtils]: 47: Hoare triple {14337#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 4)))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {14337#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 4)))} is VALID [2018-11-23 12:23:09,943 INFO L273 TraceCheckUtils]: 48: Hoare triple {14337#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 4)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14338#(and (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))))} is VALID [2018-11-23 12:23:09,944 INFO L273 TraceCheckUtils]: 49: Hoare triple {14338#(and (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |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; {14338#(and (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))))} is VALID [2018-11-23 12:23:09,944 INFO L273 TraceCheckUtils]: 50: Hoare triple {14338#(and (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))))} assume #t~short6; {14338#(and (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))))} is VALID [2018-11-23 12:23:09,945 INFO L256 TraceCheckUtils]: 51: Hoare triple {14338#(and (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14326#true} is VALID [2018-11-23 12:23:09,945 INFO L273 TraceCheckUtils]: 52: Hoare triple {14326#true} ~cond := #in~cond; {14326#true} is VALID [2018-11-23 12:23:09,945 INFO L273 TraceCheckUtils]: 53: Hoare triple {14326#true} assume !(0 == ~cond); {14326#true} is VALID [2018-11-23 12:23:09,945 INFO L273 TraceCheckUtils]: 54: Hoare triple {14326#true} assume true; {14326#true} is VALID [2018-11-23 12:23:09,946 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {14326#true} {14338#(and (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))))} #81#return; {14338#(and (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))))} is VALID [2018-11-23 12:23:09,947 INFO L273 TraceCheckUtils]: 56: Hoare triple {14338#(and (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {14338#(and (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))))} is VALID [2018-11-23 12:23:09,947 INFO L273 TraceCheckUtils]: 57: Hoare triple {14338#(and (<= ~CELLCOUNT~0 (+ main_~i~0 3)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14339#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:23:09,948 INFO L273 TraceCheckUtils]: 58: Hoare triple {14339#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1))) (<= ~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; {14339#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:23:09,948 INFO L273 TraceCheckUtils]: 59: Hoare triple {14339#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} assume #t~short6; {14339#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:23:09,949 INFO L256 TraceCheckUtils]: 60: Hoare triple {14339#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14326#true} is VALID [2018-11-23 12:23:09,949 INFO L273 TraceCheckUtils]: 61: Hoare triple {14326#true} ~cond := #in~cond; {14326#true} is VALID [2018-11-23 12:23:09,949 INFO L273 TraceCheckUtils]: 62: Hoare triple {14326#true} assume !(0 == ~cond); {14326#true} is VALID [2018-11-23 12:23:09,949 INFO L273 TraceCheckUtils]: 63: Hoare triple {14326#true} assume true; {14326#true} is VALID [2018-11-23 12:23:09,950 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {14326#true} {14339#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} #81#return; {14339#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:23:09,951 INFO L273 TraceCheckUtils]: 65: Hoare triple {14339#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {14339#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:23:09,952 INFO L273 TraceCheckUtils]: 66: Hoare triple {14339#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 ~CELLCOUNT~0) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 1))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14340#(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:23:09,952 INFO L273 TraceCheckUtils]: 67: Hoare triple {14340#(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; {14341#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:23:09,953 INFO L273 TraceCheckUtils]: 68: Hoare triple {14341#(= 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; {14342#|main_#t~short6|} is VALID [2018-11-23 12:23:09,953 INFO L256 TraceCheckUtils]: 69: Hoare triple {14342#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14343#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-23 12:23:09,953 INFO L273 TraceCheckUtils]: 70: Hoare triple {14343#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {14344#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:23:09,954 INFO L273 TraceCheckUtils]: 71: Hoare triple {14344#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {14327#false} is VALID [2018-11-23 12:23:09,954 INFO L273 TraceCheckUtils]: 72: Hoare triple {14327#false} assume !false; {14327#false} is VALID [2018-11-23 12:23:09,969 INFO L134 CoverageAnalysis]: Checked inductivity of 130 backedges. 40 proven. 50 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-23 12:23:09,970 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:09,970 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:09,980 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:23:10,010 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:23:10,010 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:10,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:10,032 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:10,145 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:23:10,149 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:23:10,150 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:10,152 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:10,157 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:10,157 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 12:23:10,844 INFO L256 TraceCheckUtils]: 0: Hoare triple {14326#true} call ULTIMATE.init(); {14326#true} is VALID [2018-11-23 12:23:10,845 INFO L273 TraceCheckUtils]: 1: Hoare triple {14326#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {14326#true} is VALID [2018-11-23 12:23:10,845 INFO L273 TraceCheckUtils]: 2: Hoare triple {14326#true} assume true; {14326#true} is VALID [2018-11-23 12:23:10,845 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14326#true} {14326#true} #77#return; {14326#true} is VALID [2018-11-23 12:23:10,845 INFO L256 TraceCheckUtils]: 4: Hoare triple {14326#true} call #t~ret7 := main(); {14326#true} is VALID [2018-11-23 12:23:10,845 INFO L273 TraceCheckUtils]: 5: Hoare triple {14326#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {14326#true} is VALID [2018-11-23 12:23:10,846 INFO L273 TraceCheckUtils]: 6: Hoare triple {14326#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {14366#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:23:10,847 INFO L273 TraceCheckUtils]: 7: Hoare triple {14366#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {14370#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:10,847 INFO L273 TraceCheckUtils]: 8: Hoare triple {14370#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {14370#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:10,848 INFO L273 TraceCheckUtils]: 9: Hoare triple {14370#(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 * (2 * ~i~0 - 2), 4); {14370#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:10,848 INFO L273 TraceCheckUtils]: 10: Hoare triple {14370#(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 * (2 * ~i~0 - 1), 4); {14370#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:10,848 INFO L273 TraceCheckUtils]: 11: Hoare triple {14370#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {14383#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:10,849 INFO L273 TraceCheckUtils]: 12: Hoare triple {14383#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {14383#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:10,850 INFO L273 TraceCheckUtils]: 13: Hoare triple {14383#(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 * (2 * ~i~0 - 2), 4); {14383#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:10,850 INFO L273 TraceCheckUtils]: 14: Hoare triple {14383#(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 * (2 * ~i~0 - 1), 4); {14383#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:10,851 INFO L273 TraceCheckUtils]: 15: Hoare triple {14383#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {14396#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:10,852 INFO L273 TraceCheckUtils]: 16: Hoare triple {14396#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {14396#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:10,853 INFO L273 TraceCheckUtils]: 17: Hoare triple {14396#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {14396#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:10,854 INFO L273 TraceCheckUtils]: 18: Hoare triple {14396#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {14406#(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:23:10,854 INFO L273 TraceCheckUtils]: 19: Hoare triple {14406#(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; {14406#(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:23:10,855 INFO L273 TraceCheckUtils]: 20: Hoare triple {14406#(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 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {14406#(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:23:10,856 INFO L273 TraceCheckUtils]: 21: Hoare triple {14406#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} ~i~0 := 0; {14416#(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:23:10,857 INFO L273 TraceCheckUtils]: 22: Hoare triple {14416#(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; {14416#(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:23:10,857 INFO L273 TraceCheckUtils]: 23: Hoare triple {14416#(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; {14416#(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:23:10,859 INFO L256 TraceCheckUtils]: 24: Hoare triple {14416#(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)); {14426#(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:23:10,859 INFO L273 TraceCheckUtils]: 25: Hoare triple {14426#(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; {14426#(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:23:10,860 INFO L273 TraceCheckUtils]: 26: Hoare triple {14426#(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); {14426#(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:23:10,860 INFO L273 TraceCheckUtils]: 27: Hoare triple {14426#(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; {14426#(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:23:10,861 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {14426#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} {14416#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} #81#return; {14416#(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:23:10,862 INFO L273 TraceCheckUtils]: 29: Hoare triple {14416#(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; {14416#(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:23:10,862 INFO L273 TraceCheckUtils]: 30: Hoare triple {14416#(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; {14445#(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:23:10,863 INFO L273 TraceCheckUtils]: 31: Hoare triple {14445#(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; {14445#(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:23:10,864 INFO L273 TraceCheckUtils]: 32: Hoare triple {14445#(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; {14445#(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:23:10,865 INFO L256 TraceCheckUtils]: 33: Hoare triple {14445#(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)); {14426#(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:23:10,866 INFO L273 TraceCheckUtils]: 34: Hoare triple {14426#(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; {14426#(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:23:10,866 INFO L273 TraceCheckUtils]: 35: Hoare triple {14426#(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); {14426#(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:23:10,867 INFO L273 TraceCheckUtils]: 36: Hoare triple {14426#(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; {14426#(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:23:10,868 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {14426#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} {14445#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #81#return; {14445#(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:23:10,868 INFO L273 TraceCheckUtils]: 38: Hoare triple {14445#(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; {14445#(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:23:10,869 INFO L273 TraceCheckUtils]: 39: Hoare triple {14445#(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; {14473#(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:23:10,870 INFO L273 TraceCheckUtils]: 40: Hoare triple {14473#(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; {14473#(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:23:10,871 INFO L273 TraceCheckUtils]: 41: Hoare triple {14473#(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; {14473#(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:23:10,872 INFO L256 TraceCheckUtils]: 42: Hoare triple {14473#(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)); {14426#(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:23:10,872 INFO L273 TraceCheckUtils]: 43: Hoare triple {14426#(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; {14426#(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:23:10,873 INFO L273 TraceCheckUtils]: 44: Hoare triple {14426#(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); {14426#(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:23:10,873 INFO L273 TraceCheckUtils]: 45: Hoare triple {14426#(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; {14426#(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:23:10,874 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {14426#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} {14473#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #81#return; {14473#(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:23:10,875 INFO L273 TraceCheckUtils]: 47: Hoare triple {14473#(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; {14473#(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:23:10,876 INFO L273 TraceCheckUtils]: 48: Hoare triple {14473#(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; {14501#(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:23:10,877 INFO L273 TraceCheckUtils]: 49: Hoare triple {14501#(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; {14501#(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:23:10,877 INFO L273 TraceCheckUtils]: 50: Hoare triple {14501#(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; {14501#(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:23:10,879 INFO L256 TraceCheckUtils]: 51: Hoare triple {14501#(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)); {14426#(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:23:10,879 INFO L273 TraceCheckUtils]: 52: Hoare triple {14426#(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; {14426#(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:23:10,880 INFO L273 TraceCheckUtils]: 53: Hoare triple {14426#(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); {14426#(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:23:10,880 INFO L273 TraceCheckUtils]: 54: Hoare triple {14426#(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; {14426#(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:23:10,881 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {14426#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} {14501#(and (= main_~i~0 3) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #81#return; {14501#(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:23:10,882 INFO L273 TraceCheckUtils]: 56: Hoare triple {14501#(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; {14501#(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:23:10,882 INFO L273 TraceCheckUtils]: 57: Hoare triple {14501#(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; {14529#(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:23:10,883 INFO L273 TraceCheckUtils]: 58: Hoare triple {14529#(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; {14529#(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:23:10,884 INFO L273 TraceCheckUtils]: 59: Hoare triple {14529#(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; {14529#(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:23:10,885 INFO L256 TraceCheckUtils]: 60: Hoare triple {14529#(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)); {14426#(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:23:10,886 INFO L273 TraceCheckUtils]: 61: Hoare triple {14426#(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; {14426#(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:23:10,886 INFO L273 TraceCheckUtils]: 62: Hoare triple {14426#(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); {14426#(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:23:10,887 INFO L273 TraceCheckUtils]: 63: Hoare triple {14426#(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; {14426#(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:23:10,888 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {14426#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_21| Int)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_21|) 20)))} {14529#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 4))} #81#return; {14529#(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:23:10,888 INFO L273 TraceCheckUtils]: 65: Hoare triple {14529#(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; {14529#(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:23:10,889 INFO L273 TraceCheckUtils]: 66: Hoare triple {14529#(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; {14557#(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:23:10,890 INFO L273 TraceCheckUtils]: 67: Hoare triple {14557#(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; {14557#(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:23:10,891 INFO L273 TraceCheckUtils]: 68: Hoare triple {14557#(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; {14342#|main_#t~short6|} is VALID [2018-11-23 12:23:10,892 INFO L256 TraceCheckUtils]: 69: Hoare triple {14342#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14567#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:23:10,892 INFO L273 TraceCheckUtils]: 70: Hoare triple {14567#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {14571#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:23:10,893 INFO L273 TraceCheckUtils]: 71: Hoare triple {14571#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14327#false} is VALID [2018-11-23 12:23:10,893 INFO L273 TraceCheckUtils]: 72: Hoare triple {14327#false} assume !false; {14327#false} is VALID [2018-11-23 12:23:10,906 INFO L134 CoverageAnalysis]: Checked inductivity of 130 backedges. 0 proven. 90 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-23 12:23:10,924 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:10,924 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 17] total 33 [2018-11-23 12:23:10,925 INFO L78 Accepts]: Start accepts. Automaton has 33 states. Word has length 73 [2018-11-23 12:23:10,925 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:10,925 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states. [2018-11-23 12:23:11,055 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:11,055 INFO L459 AbstractCegarLoop]: Interpolant automaton has 33 states [2018-11-23 12:23:11,056 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2018-11-23 12:23:11,056 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=114, Invalid=942, Unknown=0, NotChecked=0, Total=1056 [2018-11-23 12:23:11,057 INFO L87 Difference]: Start difference. First operand 300 states and 348 transitions. Second operand 33 states. [2018-11-23 12:23:22,360 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:22,361 INFO L93 Difference]: Finished difference Result 361 states and 417 transitions. [2018-11-23 12:23:22,361 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 53 states. [2018-11-23 12:23:22,361 INFO L78 Accepts]: Start accepts. Automaton has 33 states. Word has length 73 [2018-11-23 12:23:22,361 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:22,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 12:23:22,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 207 transitions. [2018-11-23 12:23:22,363 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 12:23:22,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 207 transitions. [2018-11-23 12:23:22,365 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 53 states and 207 transitions. [2018-11-23 12:23:22,655 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 207 edges. 207 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:22,662 INFO L225 Difference]: With dead ends: 361 [2018-11-23 12:23:22,662 INFO L226 Difference]: Without dead ends: 301 [2018-11-23 12:23:22,665 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 53 SyntacticMatches, 9 SemanticMatches, 81 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2188 ImplicationChecksByTransitivity, 3.1s TimeCoverageRelationStatistics Valid=812, Invalid=5994, Unknown=0, NotChecked=0, Total=6806 [2018-11-23 12:23:22,665 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 301 states. [2018-11-23 12:23:24,412 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 301 to 267. [2018-11-23 12:23:24,412 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:24,412 INFO L82 GeneralOperation]: Start isEquivalent. First operand 301 states. Second operand 267 states. [2018-11-23 12:23:24,412 INFO L74 IsIncluded]: Start isIncluded. First operand 301 states. Second operand 267 states. [2018-11-23 12:23:24,413 INFO L87 Difference]: Start difference. First operand 301 states. Second operand 267 states. [2018-11-23 12:23:24,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:24,419 INFO L93 Difference]: Finished difference Result 301 states and 344 transitions. [2018-11-23 12:23:24,419 INFO L276 IsEmpty]: Start isEmpty. Operand 301 states and 344 transitions. [2018-11-23 12:23:24,419 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:24,419 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:24,419 INFO L74 IsIncluded]: Start isIncluded. First operand 267 states. Second operand 301 states. [2018-11-23 12:23:24,420 INFO L87 Difference]: Start difference. First operand 267 states. Second operand 301 states. [2018-11-23 12:23:24,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:24,426 INFO L93 Difference]: Finished difference Result 301 states and 344 transitions. [2018-11-23 12:23:24,426 INFO L276 IsEmpty]: Start isEmpty. Operand 301 states and 344 transitions. [2018-11-23 12:23:24,427 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:24,427 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:24,428 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:24,428 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:24,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 267 states. [2018-11-23 12:23:24,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 267 states to 267 states and 307 transitions. [2018-11-23 12:23:24,434 INFO L78 Accepts]: Start accepts. Automaton has 267 states and 307 transitions. Word has length 73 [2018-11-23 12:23:24,435 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:24,435 INFO L480 AbstractCegarLoop]: Abstraction has 267 states and 307 transitions. [2018-11-23 12:23:24,435 INFO L481 AbstractCegarLoop]: Interpolant automaton has 33 states. [2018-11-23 12:23:24,435 INFO L276 IsEmpty]: Start isEmpty. Operand 267 states and 307 transitions. [2018-11-23 12:23:24,436 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2018-11-23 12:23:24,436 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:24,436 INFO L402 BasicCegarLoop]: trace histogram [7, 7, 7, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:24,437 INFO L423 AbstractCegarLoop]: === Iteration 20 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:24,437 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:24,437 INFO L82 PathProgramCache]: Analyzing trace with hash -134857892, now seen corresponding path program 6 times [2018-11-23 12:23:24,437 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:24,437 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:24,438 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:24,438 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:24,438 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:24,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:24,768 INFO L256 TraceCheckUtils]: 0: Hoare triple {16129#true} call ULTIMATE.init(); {16129#true} is VALID [2018-11-23 12:23:24,768 INFO L273 TraceCheckUtils]: 1: Hoare triple {16129#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {16129#true} is VALID [2018-11-23 12:23:24,768 INFO L273 TraceCheckUtils]: 2: Hoare triple {16129#true} assume true; {16129#true} is VALID [2018-11-23 12:23:24,768 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {16129#true} {16129#true} #77#return; {16129#true} is VALID [2018-11-23 12:23:24,768 INFO L256 TraceCheckUtils]: 4: Hoare triple {16129#true} call #t~ret7 := main(); {16129#true} is VALID [2018-11-23 12:23:24,769 INFO L273 TraceCheckUtils]: 5: Hoare triple {16129#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {16129#true} is VALID [2018-11-23 12:23:24,769 INFO L273 TraceCheckUtils]: 6: Hoare triple {16129#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {16131#(or (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:24,770 INFO L273 TraceCheckUtils]: 7: Hoare triple {16131#(or (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= 2 ~CELLCOUNT~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {16132#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:23:24,770 INFO L273 TraceCheckUtils]: 8: Hoare triple {16132#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {16132#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:23:24,790 INFO L273 TraceCheckUtils]: 9: Hoare triple {16132#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {16132#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:23:24,790 INFO L273 TraceCheckUtils]: 10: Hoare triple {16132#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {16132#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} is VALID [2018-11-23 12:23:24,791 INFO L273 TraceCheckUtils]: 11: Hoare triple {16132#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16133#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:24,791 INFO L273 TraceCheckUtils]: 12: Hoare triple {16133#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {16133#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:24,792 INFO L273 TraceCheckUtils]: 13: Hoare triple {16133#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {16133#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:24,792 INFO L273 TraceCheckUtils]: 14: Hoare triple {16133#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {16133#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} is VALID [2018-11-23 12:23:24,793 INFO L273 TraceCheckUtils]: 15: Hoare triple {16133#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16134#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3))} is VALID [2018-11-23 12:23:24,793 INFO L273 TraceCheckUtils]: 16: Hoare triple {16134#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {16134#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3))} is VALID [2018-11-23 12:23:24,794 INFO L273 TraceCheckUtils]: 17: Hoare triple {16134#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {16134#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3))} is VALID [2018-11-23 12:23:24,794 INFO L273 TraceCheckUtils]: 18: Hoare triple {16134#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {16134#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3))} is VALID [2018-11-23 12:23:24,795 INFO L273 TraceCheckUtils]: 19: Hoare triple {16134#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 3))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16135#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 4))} is VALID [2018-11-23 12:23:24,796 INFO L273 TraceCheckUtils]: 20: Hoare triple {16135#(and (= ~CELLCOUNT~0 (* 2 (div ~CELLCOUNT~0 2))) (<= main_~i~0 4))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {16136#(<= ~CELLCOUNT~0 6)} is VALID [2018-11-23 12:23:24,797 INFO L273 TraceCheckUtils]: 21: Hoare triple {16136#(<= ~CELLCOUNT~0 6)} ~i~0 := 0; {16137#(and (<= ~CELLCOUNT~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:23:24,798 INFO L273 TraceCheckUtils]: 22: Hoare triple {16137#(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; {16137#(and (<= ~CELLCOUNT~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:23:24,798 INFO L273 TraceCheckUtils]: 23: Hoare triple {16137#(and (<= ~CELLCOUNT~0 6) (= main_~i~0 0))} assume #t~short6; {16137#(and (<= ~CELLCOUNT~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:23:24,799 INFO L256 TraceCheckUtils]: 24: Hoare triple {16137#(and (<= ~CELLCOUNT~0 6) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16129#true} is VALID [2018-11-23 12:23:24,799 INFO L273 TraceCheckUtils]: 25: Hoare triple {16129#true} ~cond := #in~cond; {16129#true} is VALID [2018-11-23 12:23:24,799 INFO L273 TraceCheckUtils]: 26: Hoare triple {16129#true} assume !(0 == ~cond); {16129#true} is VALID [2018-11-23 12:23:24,799 INFO L273 TraceCheckUtils]: 27: Hoare triple {16129#true} assume true; {16129#true} is VALID [2018-11-23 12:23:24,800 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {16129#true} {16137#(and (<= ~CELLCOUNT~0 6) (= main_~i~0 0))} #81#return; {16137#(and (<= ~CELLCOUNT~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:23:24,800 INFO L273 TraceCheckUtils]: 29: Hoare triple {16137#(and (<= ~CELLCOUNT~0 6) (= main_~i~0 0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {16137#(and (<= ~CELLCOUNT~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:23:24,801 INFO L273 TraceCheckUtils]: 30: Hoare triple {16137#(and (<= ~CELLCOUNT~0 6) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {16138#(<= ~CELLCOUNT~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:24,802 INFO L273 TraceCheckUtils]: 31: Hoare triple {16138#(<= ~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; {16138#(<= ~CELLCOUNT~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:24,802 INFO L273 TraceCheckUtils]: 32: Hoare triple {16138#(<= ~CELLCOUNT~0 (+ main_~i~0 5))} assume #t~short6; {16138#(<= ~CELLCOUNT~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:24,802 INFO L256 TraceCheckUtils]: 33: Hoare triple {16138#(<= ~CELLCOUNT~0 (+ main_~i~0 5))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16129#true} is VALID [2018-11-23 12:23:24,803 INFO L273 TraceCheckUtils]: 34: Hoare triple {16129#true} ~cond := #in~cond; {16129#true} is VALID [2018-11-23 12:23:24,803 INFO L273 TraceCheckUtils]: 35: Hoare triple {16129#true} assume !(0 == ~cond); {16129#true} is VALID [2018-11-23 12:23:24,803 INFO L273 TraceCheckUtils]: 36: Hoare triple {16129#true} assume true; {16129#true} is VALID [2018-11-23 12:23:24,804 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {16129#true} {16138#(<= ~CELLCOUNT~0 (+ main_~i~0 5))} #81#return; {16138#(<= ~CELLCOUNT~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:24,804 INFO L273 TraceCheckUtils]: 38: Hoare triple {16138#(<= ~CELLCOUNT~0 (+ main_~i~0 5))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {16138#(<= ~CELLCOUNT~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:24,805 INFO L273 TraceCheckUtils]: 39: Hoare triple {16138#(<= ~CELLCOUNT~0 (+ main_~i~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {16139#(<= ~CELLCOUNT~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:24,805 INFO L273 TraceCheckUtils]: 40: Hoare triple {16139#(<= ~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; {16139#(<= ~CELLCOUNT~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:24,806 INFO L273 TraceCheckUtils]: 41: Hoare triple {16139#(<= ~CELLCOUNT~0 (+ main_~i~0 4))} assume #t~short6; {16139#(<= ~CELLCOUNT~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:24,806 INFO L256 TraceCheckUtils]: 42: Hoare triple {16139#(<= ~CELLCOUNT~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16129#true} is VALID [2018-11-23 12:23:24,806 INFO L273 TraceCheckUtils]: 43: Hoare triple {16129#true} ~cond := #in~cond; {16129#true} is VALID [2018-11-23 12:23:24,806 INFO L273 TraceCheckUtils]: 44: Hoare triple {16129#true} assume !(0 == ~cond); {16129#true} is VALID [2018-11-23 12:23:24,807 INFO L273 TraceCheckUtils]: 45: Hoare triple {16129#true} assume true; {16129#true} is VALID [2018-11-23 12:23:24,807 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {16129#true} {16139#(<= ~CELLCOUNT~0 (+ main_~i~0 4))} #81#return; {16139#(<= ~CELLCOUNT~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:24,808 INFO L273 TraceCheckUtils]: 47: Hoare triple {16139#(<= ~CELLCOUNT~0 (+ main_~i~0 4))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {16139#(<= ~CELLCOUNT~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:24,808 INFO L273 TraceCheckUtils]: 48: Hoare triple {16139#(<= ~CELLCOUNT~0 (+ main_~i~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {16140#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:24,809 INFO L273 TraceCheckUtils]: 49: Hoare triple {16140#(<= ~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; {16140#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:24,809 INFO L273 TraceCheckUtils]: 50: Hoare triple {16140#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} assume #t~short6; {16140#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:24,809 INFO L256 TraceCheckUtils]: 51: Hoare triple {16140#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16129#true} is VALID [2018-11-23 12:23:24,809 INFO L273 TraceCheckUtils]: 52: Hoare triple {16129#true} ~cond := #in~cond; {16129#true} is VALID [2018-11-23 12:23:24,809 INFO L273 TraceCheckUtils]: 53: Hoare triple {16129#true} assume !(0 == ~cond); {16129#true} is VALID [2018-11-23 12:23:24,809 INFO L273 TraceCheckUtils]: 54: Hoare triple {16129#true} assume true; {16129#true} is VALID [2018-11-23 12:23:24,810 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {16129#true} {16140#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} #81#return; {16140#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:24,810 INFO L273 TraceCheckUtils]: 56: Hoare triple {16140#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {16140#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:24,811 INFO L273 TraceCheckUtils]: 57: Hoare triple {16140#(<= ~CELLCOUNT~0 (+ main_~i~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {16141#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:24,812 INFO L273 TraceCheckUtils]: 58: Hoare triple {16141#(<= ~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; {16141#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:24,812 INFO L273 TraceCheckUtils]: 59: Hoare triple {16141#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} assume #t~short6; {16141#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:24,812 INFO L256 TraceCheckUtils]: 60: Hoare triple {16141#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16129#true} is VALID [2018-11-23 12:23:24,812 INFO L273 TraceCheckUtils]: 61: Hoare triple {16129#true} ~cond := #in~cond; {16129#true} is VALID [2018-11-23 12:23:24,813 INFO L273 TraceCheckUtils]: 62: Hoare triple {16129#true} assume !(0 == ~cond); {16129#true} is VALID [2018-11-23 12:23:24,813 INFO L273 TraceCheckUtils]: 63: Hoare triple {16129#true} assume true; {16129#true} is VALID [2018-11-23 12:23:24,813 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {16129#true} {16141#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} #81#return; {16141#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:24,814 INFO L273 TraceCheckUtils]: 65: Hoare triple {16141#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {16141#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:24,815 INFO L273 TraceCheckUtils]: 66: Hoare triple {16141#(<= ~CELLCOUNT~0 (+ main_~i~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {16142#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:24,815 INFO L273 TraceCheckUtils]: 67: Hoare triple {16142#(<= ~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; {16142#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:24,816 INFO L273 TraceCheckUtils]: 68: Hoare triple {16142#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} assume #t~short6; {16142#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:24,816 INFO L256 TraceCheckUtils]: 69: Hoare triple {16142#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16129#true} is VALID [2018-11-23 12:23:24,816 INFO L273 TraceCheckUtils]: 70: Hoare triple {16129#true} ~cond := #in~cond; {16129#true} is VALID [2018-11-23 12:23:24,816 INFO L273 TraceCheckUtils]: 71: Hoare triple {16129#true} assume !(0 == ~cond); {16129#true} is VALID [2018-11-23 12:23:24,816 INFO L273 TraceCheckUtils]: 72: Hoare triple {16129#true} assume true; {16129#true} is VALID [2018-11-23 12:23:24,817 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {16129#true} {16142#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} #81#return; {16142#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:24,818 INFO L273 TraceCheckUtils]: 74: Hoare triple {16142#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {16142#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:24,819 INFO L273 TraceCheckUtils]: 75: Hoare triple {16142#(<= ~CELLCOUNT~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {16143#(<= ~CELLCOUNT~0 main_~i~0)} is VALID [2018-11-23 12:23:24,819 INFO L273 TraceCheckUtils]: 76: Hoare triple {16143#(<= ~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; {16130#false} is VALID [2018-11-23 12:23:24,819 INFO L273 TraceCheckUtils]: 77: Hoare triple {16130#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {16130#false} is VALID [2018-11-23 12:23:24,820 INFO L256 TraceCheckUtils]: 78: Hoare triple {16130#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16130#false} is VALID [2018-11-23 12:23:24,820 INFO L273 TraceCheckUtils]: 79: Hoare triple {16130#false} ~cond := #in~cond; {16130#false} is VALID [2018-11-23 12:23:24,820 INFO L273 TraceCheckUtils]: 80: Hoare triple {16130#false} assume 0 == ~cond; {16130#false} is VALID [2018-11-23 12:23:24,820 INFO L273 TraceCheckUtils]: 81: Hoare triple {16130#false} assume !false; {16130#false} is VALID [2018-11-23 12:23:24,828 INFO L134 CoverageAnalysis]: Checked inductivity of 180 backedges. 79 proven. 41 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2018-11-23 12:23:24,828 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:24,828 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:24,837 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:23:24,885 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2018-11-23 12:23:24,885 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:24,902 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:24,903 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:25,599 INFO L256 TraceCheckUtils]: 0: Hoare triple {16129#true} call ULTIMATE.init(); {16129#true} is VALID [2018-11-23 12:23:25,600 INFO L273 TraceCheckUtils]: 1: Hoare triple {16129#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {16129#true} is VALID [2018-11-23 12:23:25,600 INFO L273 TraceCheckUtils]: 2: Hoare triple {16129#true} assume true; {16129#true} is VALID [2018-11-23 12:23:25,600 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {16129#true} {16129#true} #77#return; {16129#true} is VALID [2018-11-23 12:23:25,600 INFO L256 TraceCheckUtils]: 4: Hoare triple {16129#true} call #t~ret7 := main(); {16129#true} is VALID [2018-11-23 12:23:25,600 INFO L273 TraceCheckUtils]: 5: Hoare triple {16129#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {16129#true} is VALID [2018-11-23 12:23:25,601 INFO L273 TraceCheckUtils]: 6: Hoare triple {16129#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {16165#(< 1 ~CELLCOUNT~0)} is VALID [2018-11-23 12:23:25,601 INFO L273 TraceCheckUtils]: 7: Hoare triple {16165#(< 1 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {16169#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,602 INFO L273 TraceCheckUtils]: 8: Hoare triple {16169#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {16169#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,602 INFO L273 TraceCheckUtils]: 9: Hoare triple {16169#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {16169#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,603 INFO L273 TraceCheckUtils]: 10: Hoare triple {16169#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {16169#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,603 INFO L273 TraceCheckUtils]: 11: Hoare triple {16169#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 1) (< 1 ~CELLCOUNT~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16182#(and (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,604 INFO L273 TraceCheckUtils]: 12: Hoare triple {16182#(and (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {16182#(and (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,605 INFO L273 TraceCheckUtils]: 13: Hoare triple {16182#(and (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {16182#(and (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,605 INFO L273 TraceCheckUtils]: 14: Hoare triple {16182#(and (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {16182#(and (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,606 INFO L273 TraceCheckUtils]: 15: Hoare triple {16182#(and (<= main_~i~0 2) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16195#(and (<= main_~i~0 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,607 INFO L273 TraceCheckUtils]: 16: Hoare triple {16195#(and (<= main_~i~0 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {16195#(and (<= main_~i~0 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,608 INFO L273 TraceCheckUtils]: 17: Hoare triple {16195#(and (<= main_~i~0 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {16195#(and (<= main_~i~0 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,609 INFO L273 TraceCheckUtils]: 18: Hoare triple {16195#(and (<= main_~i~0 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {16195#(and (<= main_~i~0 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,609 INFO L273 TraceCheckUtils]: 19: Hoare triple {16195#(and (<= main_~i~0 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16208#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 4) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,611 INFO L273 TraceCheckUtils]: 20: Hoare triple {16208#(and (= (mod ~CELLCOUNT~0 2) 0) (<= main_~i~0 4) (< 1 ~CELLCOUNT~0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,611 INFO L273 TraceCheckUtils]: 21: Hoare triple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} ~i~0 := 0; {16216#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,612 INFO L273 TraceCheckUtils]: 22: Hoare triple {16216#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~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; {16216#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,613 INFO L273 TraceCheckUtils]: 23: Hoare triple {16216#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume #t~short6; {16216#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,614 INFO L256 TraceCheckUtils]: 24: Hoare triple {16216#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,614 INFO L273 TraceCheckUtils]: 25: Hoare triple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} ~cond := #in~cond; {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,615 INFO L273 TraceCheckUtils]: 26: Hoare triple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume !(0 == ~cond); {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,616 INFO L273 TraceCheckUtils]: 27: Hoare triple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume true; {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,616 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} {16216#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} #81#return; {16216#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,617 INFO L273 TraceCheckUtils]: 29: Hoare triple {16216#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {16216#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,618 INFO L273 TraceCheckUtils]: 30: Hoare triple {16216#(and (<= 0 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {16244#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,619 INFO L273 TraceCheckUtils]: 31: Hoare triple {16244#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~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; {16244#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,619 INFO L273 TraceCheckUtils]: 32: Hoare triple {16244#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume #t~short6; {16244#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,620 INFO L256 TraceCheckUtils]: 33: Hoare triple {16244#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,621 INFO L273 TraceCheckUtils]: 34: Hoare triple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} ~cond := #in~cond; {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,622 INFO L273 TraceCheckUtils]: 35: Hoare triple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume !(0 == ~cond); {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,622 INFO L273 TraceCheckUtils]: 36: Hoare triple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume true; {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,623 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} {16244#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} #81#return; {16244#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,624 INFO L273 TraceCheckUtils]: 38: Hoare triple {16244#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {16244#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,625 INFO L273 TraceCheckUtils]: 39: Hoare triple {16244#(and (<= 1 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {16272#(and (<= 2 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,625 INFO L273 TraceCheckUtils]: 40: Hoare triple {16272#(and (<= 2 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~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; {16272#(and (<= 2 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,626 INFO L273 TraceCheckUtils]: 41: Hoare triple {16272#(and (<= 2 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume #t~short6; {16272#(and (<= 2 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,627 INFO L256 TraceCheckUtils]: 42: Hoare triple {16272#(and (<= 2 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,628 INFO L273 TraceCheckUtils]: 43: Hoare triple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} ~cond := #in~cond; {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,628 INFO L273 TraceCheckUtils]: 44: Hoare triple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume !(0 == ~cond); {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,629 INFO L273 TraceCheckUtils]: 45: Hoare triple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume true; {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,630 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} {16272#(and (<= 2 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} #81#return; {16272#(and (<= 2 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,630 INFO L273 TraceCheckUtils]: 47: Hoare triple {16272#(and (<= 2 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {16272#(and (<= 2 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,631 INFO L273 TraceCheckUtils]: 48: Hoare triple {16272#(and (<= 2 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {16300#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,632 INFO L273 TraceCheckUtils]: 49: Hoare triple {16300#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~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; {16300#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,633 INFO L273 TraceCheckUtils]: 50: Hoare triple {16300#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~0))} assume #t~short6; {16300#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,634 INFO L256 TraceCheckUtils]: 51: Hoare triple {16300#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,634 INFO L273 TraceCheckUtils]: 52: Hoare triple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} ~cond := #in~cond; {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,635 INFO L273 TraceCheckUtils]: 53: Hoare triple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume !(0 == ~cond); {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,636 INFO L273 TraceCheckUtils]: 54: Hoare triple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume true; {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,636 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} {16300#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~0))} #81#return; {16300#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,637 INFO L273 TraceCheckUtils]: 56: Hoare triple {16300#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {16300#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,638 INFO L273 TraceCheckUtils]: 57: Hoare triple {16300#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (<= 3 main_~i~0) (< 1 ~CELLCOUNT~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {16328#(and (<= 4 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,639 INFO L273 TraceCheckUtils]: 58: Hoare triple {16328#(and (<= 4 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~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; {16328#(and (<= 4 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,640 INFO L273 TraceCheckUtils]: 59: Hoare triple {16328#(and (<= 4 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume #t~short6; {16328#(and (<= 4 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,640 INFO L256 TraceCheckUtils]: 60: Hoare triple {16328#(and (<= 4 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,641 INFO L273 TraceCheckUtils]: 61: Hoare triple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} ~cond := #in~cond; {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,642 INFO L273 TraceCheckUtils]: 62: Hoare triple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume !(0 == ~cond); {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,642 INFO L273 TraceCheckUtils]: 63: Hoare triple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume true; {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,643 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} {16328#(and (<= 4 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} #81#return; {16328#(and (<= 4 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,644 INFO L273 TraceCheckUtils]: 65: Hoare triple {16328#(and (<= 4 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {16328#(and (<= 4 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,645 INFO L273 TraceCheckUtils]: 66: Hoare triple {16328#(and (<= 4 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {16356#(and (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,646 INFO L273 TraceCheckUtils]: 67: Hoare triple {16356#(and (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~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; {16356#(and (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,646 INFO L273 TraceCheckUtils]: 68: Hoare triple {16356#(and (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume #t~short6; {16356#(and (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,647 INFO L256 TraceCheckUtils]: 69: Hoare triple {16356#(and (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,648 INFO L273 TraceCheckUtils]: 70: Hoare triple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} ~cond := #in~cond; {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,648 INFO L273 TraceCheckUtils]: 71: Hoare triple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume !(0 == ~cond); {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,649 INFO L273 TraceCheckUtils]: 72: Hoare triple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} assume true; {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,650 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {16212#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} {16356#(and (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} #81#return; {16356#(and (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,650 INFO L273 TraceCheckUtils]: 74: Hoare triple {16356#(and (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {16356#(and (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,651 INFO L273 TraceCheckUtils]: 75: Hoare triple {16356#(and (<= 5 main_~i~0) (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (< 1 ~CELLCOUNT~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {16384#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (<= 6 main_~i~0) (< 1 ~CELLCOUNT~0))} is VALID [2018-11-23 12:23:25,652 INFO L273 TraceCheckUtils]: 76: Hoare triple {16384#(and (<= (div ~CELLCOUNT~0 2) 3) (= (mod ~CELLCOUNT~0 2) 0) (<= 6 main_~i~0) (< 1 ~CELLCOUNT~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; {16130#false} is VALID [2018-11-23 12:23:25,653 INFO L273 TraceCheckUtils]: 77: Hoare triple {16130#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {16130#false} is VALID [2018-11-23 12:23:25,653 INFO L256 TraceCheckUtils]: 78: Hoare triple {16130#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16130#false} is VALID [2018-11-23 12:23:25,653 INFO L273 TraceCheckUtils]: 79: Hoare triple {16130#false} ~cond := #in~cond; {16130#false} is VALID [2018-11-23 12:23:25,653 INFO L273 TraceCheckUtils]: 80: Hoare triple {16130#false} assume 0 == ~cond; {16130#false} is VALID [2018-11-23 12:23:25,653 INFO L273 TraceCheckUtils]: 81: Hoare triple {16130#false} assume !false; {16130#false} is VALID [2018-11-23 12:23:25,671 INFO L134 CoverageAnalysis]: Checked inductivity of 180 backedges. 105 proven. 15 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2018-11-23 12:23:25,689 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:25,689 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 28 [2018-11-23 12:23:25,690 INFO L78 Accepts]: Start accepts. Automaton has 28 states. Word has length 82 [2018-11-23 12:23:25,690 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:25,690 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 28 states. [2018-11-23 12:23:25,841 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:25,842 INFO L459 AbstractCegarLoop]: Interpolant automaton has 28 states [2018-11-23 12:23:25,842 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2018-11-23 12:23:25,842 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=176, Invalid=580, Unknown=0, NotChecked=0, Total=756 [2018-11-23 12:23:25,843 INFO L87 Difference]: Start difference. First operand 267 states and 307 transitions. Second operand 28 states. [2018-11-23 12:23:30,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:30,220 INFO L93 Difference]: Finished difference Result 325 states and 371 transitions. [2018-11-23 12:23:30,220 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 12:23:30,220 INFO L78 Accepts]: Start accepts. Automaton has 28 states. Word has length 82 [2018-11-23 12:23:30,220 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:30,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-23 12:23:30,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 106 transitions. [2018-11-23 12:23:30,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-23 12:23:30,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 106 transitions. [2018-11-23 12:23:30,222 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 106 transitions. [2018-11-23 12:23:30,377 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:30,383 INFO L225 Difference]: With dead ends: 325 [2018-11-23 12:23:30,383 INFO L226 Difference]: Without dead ends: 273 [2018-11-23 12:23:30,384 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 70 SyntacticMatches, 0 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 322 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=306, Invalid=954, Unknown=0, NotChecked=0, Total=1260 [2018-11-23 12:23:30,384 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 273 states. [2018-11-23 12:23:32,689 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 273 to 267. [2018-11-23 12:23:32,689 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:32,689 INFO L82 GeneralOperation]: Start isEquivalent. First operand 273 states. Second operand 267 states. [2018-11-23 12:23:32,690 INFO L74 IsIncluded]: Start isIncluded. First operand 273 states. Second operand 267 states. [2018-11-23 12:23:32,690 INFO L87 Difference]: Start difference. First operand 273 states. Second operand 267 states. [2018-11-23 12:23:32,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:32,695 INFO L93 Difference]: Finished difference Result 273 states and 312 transitions. [2018-11-23 12:23:32,695 INFO L276 IsEmpty]: Start isEmpty. Operand 273 states and 312 transitions. [2018-11-23 12:23:32,695 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:32,696 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:32,696 INFO L74 IsIncluded]: Start isIncluded. First operand 267 states. Second operand 273 states. [2018-11-23 12:23:32,696 INFO L87 Difference]: Start difference. First operand 267 states. Second operand 273 states. [2018-11-23 12:23:32,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:32,702 INFO L93 Difference]: Finished difference Result 273 states and 312 transitions. [2018-11-23 12:23:32,703 INFO L276 IsEmpty]: Start isEmpty. Operand 273 states and 312 transitions. [2018-11-23 12:23:32,703 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:32,703 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:32,703 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:32,704 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:32,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 267 states. [2018-11-23 12:23:32,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 267 states to 267 states and 306 transitions. [2018-11-23 12:23:32,710 INFO L78 Accepts]: Start accepts. Automaton has 267 states and 306 transitions. Word has length 82 [2018-11-23 12:23:32,710 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:32,710 INFO L480 AbstractCegarLoop]: Abstraction has 267 states and 306 transitions. [2018-11-23 12:23:32,710 INFO L481 AbstractCegarLoop]: Interpolant automaton has 28 states. [2018-11-23 12:23:32,711 INFO L276 IsEmpty]: Start isEmpty. Operand 267 states and 306 transitions. [2018-11-23 12:23:32,712 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2018-11-23 12:23:32,712 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:32,712 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:32,712 INFO L423 AbstractCegarLoop]: === Iteration 21 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:32,712 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:32,712 INFO L82 PathProgramCache]: Analyzing trace with hash -1190984669, now seen corresponding path program 7 times [2018-11-23 12:23:32,713 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:32,713 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:32,713 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:32,713 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:32,714 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:32,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:33,434 INFO L256 TraceCheckUtils]: 0: Hoare triple {17769#true} call ULTIMATE.init(); {17769#true} is VALID [2018-11-23 12:23:33,434 INFO L273 TraceCheckUtils]: 1: Hoare triple {17769#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {17769#true} is VALID [2018-11-23 12:23:33,435 INFO L273 TraceCheckUtils]: 2: Hoare triple {17769#true} assume true; {17769#true} is VALID [2018-11-23 12:23:33,435 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {17769#true} {17769#true} #77#return; {17769#true} is VALID [2018-11-23 12:23:33,435 INFO L256 TraceCheckUtils]: 4: Hoare triple {17769#true} call #t~ret7 := main(); {17769#true} is VALID [2018-11-23 12:23:33,435 INFO L273 TraceCheckUtils]: 5: Hoare triple {17769#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {17769#true} is VALID [2018-11-23 12:23:33,436 INFO L273 TraceCheckUtils]: 6: Hoare triple {17769#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {17771#(= 1 main_~CCCELVOL1~0)} is VALID [2018-11-23 12:23:33,437 INFO L273 TraceCheckUtils]: 7: Hoare triple {17771#(= 1 main_~CCCELVOL1~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then ~CELLCOUNT~0 % 2 - 2 else ~CELLCOUNT~0 % 2) then 1 else 0);~i~0 := 1; {17772#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1))} is VALID [2018-11-23 12:23:33,438 INFO L273 TraceCheckUtils]: 8: Hoare triple {17772#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {17772#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1))} is VALID [2018-11-23 12:23:33,438 INFO L273 TraceCheckUtils]: 9: Hoare triple {17772#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {17772#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1))} is VALID [2018-11-23 12:23:33,439 INFO L273 TraceCheckUtils]: 10: Hoare triple {17772#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {17773#(and (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (= main_~i~0 1))} is VALID [2018-11-23 12:23:33,440 INFO L273 TraceCheckUtils]: 11: Hoare triple {17773#(and (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17774#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 1) (<= main_~i~0 2) (= 1 main_~CCCELVOL1~0))} is VALID [2018-11-23 12:23:33,441 INFO L273 TraceCheckUtils]: 12: Hoare triple {17774#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 1) (<= main_~i~0 2) (= 1 main_~CCCELVOL1~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {17774#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 1) (<= main_~i~0 2) (= 1 main_~CCCELVOL1~0))} is VALID [2018-11-23 12:23:33,441 INFO L273 TraceCheckUtils]: 13: Hoare triple {17774#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 1) (<= main_~i~0 2) (= 1 main_~CCCELVOL1~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {17774#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 1) (<= main_~i~0 2) (= 1 main_~CCCELVOL1~0))} is VALID [2018-11-23 12:23:33,442 INFO L273 TraceCheckUtils]: 14: Hoare triple {17774#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 1) (<= main_~i~0 2) (= 1 main_~CCCELVOL1~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {17774#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 1) (<= main_~i~0 2) (= 1 main_~CCCELVOL1~0))} is VALID [2018-11-23 12:23:33,443 INFO L273 TraceCheckUtils]: 15: Hoare triple {17774#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 1) (<= main_~i~0 2) (= 1 main_~CCCELVOL1~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17775#(and (<= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:33,457 INFO L273 TraceCheckUtils]: 16: Hoare triple {17775#(and (<= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (<= 3 main_~i~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {17775#(and (<= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:33,458 INFO L273 TraceCheckUtils]: 17: Hoare triple {17775#(and (<= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (<= 3 main_~i~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {17775#(and (<= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:33,458 INFO L273 TraceCheckUtils]: 18: Hoare triple {17775#(and (<= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (<= 3 main_~i~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {17776#(and (<= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)))) (= 1 main_~CCCELVOL1~0) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:33,459 INFO L273 TraceCheckUtils]: 19: Hoare triple {17776#(and (<= main_~i~0 3) (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)))) (= 1 main_~CCCELVOL1~0) (<= 3 main_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17777#(and (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (<= (+ (div (+ (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))) (+ (- |main_~#volArray~0.offset|) 4)) 8) 1) main_~i~0) (= 1 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))))} is VALID [2018-11-23 12:23:33,460 INFO L273 TraceCheckUtils]: 20: Hoare triple {17777#(and (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (<= (+ (div (+ (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))) (+ (- |main_~#volArray~0.offset|) 4)) 8) 1) main_~i~0) (= 1 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {17777#(and (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (<= (+ (div (+ (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))) (+ (- |main_~#volArray~0.offset|) 4)) 8) 1) main_~i~0) (= 1 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))))} is VALID [2018-11-23 12:23:33,460 INFO L273 TraceCheckUtils]: 21: Hoare triple {17777#(and (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (<= (+ (div (+ (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))) (+ (- |main_~#volArray~0.offset|) 4)) 8) 1) main_~i~0) (= 1 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {17777#(and (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (<= (+ (div (+ (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))) (+ (- |main_~#volArray~0.offset|) 4)) 8) 1) main_~i~0) (= 1 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))))} is VALID [2018-11-23 12:23:33,461 INFO L273 TraceCheckUtils]: 22: Hoare triple {17777#(and (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (<= (+ (div (+ (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))) (+ (- |main_~#volArray~0.offset|) 4)) 8) 1) main_~i~0) (= 1 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {17777#(and (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (<= (+ (div (+ (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))) (+ (- |main_~#volArray~0.offset|) 4)) 8) 1) main_~i~0) (= 1 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))))} is VALID [2018-11-23 12:23:33,462 INFO L273 TraceCheckUtils]: 23: Hoare triple {17777#(and (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (<= (+ (div (+ (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))) (+ (- |main_~#volArray~0.offset|) 4)) 8) 1) main_~i~0) (= 1 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17778#(and (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (= 1 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))) (not (= (* 8 main_~i~0) 24)))} is VALID [2018-11-23 12:23:33,463 INFO L273 TraceCheckUtils]: 24: Hoare triple {17778#(and (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (= 1 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))) (not (= (* 8 main_~i~0) 24)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {17778#(and (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (= 1 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))) (not (= (* 8 main_~i~0) 24)))} is VALID [2018-11-23 12:23:33,464 INFO L273 TraceCheckUtils]: 25: Hoare triple {17778#(and (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (= 1 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 8)) main_~CCCELVOL2~0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))) (not (= (* 8 main_~i~0) 24)))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 2), 4); {17779#(and (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (= 1 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) main_~CCCELVOL1~0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))))} is VALID [2018-11-23 12:23:33,466 INFO L273 TraceCheckUtils]: 26: Hoare triple {17779#(and (<= main_~MINVAL~0 1) (= 1 main_~CCCELVOL1~0) (= 1 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 8 main_~i~0) |main_~#volArray~0.offset| (- 4)) main_~CCCELVOL1~0) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (2 * ~i~0 - 1), 4); {17780#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))))} is VALID [2018-11-23 12:23:33,466 INFO L273 TraceCheckUtils]: 27: Hoare triple {17780#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17780#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))))} is VALID [2018-11-23 12:23:33,467 INFO L273 TraceCheckUtils]: 28: Hoare triple {17780#(and (<= main_~MINVAL~0 1) (= 1 (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 % 2 then 1 + ~CELLCOUNT~0 / 2 else ~CELLCOUNT~0 / 2)); {17780#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))))} is VALID [2018-11-23 12:23:33,468 INFO L273 TraceCheckUtils]: 29: Hoare triple {17780#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))))} ~i~0 := 0; {17781#(and (<= main_~MINVAL~0 1) (= 1 (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:23:33,469 INFO L273 TraceCheckUtils]: 30: Hoare triple {17781#(and (<= main_~MINVAL~0 1) (= 1 (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; {17781#(and (<= main_~MINVAL~0 1) (= 1 (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:23:33,469 INFO L273 TraceCheckUtils]: 31: Hoare triple {17781#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} assume #t~short6; {17781#(and (<= main_~MINVAL~0 1) (= 1 (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:23:33,470 INFO L256 TraceCheckUtils]: 32: Hoare triple {17781#(and (<= main_~MINVAL~0 1) (= 1 (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)); {17769#true} is VALID [2018-11-23 12:23:33,470 INFO L273 TraceCheckUtils]: 33: Hoare triple {17769#true} ~cond := #in~cond; {17769#true} is VALID [2018-11-23 12:23:33,470 INFO L273 TraceCheckUtils]: 34: Hoare triple {17769#true} assume !(0 == ~cond); {17769#true} is VALID [2018-11-23 12:23:33,470 INFO L273 TraceCheckUtils]: 35: Hoare triple {17769#true} assume true; {17769#true} is VALID [2018-11-23 12:23:33,471 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {17769#true} {17781#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 4))))) (= main_~i~0 0))} #81#return; {17781#(and (<= main_~MINVAL~0 1) (= 1 (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:23:33,472 INFO L273 TraceCheckUtils]: 37: Hoare triple {17781#(and (<= main_~MINVAL~0 1) (= 1 (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; {17781#(and (<= main_~MINVAL~0 1) (= 1 (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:23:33,473 INFO L273 TraceCheckUtils]: 38: Hoare triple {17781#(and (<= main_~MINVAL~0 1) (= 1 (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; {17782#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} is VALID [2018-11-23 12:23:33,474 INFO L273 TraceCheckUtils]: 39: Hoare triple {17782#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~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; {17782#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} is VALID [2018-11-23 12:23:33,474 INFO L273 TraceCheckUtils]: 40: Hoare triple {17782#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} assume #t~short6; {17782#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} is VALID [2018-11-23 12:23:33,475 INFO L256 TraceCheckUtils]: 41: Hoare triple {17782#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17769#true} is VALID [2018-11-23 12:23:33,475 INFO L273 TraceCheckUtils]: 42: Hoare triple {17769#true} ~cond := #in~cond; {17769#true} is VALID [2018-11-23 12:23:33,475 INFO L273 TraceCheckUtils]: 43: Hoare triple {17769#true} assume !(0 == ~cond); {17769#true} is VALID [2018-11-23 12:23:33,475 INFO L273 TraceCheckUtils]: 44: Hoare triple {17769#true} assume true; {17769#true} is VALID [2018-11-23 12:23:33,476 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {17769#true} {17782#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} #81#return; {17782#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} is VALID [2018-11-23 12:23:33,477 INFO L273 TraceCheckUtils]: 46: Hoare triple {17782#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {17782#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} is VALID [2018-11-23 12:23:33,478 INFO L273 TraceCheckUtils]: 47: Hoare triple {17782#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17783#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 4))))))} is VALID [2018-11-23 12:23:33,478 INFO L273 TraceCheckUtils]: 48: Hoare triple {17783#(and (<= main_~MINVAL~0 1) (= 1 (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; {17783#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 4))))))} is VALID [2018-11-23 12:23:33,479 INFO L273 TraceCheckUtils]: 49: Hoare triple {17783#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 4))))))} assume #t~short6; {17783#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 4))))))} is VALID [2018-11-23 12:23:33,479 INFO L256 TraceCheckUtils]: 50: Hoare triple {17783#(and (<= main_~MINVAL~0 1) (= 1 (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)); {17769#true} is VALID [2018-11-23 12:23:33,479 INFO L273 TraceCheckUtils]: 51: Hoare triple {17769#true} ~cond := #in~cond; {17769#true} is VALID [2018-11-23 12:23:33,479 INFO L273 TraceCheckUtils]: 52: Hoare triple {17769#true} assume !(0 == ~cond); {17769#true} is VALID [2018-11-23 12:23:33,479 INFO L273 TraceCheckUtils]: 53: Hoare triple {17769#true} assume true; {17769#true} is VALID [2018-11-23 12:23:33,480 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {17769#true} {17783#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 4))))))} #81#return; {17783#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 4))))))} is VALID [2018-11-23 12:23:33,480 INFO L273 TraceCheckUtils]: 55: Hoare triple {17783#(and (<= main_~MINVAL~0 1) (= 1 (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; {17783#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 4))))))} is VALID [2018-11-23 12:23:33,481 INFO L273 TraceCheckUtils]: 56: Hoare triple {17783#(and (<= main_~MINVAL~0 1) (= 1 (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; {17784#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} is VALID [2018-11-23 12:23:33,482 INFO L273 TraceCheckUtils]: 57: Hoare triple {17784#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~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; {17784#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} is VALID [2018-11-23 12:23:33,483 INFO L273 TraceCheckUtils]: 58: Hoare triple {17784#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} assume #t~short6; {17784#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} is VALID [2018-11-23 12:23:33,483 INFO L256 TraceCheckUtils]: 59: Hoare triple {17784#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17769#true} is VALID [2018-11-23 12:23:33,483 INFO L273 TraceCheckUtils]: 60: Hoare triple {17769#true} ~cond := #in~cond; {17769#true} is VALID [2018-11-23 12:23:33,484 INFO L273 TraceCheckUtils]: 61: Hoare triple {17769#true} assume !(0 == ~cond); {17769#true} is VALID [2018-11-23 12:23:33,484 INFO L273 TraceCheckUtils]: 62: Hoare triple {17769#true} assume true; {17769#true} is VALID [2018-11-23 12:23:33,485 INFO L268 TraceCheckUtils]: 63: Hoare quadruple {17769#true} {17784#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} #81#return; {17784#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} is VALID [2018-11-23 12:23:33,485 INFO L273 TraceCheckUtils]: 64: Hoare triple {17784#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {17784#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} is VALID [2018-11-23 12:23:33,486 INFO L273 TraceCheckUtils]: 65: Hoare triple {17784#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17785#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} is VALID [2018-11-23 12:23:33,487 INFO L273 TraceCheckUtils]: 66: Hoare triple {17785#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~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; {17785#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} is VALID [2018-11-23 12:23:33,488 INFO L273 TraceCheckUtils]: 67: Hoare triple {17785#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} assume #t~short6; {17785#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} is VALID [2018-11-23 12:23:33,488 INFO L256 TraceCheckUtils]: 68: Hoare triple {17785#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17769#true} is VALID [2018-11-23 12:23:33,488 INFO L273 TraceCheckUtils]: 69: Hoare triple {17769#true} ~cond := #in~cond; {17769#true} is VALID [2018-11-23 12:23:33,489 INFO L273 TraceCheckUtils]: 70: Hoare triple {17769#true} assume !(0 == ~cond); {17769#true} is VALID [2018-11-23 12:23:33,489 INFO L273 TraceCheckUtils]: 71: Hoare triple {17769#true} assume true; {17769#true} is VALID [2018-11-23 12:23:33,490 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {17769#true} {17785#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} #81#return; {17785#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} is VALID [2018-11-23 12:23:33,490 INFO L273 TraceCheckUtils]: 73: Hoare triple {17785#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {17785#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} is VALID [2018-11-23 12:23:33,491 INFO L273 TraceCheckUtils]: 74: Hoare triple {17785#(and (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4))))) (<= main_~MINVAL~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17786#(and (<= main_~MINVAL~0 1) (= 1 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))))} is VALID [2018-11-23 12:23:33,492 INFO L273 TraceCheckUtils]: 75: Hoare triple {17786#(and (<= main_~MINVAL~0 1) (= 1 (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; {17787#|main_#t~short6|} is VALID [2018-11-23 12:23:33,493 INFO L273 TraceCheckUtils]: 76: Hoare triple {17787#|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; {17770#false} is VALID [2018-11-23 12:23:33,493 INFO L256 TraceCheckUtils]: 77: Hoare triple {17770#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {17770#false} is VALID [2018-11-23 12:23:33,493 INFO L273 TraceCheckUtils]: 78: Hoare triple {17770#false} ~cond := #in~cond; {17770#false} is VALID [2018-11-23 12:23:33,493 INFO L273 TraceCheckUtils]: 79: Hoare triple {17770#false} assume 0 == ~cond; {17770#false} is VALID [2018-11-23 12:23:33,493 INFO L273 TraceCheckUtils]: 80: Hoare triple {17770#false} assume !false; {17770#false} is VALID [2018-11-23 12:23:33,512 INFO L134 CoverageAnalysis]: Checked inductivity of 160 backedges. 15 proven. 105 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-23 12:23:33,512 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:33,512 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:23:33,521 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:23:33,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:33,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:33,576 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:33,751 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:33,771 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:33,773 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:33,776 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:33,785 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:33,786 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:26, output treesize:22 [2018-11-23 12:23:33,885 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 26 treesize of output 21 [2018-11-23 12:23:33,893 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:33,895 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 21 treesize of output 33 [2018-11-23 12:23:33,923 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:33,931 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:33,943 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:33,944 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-23 12:23:34,010 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 38 treesize of output 31 [2018-11-23 12:23:34,022 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:34,023 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:34,024 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:34,028 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 31 treesize of output 70 [2018-11-23 12:23:34,032 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:34,052 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:34,067 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:34,067 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:47, output treesize:43 [2018-11-23 12:23:34,258 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 47 treesize of output 38 [2018-11-23 12:23:34,269 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:34,270 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:34,271 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:34,272 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:34,274 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:34,275 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:34,283 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 118 [2018-11-23 12:23:34,287 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:34,306 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:34,324 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 12:23:34,325 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:61, output treesize:57 [2018-11-23 12:23:34,421 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 77 treesize of output 62 [2018-11-23 12:23:34,435 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:34,436 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:34,437 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:34,438 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:34,440 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:34,441 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:34,442 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:34,443 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:34,445 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:34,446 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:34,456 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 62 treesize of output 201 [2018-11-23 12:23:34,460 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:34,491 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:34,512 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 12:23:34,512 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:88, output treesize:84 [2018-11-23 12:23:34,521 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:34,521 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_41|, v_main_~i~0_75, main_~i~0]. (let ((.cse0 (select |v_#memory_int_41| |main_~#volArray~0.base|)) (.cse3 (* 8 v_main_~i~0_75))) (let ((.cse2 (select .cse0 (+ |main_~#volArray~0.offset| .cse3 (- 4)))) (.cse1 (* 8 main_~i~0))) (and (<= (+ v_main_~i~0_75 1) main_~i~0) (= (store |v_#memory_int_41| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 4)) .cse2)) |#memory_int|) (= (select .cse0 (+ |main_~#volArray~0.offset| 20)) .cse2) (<= 4 v_main_~i~0_75) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 .cse2) (= (select .cse0 (+ |main_~#volArray~0.offset| .cse3 (- 8))) (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 8))))))) [2018-11-23 12:23:34,522 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [main_~i~0, v_main_~i~0_75]. (let ((.cse1 (select |#memory_int| |main_~#volArray~0.base|)) (.cse3 (* 8 v_main_~i~0_75))) (let ((.cse2 (* 8 main_~i~0)) (.cse0 (select .cse1 (+ |main_~#volArray~0.offset| .cse3 (- 4))))) (and (<= (+ v_main_~i~0_75 1) main_~i~0) (= .cse0 (select .cse1 (+ |main_~#volArray~0.offset| 20))) (<= 4 v_main_~i~0_75) (= |main_~#volArray~0.offset| 0) (= (select .cse1 (+ |main_~#volArray~0.offset| .cse2 (- 4))) .cse0) (= (select .cse1 (+ |main_~#volArray~0.offset| .cse3 (- 8))) (select .cse1 (+ |main_~#volArray~0.offset| .cse2 (- 8)))) (<= main_~MINVAL~0 .cse0))))