java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/array-tiling/pr3_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-18e5b2d-m [2018-11-18 23:11:46,111 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-18 23:11:46,113 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-18 23:11:46,125 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-18 23:11:46,125 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-18 23:11:46,126 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-18 23:11:46,127 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-18 23:11:46,129 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-18 23:11:46,131 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-18 23:11:46,132 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-18 23:11:46,133 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-18 23:11:46,133 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-18 23:11:46,134 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-18 23:11:46,135 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-18 23:11:46,136 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-18 23:11:46,137 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-18 23:11:46,138 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-18 23:11:46,139 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-18 23:11:46,142 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-18 23:11:46,143 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-18 23:11:46,144 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-18 23:11:46,146 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-18 23:11:46,148 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-18 23:11:46,148 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-18 23:11:46,149 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-18 23:11:46,150 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-18 23:11:46,151 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-18 23:11:46,151 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-18 23:11:46,152 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-18 23:11:46,153 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-18 23:11:46,154 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-18 23:11:46,155 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-18 23:11:46,155 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-18 23:11:46,155 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-18 23:11:46,156 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-18 23:11:46,157 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-18 23:11:46,157 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-18 23:11:46,172 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-18 23:11:46,173 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-18 23:11:46,174 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-18 23:11:46,174 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-11-18 23:11:46,174 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-18 23:11:46,175 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-18 23:11:46,175 INFO L133 SettingsManager]: * Use SBE=true [2018-11-18 23:11:46,175 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-18 23:11:46,175 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-18 23:11:46,175 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-18 23:11:46,176 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-18 23:11:46,176 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-18 23:11:46,176 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-18 23:11:46,176 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-18 23:11:46,176 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-18 23:11:46,176 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-18 23:11:46,177 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-18 23:11:46,177 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-18 23:11:46,177 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-18 23:11:46,177 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-18 23:11:46,177 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-18 23:11:46,178 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-18 23:11:46,178 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-18 23:11:46,178 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-18 23:11:46,178 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-18 23:11:46,178 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-18 23:11:46,179 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-18 23:11:46,179 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-18 23:11:46,179 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-18 23:11:46,179 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-18 23:11:46,179 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-18 23:11:46,221 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-18 23:11:46,234 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-18 23:11:46,237 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-18 23:11:46,239 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-18 23:11:46,239 INFO L276 PluginConnector]: CDTParser initialized [2018-11-18 23:11:46,240 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-tiling/pr3_true-unreach-call.i [2018-11-18 23:11:46,301 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2baac5b6f/9a3074a05d6a4c9ba8f56365285a9767/FLAG1e1befe16 [2018-11-18 23:11:46,741 INFO L307 CDTParser]: Found 1 translation units. [2018-11-18 23:11:46,741 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-tiling/pr3_true-unreach-call.i [2018-11-18 23:11:46,747 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2baac5b6f/9a3074a05d6a4c9ba8f56365285a9767/FLAG1e1befe16 [2018-11-18 23:11:47,108 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2baac5b6f/9a3074a05d6a4c9ba8f56365285a9767 [2018-11-18 23:11:47,117 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-18 23:11:47,118 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-11-18 23:11:47,119 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-18 23:11:47,119 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-18 23:11:47,123 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-18 23:11:47,125 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.11 11:11:47" (1/1) ... [2018-11-18 23:11:47,129 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@102a21b3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:47, skipping insertion in model container [2018-11-18 23:11:47,129 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.11 11:11:47" (1/1) ... [2018-11-18 23:11:47,138 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-18 23:11:47,162 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-18 23:11:47,402 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-18 23:11:47,407 INFO L191 MainTranslator]: Completed pre-run [2018-11-18 23:11:47,437 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-18 23:11:47,465 INFO L195 MainTranslator]: Completed translation [2018-11-18 23:11:47,466 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:47 WrapperNode [2018-11-18 23:11:47,466 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-18 23:11:47,467 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-18 23:11:47,467 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-18 23:11:47,468 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-18 23:11:47,484 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:47" (1/1) ... [2018-11-18 23:11:47,484 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:47" (1/1) ... [2018-11-18 23:11:47,495 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:47" (1/1) ... [2018-11-18 23:11:47,496 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:47" (1/1) ... [2018-11-18 23:11:47,520 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:47" (1/1) ... [2018-11-18 23:11:47,533 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:47" (1/1) ... [2018-11-18 23:11:47,536 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:47" (1/1) ... [2018-11-18 23:11:47,544 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-18 23:11:47,544 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-18 23:11:47,544 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-18 23:11:47,544 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-18 23:11:47,545 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:47" (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-18 23:11:47,700 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-18 23:11:47,701 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-18 23:11:47,701 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-18 23:11:47,701 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-18 23:11:47,701 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-11-18 23:11:47,701 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assume [2018-11-18 23:11:47,702 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-18 23:11:47,704 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2018-11-18 23:11:47,704 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-18 23:11:47,704 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-18 23:11:47,704 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-18 23:11:47,704 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-18 23:11:47,704 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-18 23:11:47,704 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-18 23:11:47,705 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-18 23:11:47,705 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-11-18 23:11:48,488 INFO L280 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-18 23:11:48,489 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.11 11:11:48 BoogieIcfgContainer [2018-11-18 23:11:48,489 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-18 23:11:48,490 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-18 23:11:48,491 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-18 23:11:48,494 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-18 23:11:48,494 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 18.11 11:11:47" (1/3) ... [2018-11-18 23:11:48,495 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@51f20299 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.11 11:11:48, skipping insertion in model container [2018-11-18 23:11:48,495 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:47" (2/3) ... [2018-11-18 23:11:48,496 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@51f20299 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.11 11:11:48, skipping insertion in model container [2018-11-18 23:11:48,496 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.11 11:11:48" (3/3) ... [2018-11-18 23:11:48,498 INFO L112 eAbstractionObserver]: Analyzing ICFG pr3_true-unreach-call.i [2018-11-18 23:11:48,507 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-18 23:11:48,514 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-18 23:11:48,527 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-18 23:11:48,559 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-18 23:11:48,560 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-18 23:11:48,560 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-18 23:11:48,560 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-18 23:11:48,561 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-18 23:11:48,562 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-18 23:11:48,562 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-18 23:11:48,562 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-18 23:11:48,562 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-18 23:11:48,581 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states. [2018-11-18 23:11:48,588 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2018-11-18 23:11:48,588 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:11:48,589 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:11:48,591 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:11:48,597 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:11:48,598 INFO L82 PathProgramCache]: Analyzing trace with hash 1823049264, now seen corresponding path program 1 times [2018-11-18 23:11:48,600 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:11:48,600 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:11:48,649 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:48,649 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:11:48,650 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:48,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:48,833 INFO L256 TraceCheckUtils]: 0: Hoare triple {36#true} call ULTIMATE.init(); {36#true} is VALID [2018-11-18 23:11:48,837 INFO L273 TraceCheckUtils]: 1: Hoare triple {36#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {36#true} is VALID [2018-11-18 23:11:48,838 INFO L273 TraceCheckUtils]: 2: Hoare triple {36#true} assume true; {36#true} is VALID [2018-11-18 23:11:48,839 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {36#true} {36#true} #85#return; {36#true} is VALID [2018-11-18 23:11:48,839 INFO L256 TraceCheckUtils]: 4: Hoare triple {36#true} call #t~ret7 := main(); {36#true} is VALID [2018-11-18 23:11:48,839 INFO L273 TraceCheckUtils]: 5: Hoare triple {36#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {36#true} is VALID [2018-11-18 23:11:48,840 INFO L273 TraceCheckUtils]: 6: Hoare triple {36#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {36#true} is VALID [2018-11-18 23:11:48,840 INFO L273 TraceCheckUtils]: 7: Hoare triple {36#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {36#true} is VALID [2018-11-18 23:11:48,854 INFO L273 TraceCheckUtils]: 8: Hoare triple {36#true} assume !true; {37#false} is VALID [2018-11-18 23:11:48,854 INFO L273 TraceCheckUtils]: 9: Hoare triple {37#false} ~i~0 := 0; {37#false} is VALID [2018-11-18 23:11:48,855 INFO L273 TraceCheckUtils]: 10: Hoare triple {37#false} assume true; {37#false} is VALID [2018-11-18 23:11:48,855 INFO L273 TraceCheckUtils]: 11: Hoare triple {37#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; {37#false} is VALID [2018-11-18 23:11:48,855 INFO L273 TraceCheckUtils]: 12: Hoare triple {37#false} assume #t~short6; {37#false} is VALID [2018-11-18 23:11:48,856 INFO L256 TraceCheckUtils]: 13: Hoare triple {37#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {37#false} is VALID [2018-11-18 23:11:48,856 INFO L273 TraceCheckUtils]: 14: Hoare triple {37#false} ~cond := #in~cond; {37#false} is VALID [2018-11-18 23:11:48,856 INFO L273 TraceCheckUtils]: 15: Hoare triple {37#false} assume 0 == ~cond; {37#false} is VALID [2018-11-18 23:11:48,857 INFO L273 TraceCheckUtils]: 16: Hoare triple {37#false} assume !false; {37#false} is VALID [2018-11-18 23:11:48,860 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-18 23:11:48,863 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:11:48,863 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-18 23:11:48,868 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 17 [2018-11-18 23:11:48,872 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:11:48,875 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-18 23:11:49,005 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:11:49,005 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-18 23:11:49,014 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-18 23:11:49,014 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-18 23:11:49,017 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 2 states. [2018-11-18 23:11:49,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:49,416 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2018-11-18 23:11:49,417 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-18 23:11:49,417 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 17 [2018-11-18 23:11:49,417 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:11:49,419 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-18 23:11:49,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 66 transitions. [2018-11-18 23:11:49,430 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-18 23:11:49,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 66 transitions. [2018-11-18 23:11:49,435 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 66 transitions. [2018-11-18 23:11:49,811 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:11:49,821 INFO L225 Difference]: With dead ends: 52 [2018-11-18 23:11:49,821 INFO L226 Difference]: Without dead ends: 27 [2018-11-18 23:11:49,825 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-18 23:11:49,844 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2018-11-18 23:11:49,889 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2018-11-18 23:11:49,890 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:11:49,890 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 27 states. [2018-11-18 23:11:49,891 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2018-11-18 23:11:49,891 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2018-11-18 23:11:49,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:49,896 INFO L93 Difference]: Finished difference Result 27 states and 32 transitions. [2018-11-18 23:11:49,896 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 32 transitions. [2018-11-18 23:11:49,896 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:49,897 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:49,897 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2018-11-18 23:11:49,897 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2018-11-18 23:11:49,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:49,901 INFO L93 Difference]: Finished difference Result 27 states and 32 transitions. [2018-11-18 23:11:49,902 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 32 transitions. [2018-11-18 23:11:49,902 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:49,902 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:49,903 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:11:49,903 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:11:49,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-18 23:11:49,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 32 transitions. [2018-11-18 23:11:49,908 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 32 transitions. Word has length 17 [2018-11-18 23:11:49,908 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:11:49,908 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 32 transitions. [2018-11-18 23:11:49,908 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-18 23:11:49,908 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 32 transitions. [2018-11-18 23:11:49,909 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-18 23:11:49,909 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:11:49,910 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:11:49,910 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:11:49,910 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:11:49,910 INFO L82 PathProgramCache]: Analyzing trace with hash 797203505, now seen corresponding path program 1 times [2018-11-18 23:11:49,911 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:11:49,911 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:11:49,912 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:49,912 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:11:49,912 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:49,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:50,123 INFO L256 TraceCheckUtils]: 0: Hoare triple {192#true} call ULTIMATE.init(); {192#true} is VALID [2018-11-18 23:11:50,123 INFO L273 TraceCheckUtils]: 1: Hoare triple {192#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {192#true} is VALID [2018-11-18 23:11:50,124 INFO L273 TraceCheckUtils]: 2: Hoare triple {192#true} assume true; {192#true} is VALID [2018-11-18 23:11:50,124 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {192#true} {192#true} #85#return; {192#true} is VALID [2018-11-18 23:11:50,124 INFO L256 TraceCheckUtils]: 4: Hoare triple {192#true} call #t~ret7 := main(); {192#true} is VALID [2018-11-18 23:11:50,124 INFO L273 TraceCheckUtils]: 5: Hoare triple {192#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {192#true} is VALID [2018-11-18 23:11:50,125 INFO L273 TraceCheckUtils]: 6: Hoare triple {192#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {192#true} is VALID [2018-11-18 23:11:50,125 INFO L273 TraceCheckUtils]: 7: Hoare triple {192#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {192#true} is VALID [2018-11-18 23:11:50,125 INFO L273 TraceCheckUtils]: 8: Hoare triple {192#true} assume true; {192#true} is VALID [2018-11-18 23:11:50,126 INFO L273 TraceCheckUtils]: 9: Hoare triple {192#true} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {192#true} is VALID [2018-11-18 23:11:50,126 INFO L273 TraceCheckUtils]: 10: Hoare triple {192#true} ~i~0 := 0; {192#true} is VALID [2018-11-18 23:11:50,126 INFO L273 TraceCheckUtils]: 11: Hoare triple {192#true} assume true; {192#true} is VALID [2018-11-18 23:11:50,127 INFO L273 TraceCheckUtils]: 12: Hoare triple {192#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; {192#true} is VALID [2018-11-18 23:11:50,132 INFO L273 TraceCheckUtils]: 13: Hoare triple {192#true} assume #t~short6; {194#|main_#t~short6|} is VALID [2018-11-18 23:11:50,133 INFO L256 TraceCheckUtils]: 14: Hoare triple {194#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {195#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-18 23:11:50,134 INFO L273 TraceCheckUtils]: 15: Hoare triple {195#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {196#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-18 23:11:50,135 INFO L273 TraceCheckUtils]: 16: Hoare triple {196#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {193#false} is VALID [2018-11-18 23:11:50,135 INFO L273 TraceCheckUtils]: 17: Hoare triple {193#false} assume !false; {193#false} is VALID [2018-11-18 23:11:50,137 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-18 23:11:50,137 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:11:50,137 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-18 23:11:50,139 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 18 [2018-11-18 23:11:50,139 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:11:50,139 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-18 23:11:50,176 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:11:50,176 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-18 23:11:50,177 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-18 23:11:50,177 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-18 23:11:50,177 INFO L87 Difference]: Start difference. First operand 27 states and 32 transitions. Second operand 5 states. [2018-11-18 23:11:50,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:50,575 INFO L93 Difference]: Finished difference Result 35 states and 40 transitions. [2018-11-18 23:11:50,576 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-18 23:11:50,576 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 18 [2018-11-18 23:11:50,576 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:11:50,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-18 23:11:50,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2018-11-18 23:11:50,580 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-18 23:11:50,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2018-11-18 23:11:50,582 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 40 transitions. [2018-11-18 23:11:50,921 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:11:50,924 INFO L225 Difference]: With dead ends: 35 [2018-11-18 23:11:50,925 INFO L226 Difference]: Without dead ends: 33 [2018-11-18 23:11:50,927 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2018-11-18 23:11:50,927 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2018-11-18 23:11:50,947 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2018-11-18 23:11:50,948 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:11:50,948 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand 32 states. [2018-11-18 23:11:50,948 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 32 states. [2018-11-18 23:11:50,948 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 32 states. [2018-11-18 23:11:50,951 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:50,952 INFO L93 Difference]: Finished difference Result 33 states and 38 transitions. [2018-11-18 23:11:50,952 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 38 transitions. [2018-11-18 23:11:50,952 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:50,953 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:50,953 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 33 states. [2018-11-18 23:11:50,953 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 33 states. [2018-11-18 23:11:50,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:50,956 INFO L93 Difference]: Finished difference Result 33 states and 38 transitions. [2018-11-18 23:11:50,956 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 38 transitions. [2018-11-18 23:11:50,957 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:50,957 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:50,957 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:11:50,958 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:11:50,958 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-18 23:11:50,960 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 37 transitions. [2018-11-18 23:11:50,960 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 37 transitions. Word has length 18 [2018-11-18 23:11:50,961 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:11:50,961 INFO L480 AbstractCegarLoop]: Abstraction has 32 states and 37 transitions. [2018-11-18 23:11:50,961 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-18 23:11:50,961 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2018-11-18 23:11:50,962 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-18 23:11:50,962 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:11:50,962 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:11:50,962 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:11:50,963 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:11:50,963 INFO L82 PathProgramCache]: Analyzing trace with hash 799050547, now seen corresponding path program 1 times [2018-11-18 23:11:50,963 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:11:50,963 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:11:50,964 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:50,964 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:11:50,965 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:50,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:51,177 INFO L256 TraceCheckUtils]: 0: Hoare triple {354#true} call ULTIMATE.init(); {354#true} is VALID [2018-11-18 23:11:51,178 INFO L273 TraceCheckUtils]: 1: Hoare triple {354#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {354#true} is VALID [2018-11-18 23:11:51,178 INFO L273 TraceCheckUtils]: 2: Hoare triple {354#true} assume true; {354#true} is VALID [2018-11-18 23:11:51,178 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {354#true} {354#true} #85#return; {354#true} is VALID [2018-11-18 23:11:51,179 INFO L256 TraceCheckUtils]: 4: Hoare triple {354#true} call #t~ret7 := main(); {354#true} is VALID [2018-11-18 23:11:51,179 INFO L273 TraceCheckUtils]: 5: Hoare triple {354#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {354#true} is VALID [2018-11-18 23:11:51,180 INFO L273 TraceCheckUtils]: 6: Hoare triple {354#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {356#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-18 23:11:51,197 INFO L273 TraceCheckUtils]: 7: Hoare triple {356#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {357#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-18 23:11:51,198 INFO L273 TraceCheckUtils]: 8: Hoare triple {357#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume true; {357#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-18 23:11:51,199 INFO L273 TraceCheckUtils]: 9: Hoare triple {357#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {355#false} is VALID [2018-11-18 23:11:51,200 INFO L273 TraceCheckUtils]: 10: Hoare triple {355#false} ~i~0 := 0; {355#false} is VALID [2018-11-18 23:11:51,200 INFO L273 TraceCheckUtils]: 11: Hoare triple {355#false} assume true; {355#false} is VALID [2018-11-18 23:11:51,200 INFO L273 TraceCheckUtils]: 12: Hoare triple {355#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; {355#false} is VALID [2018-11-18 23:11:51,200 INFO L273 TraceCheckUtils]: 13: Hoare triple {355#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {355#false} is VALID [2018-11-18 23:11:51,201 INFO L256 TraceCheckUtils]: 14: Hoare triple {355#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {355#false} is VALID [2018-11-18 23:11:51,201 INFO L273 TraceCheckUtils]: 15: Hoare triple {355#false} ~cond := #in~cond; {355#false} is VALID [2018-11-18 23:11:51,201 INFO L273 TraceCheckUtils]: 16: Hoare triple {355#false} assume 0 == ~cond; {355#false} is VALID [2018-11-18 23:11:51,202 INFO L273 TraceCheckUtils]: 17: Hoare triple {355#false} assume !false; {355#false} is VALID [2018-11-18 23:11:51,203 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-18 23:11:51,203 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:11:51,203 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-18 23:11:51,204 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 18 [2018-11-18 23:11:51,205 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:11:51,205 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-18 23:11:51,227 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:11:51,227 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-18 23:11:51,227 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-18 23:11:51,227 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-18 23:11:51,228 INFO L87 Difference]: Start difference. First operand 32 states and 37 transitions. Second operand 4 states. [2018-11-18 23:11:51,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:51,528 INFO L93 Difference]: Finished difference Result 56 states and 66 transitions. [2018-11-18 23:11:51,528 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-18 23:11:51,528 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 18 [2018-11-18 23:11:51,529 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:11:51,529 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-18 23:11:51,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2018-11-18 23:11:51,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-18 23:11:51,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2018-11-18 23:11:51,535 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 56 transitions. [2018-11-18 23:11:51,672 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:11:51,675 INFO L225 Difference]: With dead ends: 56 [2018-11-18 23:11:51,675 INFO L226 Difference]: Without dead ends: 38 [2018-11-18 23:11:51,676 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-18 23:11:51,676 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2018-11-18 23:11:51,701 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 34. [2018-11-18 23:11:51,701 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:11:51,701 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 34 states. [2018-11-18 23:11:51,702 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 34 states. [2018-11-18 23:11:51,702 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 34 states. [2018-11-18 23:11:51,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:51,705 INFO L93 Difference]: Finished difference Result 38 states and 46 transitions. [2018-11-18 23:11:51,705 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 46 transitions. [2018-11-18 23:11:51,706 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:51,706 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:51,706 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 38 states. [2018-11-18 23:11:51,707 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 38 states. [2018-11-18 23:11:51,710 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:51,710 INFO L93 Difference]: Finished difference Result 38 states and 46 transitions. [2018-11-18 23:11:51,710 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 46 transitions. [2018-11-18 23:11:51,711 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:51,711 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:51,711 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:11:51,711 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:11:51,711 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-18 23:11:51,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 39 transitions. [2018-11-18 23:11:51,715 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 39 transitions. Word has length 18 [2018-11-18 23:11:51,715 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:11:51,715 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 39 transitions. [2018-11-18 23:11:51,715 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-18 23:11:51,715 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 39 transitions. [2018-11-18 23:11:51,716 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-18 23:11:51,716 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:11:51,717 INFO L375 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:11:51,717 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:11:51,717 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:11:51,717 INFO L82 PathProgramCache]: Analyzing trace with hash -493897724, now seen corresponding path program 1 times [2018-11-18 23:11:51,717 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:11:51,718 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:11:51,719 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:51,719 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:11:51,719 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:51,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:51,831 INFO L256 TraceCheckUtils]: 0: Hoare triple {553#true} call ULTIMATE.init(); {553#true} is VALID [2018-11-18 23:11:51,831 INFO L273 TraceCheckUtils]: 1: Hoare triple {553#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {553#true} is VALID [2018-11-18 23:11:51,832 INFO L273 TraceCheckUtils]: 2: Hoare triple {553#true} assume true; {553#true} is VALID [2018-11-18 23:11:51,832 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {553#true} {553#true} #85#return; {553#true} is VALID [2018-11-18 23:11:51,832 INFO L256 TraceCheckUtils]: 4: Hoare triple {553#true} call #t~ret7 := main(); {553#true} is VALID [2018-11-18 23:11:51,832 INFO L273 TraceCheckUtils]: 5: Hoare triple {553#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {553#true} is VALID [2018-11-18 23:11:51,833 INFO L273 TraceCheckUtils]: 6: Hoare triple {553#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {555#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-18 23:11:51,834 INFO L273 TraceCheckUtils]: 7: Hoare triple {555#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {555#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-18 23:11:51,834 INFO L273 TraceCheckUtils]: 8: Hoare triple {555#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} assume true; {555#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-18 23:11:51,836 INFO L273 TraceCheckUtils]: 9: Hoare triple {555#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {555#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-18 23:11:51,837 INFO L273 TraceCheckUtils]: 10: Hoare triple {555#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {555#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-18 23:11:51,839 INFO L273 TraceCheckUtils]: 11: Hoare triple {555#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {556#(<= (+ main_~CCCELVOL1~0 3) main_~MINVAL~0)} is VALID [2018-11-18 23:11:51,839 INFO L273 TraceCheckUtils]: 12: Hoare triple {556#(<= (+ main_~CCCELVOL1~0 3) main_~MINVAL~0)} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {554#false} is VALID [2018-11-18 23:11:51,840 INFO L273 TraceCheckUtils]: 13: Hoare triple {554#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {554#false} is VALID [2018-11-18 23:11:51,840 INFO L273 TraceCheckUtils]: 14: Hoare triple {554#false} assume true; {554#false} is VALID [2018-11-18 23:11:51,840 INFO L273 TraceCheckUtils]: 15: Hoare triple {554#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {554#false} is VALID [2018-11-18 23:11:51,840 INFO L273 TraceCheckUtils]: 16: Hoare triple {554#false} ~i~0 := 0; {554#false} is VALID [2018-11-18 23:11:51,841 INFO L273 TraceCheckUtils]: 17: Hoare triple {554#false} assume true; {554#false} is VALID [2018-11-18 23:11:51,841 INFO L273 TraceCheckUtils]: 18: Hoare triple {554#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; {554#false} is VALID [2018-11-18 23:11:51,841 INFO L273 TraceCheckUtils]: 19: Hoare triple {554#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {554#false} is VALID [2018-11-18 23:11:51,841 INFO L256 TraceCheckUtils]: 20: Hoare triple {554#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {554#false} is VALID [2018-11-18 23:11:51,842 INFO L273 TraceCheckUtils]: 21: Hoare triple {554#false} ~cond := #in~cond; {554#false} is VALID [2018-11-18 23:11:51,842 INFO L273 TraceCheckUtils]: 22: Hoare triple {554#false} assume 0 == ~cond; {554#false} is VALID [2018-11-18 23:11:51,842 INFO L273 TraceCheckUtils]: 23: Hoare triple {554#false} assume !false; {554#false} is VALID [2018-11-18 23:11:51,845 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:11:51,845 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:11:51,845 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-18 23:11:51,845 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 24 [2018-11-18 23:11:51,846 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:11:51,846 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-18 23:11:51,920 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-18 23:11:51,920 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-18 23:11:51,921 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-18 23:11:51,921 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-18 23:11:51,921 INFO L87 Difference]: Start difference. First operand 34 states and 39 transitions. Second operand 4 states. [2018-11-18 23:11:52,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:52,148 INFO L93 Difference]: Finished difference Result 72 states and 89 transitions. [2018-11-18 23:11:52,149 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-18 23:11:52,149 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 24 [2018-11-18 23:11:52,149 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:11:52,149 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-18 23:11:52,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 75 transitions. [2018-11-18 23:11:52,153 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-18 23:11:52,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 75 transitions. [2018-11-18 23:11:52,156 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 75 transitions. [2018-11-18 23:11:52,309 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:11:52,312 INFO L225 Difference]: With dead ends: 72 [2018-11-18 23:11:52,312 INFO L226 Difference]: Without dead ends: 48 [2018-11-18 23:11:52,313 INFO L604 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-18 23:11:52,313 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2018-11-18 23:11:52,365 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 40. [2018-11-18 23:11:52,365 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:11:52,365 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand 40 states. [2018-11-18 23:11:52,366 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 40 states. [2018-11-18 23:11:52,366 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 40 states. [2018-11-18 23:11:52,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:52,371 INFO L93 Difference]: Finished difference Result 48 states and 59 transitions. [2018-11-18 23:11:52,371 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2018-11-18 23:11:52,372 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:52,372 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:52,372 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 48 states. [2018-11-18 23:11:52,373 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 48 states. [2018-11-18 23:11:52,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:52,376 INFO L93 Difference]: Finished difference Result 48 states and 59 transitions. [2018-11-18 23:11:52,376 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2018-11-18 23:11:52,377 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:52,377 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:52,378 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:11:52,378 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:11:52,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2018-11-18 23:11:52,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 48 transitions. [2018-11-18 23:11:52,381 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 48 transitions. Word has length 24 [2018-11-18 23:11:52,381 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:11:52,381 INFO L480 AbstractCegarLoop]: Abstraction has 40 states and 48 transitions. [2018-11-18 23:11:52,381 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-18 23:11:52,381 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 48 transitions. [2018-11-18 23:11:52,382 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-18 23:11:52,382 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:11:52,383 INFO L375 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:11:52,383 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:11:52,383 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:11:52,383 INFO L82 PathProgramCache]: Analyzing trace with hash -235732286, now seen corresponding path program 1 times [2018-11-18 23:11:52,383 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:11:52,384 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:11:52,384 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:52,384 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:11:52,385 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:52,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:53,335 INFO L256 TraceCheckUtils]: 0: Hoare triple {802#true} call ULTIMATE.init(); {802#true} is VALID [2018-11-18 23:11:53,335 INFO L273 TraceCheckUtils]: 1: Hoare triple {802#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {802#true} is VALID [2018-11-18 23:11:53,336 INFO L273 TraceCheckUtils]: 2: Hoare triple {802#true} assume true; {802#true} is VALID [2018-11-18 23:11:53,336 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {802#true} {802#true} #85#return; {802#true} is VALID [2018-11-18 23:11:53,337 INFO L256 TraceCheckUtils]: 4: Hoare triple {802#true} call #t~ret7 := main(); {802#true} is VALID [2018-11-18 23:11:53,337 INFO L273 TraceCheckUtils]: 5: Hoare triple {802#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {802#true} is VALID [2018-11-18 23:11:53,338 INFO L273 TraceCheckUtils]: 6: Hoare triple {802#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {804#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:11:53,340 INFO L273 TraceCheckUtils]: 7: Hoare triple {804#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {805#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:11:53,340 INFO L273 TraceCheckUtils]: 8: Hoare triple {805#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume true; {805#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:11:53,342 INFO L273 TraceCheckUtils]: 9: Hoare triple {805#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {805#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:11:53,343 INFO L273 TraceCheckUtils]: 10: Hoare triple {805#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {806#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:11:53,344 INFO L273 TraceCheckUtils]: 11: Hoare triple {806#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {806#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:11:53,346 INFO L273 TraceCheckUtils]: 12: Hoare triple {806#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {806#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:11:53,349 INFO L273 TraceCheckUtils]: 13: Hoare triple {806#(and (= 12 (+ |main_~#volArray~0.offset| (* 12 main_~i~0))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {807#(and (= |main_~#volArray~0.offset| 0) (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 12 main_~i~0)) 23) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:11:53,350 INFO L273 TraceCheckUtils]: 14: Hoare triple {807#(and (= |main_~#volArray~0.offset| 0) (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 12 main_~i~0)) 23) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))) (< 0 (+ ~CELLCOUNT~0 1)))} assume true; {807#(and (= |main_~#volArray~0.offset| 0) (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 12 main_~i~0)) 23) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:11:53,352 INFO L273 TraceCheckUtils]: 15: Hoare triple {807#(and (= |main_~#volArray~0.offset| 0) (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 12 main_~i~0)) 23) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {808#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} is VALID [2018-11-18 23:11:53,352 INFO L273 TraceCheckUtils]: 16: Hoare triple {808#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} ~i~0 := 0; {809#(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-18 23:11:53,362 INFO L273 TraceCheckUtils]: 17: Hoare triple {809#(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 true; {809#(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-18 23:11:53,364 INFO L273 TraceCheckUtils]: 18: Hoare triple {809#(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; {810#(and |main_#t~short6| (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-18 23:11:53,364 INFO L273 TraceCheckUtils]: 19: Hoare triple {810#(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; {803#false} is VALID [2018-11-18 23:11:53,364 INFO L256 TraceCheckUtils]: 20: Hoare triple {803#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {803#false} is VALID [2018-11-18 23:11:53,365 INFO L273 TraceCheckUtils]: 21: Hoare triple {803#false} ~cond := #in~cond; {803#false} is VALID [2018-11-18 23:11:53,365 INFO L273 TraceCheckUtils]: 22: Hoare triple {803#false} assume 0 == ~cond; {803#false} is VALID [2018-11-18 23:11:53,365 INFO L273 TraceCheckUtils]: 23: Hoare triple {803#false} assume !false; {803#false} is VALID [2018-11-18 23:11:53,369 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:11:53,369 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:11:53,369 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-18 23:11:53,388 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:11:53,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:53,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:53,460 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:11:53,789 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-18 23:11:53,795 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-18 23:11:53,801 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:53,822 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:53,980 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:53,980 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:19 [2018-11-18 23:11:53,996 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:54,199 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-18 23:11:54,205 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:11:54,208 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-18 23:11:54,211 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:54,217 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:54,229 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:54,230 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-18 23:11:54,304 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 23 [2018-11-18 23:11:54,321 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:11:54,322 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:11:54,323 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:11:54,330 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 46 [2018-11-18 23:11:54,339 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:54,353 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:54,364 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:54,364 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:33, output treesize:29 [2018-11-18 23:11:54,607 INFO L256 TraceCheckUtils]: 0: Hoare triple {802#true} call ULTIMATE.init(); {802#true} is VALID [2018-11-18 23:11:54,607 INFO L273 TraceCheckUtils]: 1: Hoare triple {802#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {802#true} is VALID [2018-11-18 23:11:54,607 INFO L273 TraceCheckUtils]: 2: Hoare triple {802#true} assume true; {802#true} is VALID [2018-11-18 23:11:54,608 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {802#true} {802#true} #85#return; {802#true} is VALID [2018-11-18 23:11:54,608 INFO L256 TraceCheckUtils]: 4: Hoare triple {802#true} call #t~ret7 := main(); {802#true} is VALID [2018-11-18 23:11:54,609 INFO L273 TraceCheckUtils]: 5: Hoare triple {802#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {802#true} is VALID [2018-11-18 23:11:54,614 INFO L273 TraceCheckUtils]: 6: Hoare triple {802#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {832#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-18 23:11:54,614 INFO L273 TraceCheckUtils]: 7: Hoare triple {832#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {836#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:11:54,615 INFO L273 TraceCheckUtils]: 8: Hoare triple {836#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume true; {836#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:11:54,615 INFO L273 TraceCheckUtils]: 9: Hoare triple {836#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {836#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:11:54,616 INFO L273 TraceCheckUtils]: 10: Hoare triple {836#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {846#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:11:54,617 INFO L273 TraceCheckUtils]: 11: Hoare triple {846#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {850#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8))) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:11:54,619 INFO L273 TraceCheckUtils]: 12: Hoare triple {850#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8))) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {854#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:11:54,620 INFO L273 TraceCheckUtils]: 13: Hoare triple {854#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {854#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:11:54,621 INFO L273 TraceCheckUtils]: 14: Hoare triple {854#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume true; {854#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:11:54,623 INFO L273 TraceCheckUtils]: 15: Hoare triple {854#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {854#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:11:54,624 INFO L273 TraceCheckUtils]: 16: Hoare triple {854#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} ~i~0 := 0; {867#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-18 23:11:54,625 INFO L273 TraceCheckUtils]: 17: Hoare triple {867#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} assume true; {867#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-18 23:11:54,626 INFO L273 TraceCheckUtils]: 18: Hoare triple {867#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 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; {874#|main_#t~short6|} is VALID [2018-11-18 23:11:54,627 INFO L273 TraceCheckUtils]: 19: Hoare triple {874#|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; {803#false} is VALID [2018-11-18 23:11:54,628 INFO L256 TraceCheckUtils]: 20: Hoare triple {803#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {803#false} is VALID [2018-11-18 23:11:54,628 INFO L273 TraceCheckUtils]: 21: Hoare triple {803#false} ~cond := #in~cond; {803#false} is VALID [2018-11-18 23:11:54,629 INFO L273 TraceCheckUtils]: 22: Hoare triple {803#false} assume 0 == ~cond; {803#false} is VALID [2018-11-18 23:11:54,629 INFO L273 TraceCheckUtils]: 23: Hoare triple {803#false} assume !false; {803#false} is VALID [2018-11-18 23:11:54,632 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:11:54,656 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:11:54,656 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2018-11-18 23:11:54,657 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 24 [2018-11-18 23:11:54,657 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:11:54,657 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-18 23:11:54,717 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:11:54,718 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-18 23:11:54,718 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-18 23:11:54,718 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=182, Unknown=0, NotChecked=0, Total=240 [2018-11-18 23:11:54,719 INFO L87 Difference]: Start difference. First operand 40 states and 48 transitions. Second operand 16 states. [2018-11-18 23:11:58,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:58,359 INFO L93 Difference]: Finished difference Result 132 states and 172 transitions. [2018-11-18 23:11:58,359 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-18 23:11:58,359 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 24 [2018-11-18 23:11:58,360 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:11:58,360 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-18 23:11:58,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 142 transitions. [2018-11-18 23:11:58,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-18 23:11:58,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 142 transitions. [2018-11-18 23:11:58,372 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 142 transitions. [2018-11-18 23:11:58,620 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:11:58,625 INFO L225 Difference]: With dead ends: 132 [2018-11-18 23:11:58,625 INFO L226 Difference]: Without dead ends: 115 [2018-11-18 23:11:58,626 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 18 SyntacticMatches, 2 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 207 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=251, Invalid=741, Unknown=0, NotChecked=0, Total=992 [2018-11-18 23:11:58,627 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-11-18 23:11:58,735 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 56. [2018-11-18 23:11:58,735 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:11:58,736 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand 56 states. [2018-11-18 23:11:58,736 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand 56 states. [2018-11-18 23:11:58,736 INFO L87 Difference]: Start difference. First operand 115 states. Second operand 56 states. [2018-11-18 23:11:58,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:58,744 INFO L93 Difference]: Finished difference Result 115 states and 152 transitions. [2018-11-18 23:11:58,744 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 152 transitions. [2018-11-18 23:11:58,745 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:58,745 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:58,745 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 115 states. [2018-11-18 23:11:58,746 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 115 states. [2018-11-18 23:11:58,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:58,752 INFO L93 Difference]: Finished difference Result 115 states and 152 transitions. [2018-11-18 23:11:58,752 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 152 transitions. [2018-11-18 23:11:58,753 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:58,754 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:58,754 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:11:58,754 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:11:58,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 56 states. [2018-11-18 23:11:58,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 71 transitions. [2018-11-18 23:11:58,757 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 71 transitions. Word has length 24 [2018-11-18 23:11:58,757 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:11:58,757 INFO L480 AbstractCegarLoop]: Abstraction has 56 states and 71 transitions. [2018-11-18 23:11:58,757 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-18 23:11:58,757 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 71 transitions. [2018-11-18 23:11:58,758 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-18 23:11:58,758 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:11:58,758 INFO L375 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:11:58,758 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:11:58,759 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:11:58,759 INFO L82 PathProgramCache]: Analyzing trace with hash -1246849536, now seen corresponding path program 1 times [2018-11-18 23:11:58,759 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:11:58,759 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:11:58,760 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:58,760 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:11:58,760 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:58,779 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:59,463 INFO L256 TraceCheckUtils]: 0: Hoare triple {1390#true} call ULTIMATE.init(); {1390#true} is VALID [2018-11-18 23:11:59,464 INFO L273 TraceCheckUtils]: 1: Hoare triple {1390#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {1390#true} is VALID [2018-11-18 23:11:59,464 INFO L273 TraceCheckUtils]: 2: Hoare triple {1390#true} assume true; {1390#true} is VALID [2018-11-18 23:11:59,465 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1390#true} {1390#true} #85#return; {1390#true} is VALID [2018-11-18 23:11:59,466 INFO L256 TraceCheckUtils]: 4: Hoare triple {1390#true} call #t~ret7 := main(); {1390#true} is VALID [2018-11-18 23:11:59,466 INFO L273 TraceCheckUtils]: 5: Hoare triple {1390#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {1390#true} is VALID [2018-11-18 23:11:59,468 INFO L273 TraceCheckUtils]: 6: Hoare triple {1390#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {1392#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:11:59,469 INFO L273 TraceCheckUtils]: 7: Hoare triple {1392#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {1393#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:11:59,470 INFO L273 TraceCheckUtils]: 8: Hoare triple {1393#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume true; {1393#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:11:59,470 INFO L273 TraceCheckUtils]: 9: Hoare triple {1393#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {1393#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:11:59,472 INFO L273 TraceCheckUtils]: 10: Hoare triple {1393#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {1394#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:11:59,473 INFO L273 TraceCheckUtils]: 11: Hoare triple {1394#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {1394#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:11:59,474 INFO L273 TraceCheckUtils]: 12: Hoare triple {1394#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {1394#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:11:59,476 INFO L273 TraceCheckUtils]: 13: Hoare triple {1394#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1395#(and (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 12 main_~i~0)) 23) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))))} is VALID [2018-11-18 23:11:59,477 INFO L273 TraceCheckUtils]: 14: Hoare triple {1395#(and (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 12 main_~i~0)) 23) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))))} assume true; {1395#(and (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 12 main_~i~0)) 23) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))))} is VALID [2018-11-18 23:11:59,478 INFO L273 TraceCheckUtils]: 15: Hoare triple {1395#(and (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 12 main_~i~0)) 23) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {1396#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:11:59,479 INFO L273 TraceCheckUtils]: 16: Hoare triple {1396#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (= |main_~#volArray~0.offset| 0))} ~i~0 := 0; {1397#(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-18 23:11:59,480 INFO L273 TraceCheckUtils]: 17: Hoare triple {1397#(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 true; {1397#(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-18 23:11:59,481 INFO L273 TraceCheckUtils]: 18: Hoare triple {1397#(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; {1397#(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-18 23:11:59,482 INFO L273 TraceCheckUtils]: 19: Hoare triple {1397#(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; {1398#|main_#t~short6|} is VALID [2018-11-18 23:11:59,483 INFO L256 TraceCheckUtils]: 20: Hoare triple {1398#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {1399#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-18 23:11:59,484 INFO L273 TraceCheckUtils]: 21: Hoare triple {1399#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {1400#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-18 23:11:59,485 INFO L273 TraceCheckUtils]: 22: Hoare triple {1400#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {1391#false} is VALID [2018-11-18 23:11:59,485 INFO L273 TraceCheckUtils]: 23: Hoare triple {1391#false} assume !false; {1391#false} is VALID [2018-11-18 23:11:59,488 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:11:59,488 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:11:59,488 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-18 23:11:59,498 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:11:59,524 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:59,538 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:59,539 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:11:59,657 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-18 23:11:59,663 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-18 23:11:59,664 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:59,667 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:59,675 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:59,675 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-18 23:11:59,714 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-18 23:11:59,718 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:11:59,720 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-18 23:11:59,722 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:59,729 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:59,737 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:59,737 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-18 23:11:59,780 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 23 [2018-11-18 23:11:59,785 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:11:59,786 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:11:59,787 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:11:59,788 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 46 [2018-11-18 23:11:59,823 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:59,935 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:59,942 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:59,942 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:33, output treesize:29 [2018-11-18 23:12:00,125 INFO L256 TraceCheckUtils]: 0: Hoare triple {1390#true} call ULTIMATE.init(); {1390#true} is VALID [2018-11-18 23:12:00,125 INFO L273 TraceCheckUtils]: 1: Hoare triple {1390#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {1390#true} is VALID [2018-11-18 23:12:00,126 INFO L273 TraceCheckUtils]: 2: Hoare triple {1390#true} assume true; {1390#true} is VALID [2018-11-18 23:12:00,126 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1390#true} {1390#true} #85#return; {1390#true} is VALID [2018-11-18 23:12:00,126 INFO L256 TraceCheckUtils]: 4: Hoare triple {1390#true} call #t~ret7 := main(); {1390#true} is VALID [2018-11-18 23:12:00,127 INFO L273 TraceCheckUtils]: 5: Hoare triple {1390#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {1390#true} is VALID [2018-11-18 23:12:00,127 INFO L273 TraceCheckUtils]: 6: Hoare triple {1390#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {1422#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-18 23:12:00,128 INFO L273 TraceCheckUtils]: 7: Hoare triple {1422#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {1426#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:00,128 INFO L273 TraceCheckUtils]: 8: Hoare triple {1426#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume true; {1426#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:00,129 INFO L273 TraceCheckUtils]: 9: Hoare triple {1426#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {1426#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:00,130 INFO L273 TraceCheckUtils]: 10: Hoare triple {1426#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {1436#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} is VALID [2018-11-18 23:12:00,130 INFO L273 TraceCheckUtils]: 11: Hoare triple {1436#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {1440#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} is VALID [2018-11-18 23:12:00,132 INFO L273 TraceCheckUtils]: 12: Hoare triple {1440#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {1444#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0))} is VALID [2018-11-18 23:12:00,133 INFO L273 TraceCheckUtils]: 13: Hoare triple {1444#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1444#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0))} is VALID [2018-11-18 23:12:00,134 INFO L273 TraceCheckUtils]: 14: Hoare triple {1444#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0))} assume true; {1444#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0))} is VALID [2018-11-18 23:12:00,135 INFO L273 TraceCheckUtils]: 15: Hoare triple {1444#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {1444#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0))} is VALID [2018-11-18 23:12:00,136 INFO L273 TraceCheckUtils]: 16: Hoare triple {1444#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0))} ~i~0 := 0; {1457#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0) (= main_~i~0 0))} is VALID [2018-11-18 23:12:00,138 INFO L273 TraceCheckUtils]: 17: Hoare triple {1457#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0) (= main_~i~0 0))} assume true; {1457#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0) (= main_~i~0 0))} is VALID [2018-11-18 23:12:00,139 INFO L273 TraceCheckUtils]: 18: Hoare triple {1457#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {1457#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0) (= main_~i~0 0))} is VALID [2018-11-18 23:12:00,140 INFO L273 TraceCheckUtils]: 19: Hoare triple {1457#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0) (= main_~i~0 0))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {1398#|main_#t~short6|} is VALID [2018-11-18 23:12:00,141 INFO L256 TraceCheckUtils]: 20: Hoare triple {1398#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {1470#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-18 23:12:00,151 INFO L273 TraceCheckUtils]: 21: Hoare triple {1470#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1474#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-18 23:12:00,152 INFO L273 TraceCheckUtils]: 22: Hoare triple {1474#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1391#false} is VALID [2018-11-18 23:12:00,152 INFO L273 TraceCheckUtils]: 23: Hoare triple {1391#false} assume !false; {1391#false} is VALID [2018-11-18 23:12:00,154 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:12:00,173 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:12:00,174 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 19 [2018-11-18 23:12:00,174 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 24 [2018-11-18 23:12:00,174 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:12:00,174 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-18 23:12:00,237 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:12:00,237 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-18 23:12:00,237 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-18 23:12:00,238 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=278, Unknown=0, NotChecked=0, Total=342 [2018-11-18 23:12:00,238 INFO L87 Difference]: Start difference. First operand 56 states and 71 transitions. Second operand 19 states. [2018-11-18 23:12:03,776 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:03,776 INFO L93 Difference]: Finished difference Result 139 states and 186 transitions. [2018-11-18 23:12:03,776 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2018-11-18 23:12:03,777 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 24 [2018-11-18 23:12:03,777 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:12:03,777 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-18 23:12:03,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 134 transitions. [2018-11-18 23:12:03,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-18 23:12:03,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 134 transitions. [2018-11-18 23:12:03,785 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 134 transitions. [2018-11-18 23:12:03,962 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 134 edges. 134 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:12:03,966 INFO L225 Difference]: With dead ends: 139 [2018-11-18 23:12:03,966 INFO L226 Difference]: Without dead ends: 137 [2018-11-18 23:12:03,967 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 17 SyntacticMatches, 3 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 283 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=261, Invalid=999, Unknown=0, NotChecked=0, Total=1260 [2018-11-18 23:12:03,967 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2018-11-18 23:12:04,111 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 87. [2018-11-18 23:12:04,112 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:12:04,112 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand 87 states. [2018-11-18 23:12:04,112 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 87 states. [2018-11-18 23:12:04,112 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 87 states. [2018-11-18 23:12:04,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:04,119 INFO L93 Difference]: Finished difference Result 137 states and 184 transitions. [2018-11-18 23:12:04,119 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 184 transitions. [2018-11-18 23:12:04,120 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:04,120 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:04,121 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand 137 states. [2018-11-18 23:12:04,121 INFO L87 Difference]: Start difference. First operand 87 states. Second operand 137 states. [2018-11-18 23:12:04,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:04,127 INFO L93 Difference]: Finished difference Result 137 states and 184 transitions. [2018-11-18 23:12:04,128 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 184 transitions. [2018-11-18 23:12:04,128 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:04,129 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:04,129 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:12:04,129 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:12:04,129 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 87 states. [2018-11-18 23:12:04,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 117 transitions. [2018-11-18 23:12:04,133 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 117 transitions. Word has length 24 [2018-11-18 23:12:04,133 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:12:04,133 INFO L480 AbstractCegarLoop]: Abstraction has 87 states and 117 transitions. [2018-11-18 23:12:04,133 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-18 23:12:04,133 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 117 transitions. [2018-11-18 23:12:04,134 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-18 23:12:04,134 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:12:04,134 INFO L375 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:12:04,134 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:12:04,135 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:12:04,135 INFO L82 PathProgramCache]: Analyzing trace with hash -2069436849, now seen corresponding path program 1 times [2018-11-18 23:12:04,135 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:12:04,135 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:12:04,136 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:04,136 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:12:04,136 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:04,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:04,206 INFO L256 TraceCheckUtils]: 0: Hoare triple {2072#true} call ULTIMATE.init(); {2072#true} is VALID [2018-11-18 23:12:04,207 INFO L273 TraceCheckUtils]: 1: Hoare triple {2072#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {2072#true} is VALID [2018-11-18 23:12:04,207 INFO L273 TraceCheckUtils]: 2: Hoare triple {2072#true} assume true; {2072#true} is VALID [2018-11-18 23:12:04,207 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2072#true} {2072#true} #85#return; {2072#true} is VALID [2018-11-18 23:12:04,207 INFO L256 TraceCheckUtils]: 4: Hoare triple {2072#true} call #t~ret7 := main(); {2072#true} is VALID [2018-11-18 23:12:04,208 INFO L273 TraceCheckUtils]: 5: Hoare triple {2072#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {2072#true} is VALID [2018-11-18 23:12:04,208 INFO L273 TraceCheckUtils]: 6: Hoare triple {2072#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {2072#true} is VALID [2018-11-18 23:12:04,208 INFO L273 TraceCheckUtils]: 7: Hoare triple {2072#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {2072#true} is VALID [2018-11-18 23:12:04,208 INFO L273 TraceCheckUtils]: 8: Hoare triple {2072#true} assume true; {2072#true} is VALID [2018-11-18 23:12:04,208 INFO L273 TraceCheckUtils]: 9: Hoare triple {2072#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {2072#true} is VALID [2018-11-18 23:12:04,212 INFO L273 TraceCheckUtils]: 10: Hoare triple {2072#true} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {2074#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-18 23:12:04,212 INFO L273 TraceCheckUtils]: 11: Hoare triple {2074#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {2074#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-18 23:12:04,214 INFO L273 TraceCheckUtils]: 12: Hoare triple {2074#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {2074#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-18 23:12:04,214 INFO L273 TraceCheckUtils]: 13: Hoare triple {2074#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2074#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-18 23:12:04,216 INFO L273 TraceCheckUtils]: 14: Hoare triple {2074#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} assume true; {2074#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-18 23:12:04,217 INFO L273 TraceCheckUtils]: 15: Hoare triple {2074#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {2074#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-18 23:12:04,218 INFO L273 TraceCheckUtils]: 16: Hoare triple {2074#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {2073#false} is VALID [2018-11-18 23:12:04,218 INFO L273 TraceCheckUtils]: 17: Hoare triple {2073#false} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {2073#false} is VALID [2018-11-18 23:12:04,218 INFO L273 TraceCheckUtils]: 18: Hoare triple {2073#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {2073#false} is VALID [2018-11-18 23:12:04,219 INFO L273 TraceCheckUtils]: 19: Hoare triple {2073#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2073#false} is VALID [2018-11-18 23:12:04,219 INFO L273 TraceCheckUtils]: 20: Hoare triple {2073#false} assume true; {2073#false} is VALID [2018-11-18 23:12:04,219 INFO L273 TraceCheckUtils]: 21: Hoare triple {2073#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {2073#false} is VALID [2018-11-18 23:12:04,220 INFO L273 TraceCheckUtils]: 22: Hoare triple {2073#false} ~i~0 := 0; {2073#false} is VALID [2018-11-18 23:12:04,220 INFO L273 TraceCheckUtils]: 23: Hoare triple {2073#false} assume true; {2073#false} is VALID [2018-11-18 23:12:04,220 INFO L273 TraceCheckUtils]: 24: Hoare triple {2073#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; {2073#false} is VALID [2018-11-18 23:12:04,221 INFO L273 TraceCheckUtils]: 25: Hoare triple {2073#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {2073#false} is VALID [2018-11-18 23:12:04,221 INFO L256 TraceCheckUtils]: 26: Hoare triple {2073#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2073#false} is VALID [2018-11-18 23:12:04,221 INFO L273 TraceCheckUtils]: 27: Hoare triple {2073#false} ~cond := #in~cond; {2073#false} is VALID [2018-11-18 23:12:04,221 INFO L273 TraceCheckUtils]: 28: Hoare triple {2073#false} assume 0 == ~cond; {2073#false} is VALID [2018-11-18 23:12:04,222 INFO L273 TraceCheckUtils]: 29: Hoare triple {2073#false} assume !false; {2073#false} is VALID [2018-11-18 23:12:04,222 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:12:04,223 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:12:04,223 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-18 23:12:04,223 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 30 [2018-11-18 23:12:04,223 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:12:04,224 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-18 23:12:04,262 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:12:04,262 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-18 23:12:04,262 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-18 23:12:04,262 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-18 23:12:04,262 INFO L87 Difference]: Start difference. First operand 87 states and 117 transitions. Second operand 3 states. [2018-11-18 23:12:04,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:04,662 INFO L93 Difference]: Finished difference Result 124 states and 165 transitions. [2018-11-18 23:12:04,662 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-18 23:12:04,662 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 30 [2018-11-18 23:12:04,662 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:12:04,662 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-18 23:12:04,664 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 75 transitions. [2018-11-18 23:12:04,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-18 23:12:04,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 75 transitions. [2018-11-18 23:12:04,666 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 75 transitions. [2018-11-18 23:12:04,762 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:12:04,764 INFO L225 Difference]: With dead ends: 124 [2018-11-18 23:12:04,765 INFO L226 Difference]: Without dead ends: 94 [2018-11-18 23:12:04,765 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-18 23:12:04,766 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2018-11-18 23:12:04,878 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 87. [2018-11-18 23:12:04,878 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:12:04,878 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand 87 states. [2018-11-18 23:12:04,879 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand 87 states. [2018-11-18 23:12:04,879 INFO L87 Difference]: Start difference. First operand 94 states. Second operand 87 states. [2018-11-18 23:12:04,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:04,883 INFO L93 Difference]: Finished difference Result 94 states and 123 transitions. [2018-11-18 23:12:04,883 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 123 transitions. [2018-11-18 23:12:04,884 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:04,884 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:04,884 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand 94 states. [2018-11-18 23:12:04,884 INFO L87 Difference]: Start difference. First operand 87 states. Second operand 94 states. [2018-11-18 23:12:04,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:04,888 INFO L93 Difference]: Finished difference Result 94 states and 123 transitions. [2018-11-18 23:12:04,888 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 123 transitions. [2018-11-18 23:12:04,889 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:04,889 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:04,889 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:12:04,889 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:12:04,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 87 states. [2018-11-18 23:12:04,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 113 transitions. [2018-11-18 23:12:04,892 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 113 transitions. Word has length 30 [2018-11-18 23:12:04,893 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:12:04,893 INFO L480 AbstractCegarLoop]: Abstraction has 87 states and 113 transitions. [2018-11-18 23:12:04,893 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-18 23:12:04,893 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 113 transitions. [2018-11-18 23:12:04,894 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-18 23:12:04,894 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:12:04,894 INFO L375 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:12:04,894 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:12:04,894 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:12:04,894 INFO L82 PathProgramCache]: Analyzing trace with hash -1875968049, now seen corresponding path program 2 times [2018-11-18 23:12:04,894 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:12:04,895 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:12:04,895 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:04,895 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:12:04,896 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:04,905 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:04,955 INFO L256 TraceCheckUtils]: 0: Hoare triple {2528#true} call ULTIMATE.init(); {2528#true} is VALID [2018-11-18 23:12:04,955 INFO L273 TraceCheckUtils]: 1: Hoare triple {2528#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {2528#true} is VALID [2018-11-18 23:12:04,955 INFO L273 TraceCheckUtils]: 2: Hoare triple {2528#true} assume true; {2528#true} is VALID [2018-11-18 23:12:04,956 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2528#true} {2528#true} #85#return; {2528#true} is VALID [2018-11-18 23:12:04,956 INFO L256 TraceCheckUtils]: 4: Hoare triple {2528#true} call #t~ret7 := main(); {2528#true} is VALID [2018-11-18 23:12:04,956 INFO L273 TraceCheckUtils]: 5: Hoare triple {2528#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {2528#true} is VALID [2018-11-18 23:12:04,956 INFO L273 TraceCheckUtils]: 6: Hoare triple {2528#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {2528#true} is VALID [2018-11-18 23:12:04,956 INFO L273 TraceCheckUtils]: 7: Hoare triple {2528#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {2528#true} is VALID [2018-11-18 23:12:04,957 INFO L273 TraceCheckUtils]: 8: Hoare triple {2528#true} assume true; {2528#true} is VALID [2018-11-18 23:12:04,957 INFO L273 TraceCheckUtils]: 9: Hoare triple {2528#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {2528#true} is VALID [2018-11-18 23:12:04,957 INFO L273 TraceCheckUtils]: 10: Hoare triple {2528#true} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {2530#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-18 23:12:04,961 INFO L273 TraceCheckUtils]: 11: Hoare triple {2530#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {2530#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-18 23:12:04,961 INFO L273 TraceCheckUtils]: 12: Hoare triple {2530#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {2530#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-18 23:12:04,964 INFO L273 TraceCheckUtils]: 13: Hoare triple {2530#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2530#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-18 23:12:04,966 INFO L273 TraceCheckUtils]: 14: Hoare triple {2530#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} assume true; {2530#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-18 23:12:04,966 INFO L273 TraceCheckUtils]: 15: Hoare triple {2530#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {2530#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-18 23:12:04,968 INFO L273 TraceCheckUtils]: 16: Hoare triple {2530#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {2529#false} is VALID [2018-11-18 23:12:04,968 INFO L273 TraceCheckUtils]: 17: Hoare triple {2529#false} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {2529#false} is VALID [2018-11-18 23:12:04,968 INFO L273 TraceCheckUtils]: 18: Hoare triple {2529#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {2529#false} is VALID [2018-11-18 23:12:04,968 INFO L273 TraceCheckUtils]: 19: Hoare triple {2529#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2529#false} is VALID [2018-11-18 23:12:04,968 INFO L273 TraceCheckUtils]: 20: Hoare triple {2529#false} assume true; {2529#false} is VALID [2018-11-18 23:12:04,968 INFO L273 TraceCheckUtils]: 21: Hoare triple {2529#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {2529#false} is VALID [2018-11-18 23:12:04,969 INFO L273 TraceCheckUtils]: 22: Hoare triple {2529#false} ~i~0 := 0; {2529#false} is VALID [2018-11-18 23:12:04,969 INFO L273 TraceCheckUtils]: 23: Hoare triple {2529#false} assume true; {2529#false} is VALID [2018-11-18 23:12:04,969 INFO L273 TraceCheckUtils]: 24: Hoare triple {2529#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; {2529#false} is VALID [2018-11-18 23:12:04,969 INFO L273 TraceCheckUtils]: 25: Hoare triple {2529#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {2529#false} is VALID [2018-11-18 23:12:04,969 INFO L256 TraceCheckUtils]: 26: Hoare triple {2529#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2529#false} is VALID [2018-11-18 23:12:04,969 INFO L273 TraceCheckUtils]: 27: Hoare triple {2529#false} ~cond := #in~cond; {2529#false} is VALID [2018-11-18 23:12:04,970 INFO L273 TraceCheckUtils]: 28: Hoare triple {2529#false} assume 0 == ~cond; {2529#false} is VALID [2018-11-18 23:12:04,970 INFO L273 TraceCheckUtils]: 29: Hoare triple {2529#false} assume !false; {2529#false} is VALID [2018-11-18 23:12:04,970 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:12:04,971 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:12:04,971 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-18 23:12:04,971 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 30 [2018-11-18 23:12:04,971 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:12:04,971 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-18 23:12:05,002 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:12:05,003 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-18 23:12:05,003 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-18 23:12:05,003 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-18 23:12:05,003 INFO L87 Difference]: Start difference. First operand 87 states and 113 transitions. Second operand 3 states. [2018-11-18 23:12:05,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:05,310 INFO L93 Difference]: Finished difference Result 111 states and 141 transitions. [2018-11-18 23:12:05,310 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-18 23:12:05,310 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 30 [2018-11-18 23:12:05,310 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:12:05,310 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-18 23:12:05,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2018-11-18 23:12:05,312 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-18 23:12:05,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2018-11-18 23:12:05,313 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2018-11-18 23:12:05,418 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:12:05,421 INFO L225 Difference]: With dead ends: 111 [2018-11-18 23:12:05,421 INFO L226 Difference]: Without dead ends: 81 [2018-11-18 23:12:05,422 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-18 23:12:05,422 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2018-11-18 23:12:05,550 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 74. [2018-11-18 23:12:05,550 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:12:05,550 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand 74 states. [2018-11-18 23:12:05,550 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 74 states. [2018-11-18 23:12:05,553 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 74 states. [2018-11-18 23:12:05,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:05,555 INFO L93 Difference]: Finished difference Result 81 states and 102 transitions. [2018-11-18 23:12:05,555 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 102 transitions. [2018-11-18 23:12:05,556 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:05,556 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:05,556 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 81 states. [2018-11-18 23:12:05,556 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 81 states. [2018-11-18 23:12:05,560 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:05,560 INFO L93 Difference]: Finished difference Result 81 states and 102 transitions. [2018-11-18 23:12:05,560 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 102 transitions. [2018-11-18 23:12:05,560 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:05,560 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:05,561 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:12:05,561 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:12:05,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2018-11-18 23:12:05,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 92 transitions. [2018-11-18 23:12:05,563 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 92 transitions. Word has length 30 [2018-11-18 23:12:05,563 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:12:05,563 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 92 transitions. [2018-11-18 23:12:05,564 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-18 23:12:05,564 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 92 transitions. [2018-11-18 23:12:05,564 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-18 23:12:05,564 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:12:05,564 INFO L375 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:12:05,564 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:12:05,565 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:12:05,565 INFO L82 PathProgramCache]: Analyzing trace with hash 1935151821, now seen corresponding path program 1 times [2018-11-18 23:12:05,565 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:12:05,565 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:12:05,566 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:05,566 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:12:05,566 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:05,582 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:06,161 INFO L256 TraceCheckUtils]: 0: Hoare triple {2928#true} call ULTIMATE.init(); {2928#true} is VALID [2018-11-18 23:12:06,161 INFO L273 TraceCheckUtils]: 1: Hoare triple {2928#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {2928#true} is VALID [2018-11-18 23:12:06,161 INFO L273 TraceCheckUtils]: 2: Hoare triple {2928#true} assume true; {2928#true} is VALID [2018-11-18 23:12:06,162 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2928#true} {2928#true} #85#return; {2928#true} is VALID [2018-11-18 23:12:06,162 INFO L256 TraceCheckUtils]: 4: Hoare triple {2928#true} call #t~ret7 := main(); {2928#true} is VALID [2018-11-18 23:12:06,162 INFO L273 TraceCheckUtils]: 5: Hoare triple {2928#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {2928#true} is VALID [2018-11-18 23:12:06,170 INFO L273 TraceCheckUtils]: 6: Hoare triple {2928#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {2930#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-18 23:12:06,171 INFO L273 TraceCheckUtils]: 7: Hoare triple {2930#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {2931#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-18 23:12:06,171 INFO L273 TraceCheckUtils]: 8: Hoare triple {2931#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume true; {2931#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-18 23:12:06,172 INFO L273 TraceCheckUtils]: 9: Hoare triple {2931#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {2931#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-18 23:12:06,172 INFO L273 TraceCheckUtils]: 10: Hoare triple {2931#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {2931#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-18 23:12:06,173 INFO L273 TraceCheckUtils]: 11: Hoare triple {2931#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {2932#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-18 23:12:06,174 INFO L273 TraceCheckUtils]: 12: Hoare triple {2932#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {2932#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-18 23:12:06,176 INFO L273 TraceCheckUtils]: 13: Hoare triple {2932#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2933#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 3 main_~i~0) (- 3))) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 3 main_~i~0) 5)) (<= (* 3 main_~i~0) 6) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-18 23:12:06,177 INFO L273 TraceCheckUtils]: 14: Hoare triple {2933#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 3 main_~i~0) (- 3))) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 3 main_~i~0) 5)) (<= (* 3 main_~i~0) 6) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume true; {2933#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 3 main_~i~0) (- 3))) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 3 main_~i~0) 5)) (<= (* 3 main_~i~0) 6) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-18 23:12:06,179 INFO L273 TraceCheckUtils]: 15: Hoare triple {2933#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 3 main_~i~0) (- 3))) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 3 main_~i~0) 5)) (<= (* 3 main_~i~0) 6) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {2934#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))))} is VALID [2018-11-18 23:12:06,180 INFO L273 TraceCheckUtils]: 16: Hoare triple {2934#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))))} ~i~0 := 0; {2935#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:06,181 INFO L273 TraceCheckUtils]: 17: Hoare triple {2935#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} assume true; {2935#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:06,182 INFO L273 TraceCheckUtils]: 18: Hoare triple {2935#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |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; {2935#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:06,183 INFO L273 TraceCheckUtils]: 19: Hoare triple {2935#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} assume #t~short6; {2935#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:06,183 INFO L256 TraceCheckUtils]: 20: Hoare triple {2935#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2928#true} is VALID [2018-11-18 23:12:06,183 INFO L273 TraceCheckUtils]: 21: Hoare triple {2928#true} ~cond := #in~cond; {2928#true} is VALID [2018-11-18 23:12:06,184 INFO L273 TraceCheckUtils]: 22: Hoare triple {2928#true} assume !(0 == ~cond); {2928#true} is VALID [2018-11-18 23:12:06,184 INFO L273 TraceCheckUtils]: 23: Hoare triple {2928#true} assume true; {2928#true} is VALID [2018-11-18 23:12:06,185 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {2928#true} {2935#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} #89#return; {2935#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:06,185 INFO L273 TraceCheckUtils]: 25: Hoare triple {2935#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {2935#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:06,186 INFO L273 TraceCheckUtils]: 26: Hoare triple {2935#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2936#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-18 23:12:06,187 INFO L273 TraceCheckUtils]: 27: Hoare triple {2936#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume true; {2936#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-18 23:12:06,187 INFO L273 TraceCheckUtils]: 28: Hoare triple {2936#(= 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; {2936#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-18 23:12:06,188 INFO L273 TraceCheckUtils]: 29: Hoare triple {2936#(= 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; {2937#|main_#t~short6|} is VALID [2018-11-18 23:12:06,188 INFO L256 TraceCheckUtils]: 30: Hoare triple {2937#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2938#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-18 23:12:06,189 INFO L273 TraceCheckUtils]: 31: Hoare triple {2938#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {2939#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-18 23:12:06,189 INFO L273 TraceCheckUtils]: 32: Hoare triple {2939#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {2929#false} is VALID [2018-11-18 23:12:06,189 INFO L273 TraceCheckUtils]: 33: Hoare triple {2929#false} assume !false; {2929#false} is VALID [2018-11-18 23:12:06,195 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:12:06,195 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:12:06,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 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-18 23:12:06,212 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:12:06,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:06,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:06,241 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:12:06,304 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-18 23:12:06,309 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-18 23:12:06,314 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:12:06,321 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:12:06,330 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:12:06,330 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-18 23:12:06,366 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 18 [2018-11-18 23:12:06,376 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:12:06,377 INFO L477 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-18 23:12:06,379 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:12:06,385 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:12:06,392 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:12:06,392 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:26, output treesize:22 [2018-11-18 23:12:06,738 INFO L256 TraceCheckUtils]: 0: Hoare triple {2928#true} call ULTIMATE.init(); {2928#true} is VALID [2018-11-18 23:12:06,739 INFO L273 TraceCheckUtils]: 1: Hoare triple {2928#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {2928#true} is VALID [2018-11-18 23:12:06,739 INFO L273 TraceCheckUtils]: 2: Hoare triple {2928#true} assume true; {2928#true} is VALID [2018-11-18 23:12:06,739 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2928#true} {2928#true} #85#return; {2928#true} is VALID [2018-11-18 23:12:06,740 INFO L256 TraceCheckUtils]: 4: Hoare triple {2928#true} call #t~ret7 := main(); {2928#true} is VALID [2018-11-18 23:12:06,740 INFO L273 TraceCheckUtils]: 5: Hoare triple {2928#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {2928#true} is VALID [2018-11-18 23:12:06,740 INFO L273 TraceCheckUtils]: 6: Hoare triple {2928#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {2961#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-18 23:12:06,741 INFO L273 TraceCheckUtils]: 7: Hoare triple {2961#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {2965#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:06,741 INFO L273 TraceCheckUtils]: 8: Hoare triple {2965#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume true; {2965#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:06,742 INFO L273 TraceCheckUtils]: 9: Hoare triple {2965#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {2965#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:06,742 INFO L273 TraceCheckUtils]: 10: Hoare triple {2965#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {2965#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:06,743 INFO L273 TraceCheckUtils]: 11: Hoare triple {2965#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {2978#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:06,744 INFO L273 TraceCheckUtils]: 12: Hoare triple {2978#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {2982#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:12:06,745 INFO L273 TraceCheckUtils]: 13: Hoare triple {2982#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2982#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:12:06,752 INFO L273 TraceCheckUtils]: 14: Hoare triple {2982#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume true; {2982#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:12:06,753 INFO L273 TraceCheckUtils]: 15: Hoare triple {2982#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {2982#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:12:06,757 INFO L273 TraceCheckUtils]: 16: Hoare triple {2982#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} ~i~0 := 0; {2995#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-18 23:12:06,758 INFO L273 TraceCheckUtils]: 17: Hoare triple {2995#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} assume true; {2995#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-18 23:12:06,758 INFO L273 TraceCheckUtils]: 18: Hoare triple {2995#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {2995#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-18 23:12:06,759 INFO L273 TraceCheckUtils]: 19: Hoare triple {2995#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} assume #t~short6; {2995#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-18 23:12:06,764 INFO L256 TraceCheckUtils]: 20: Hoare triple {2995#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3008#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4))))} is VALID [2018-11-18 23:12:06,765 INFO L273 TraceCheckUtils]: 21: Hoare triple {3008#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4))))} ~cond := #in~cond; {3008#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4))))} is VALID [2018-11-18 23:12:06,765 INFO L273 TraceCheckUtils]: 22: Hoare triple {3008#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4))))} assume !(0 == ~cond); {3008#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4))))} is VALID [2018-11-18 23:12:06,765 INFO L273 TraceCheckUtils]: 23: Hoare triple {3008#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4))))} assume true; {3008#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4))))} is VALID [2018-11-18 23:12:06,770 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {3008#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 8)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4))))} {2995#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} #89#return; {2995#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-18 23:12:06,773 INFO L273 TraceCheckUtils]: 25: Hoare triple {2995#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {2995#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-18 23:12:06,774 INFO L273 TraceCheckUtils]: 26: Hoare triple {2995#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3027#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:12:06,774 INFO L273 TraceCheckUtils]: 27: Hoare triple {3027#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume true; {3027#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:12:06,775 INFO L273 TraceCheckUtils]: 28: Hoare triple {3027#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {3027#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:12:06,776 INFO L273 TraceCheckUtils]: 29: Hoare triple {3027#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {2937#|main_#t~short6|} is VALID [2018-11-18 23:12:06,777 INFO L256 TraceCheckUtils]: 30: Hoare triple {2937#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3040#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-18 23:12:06,778 INFO L273 TraceCheckUtils]: 31: Hoare triple {3040#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {3044#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-18 23:12:06,778 INFO L273 TraceCheckUtils]: 32: Hoare triple {3044#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2929#false} is VALID [2018-11-18 23:12:06,779 INFO L273 TraceCheckUtils]: 33: Hoare triple {2929#false} assume !false; {2929#false} is VALID [2018-11-18 23:12:06,787 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:12:06,814 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:12:06,814 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 21 [2018-11-18 23:12:06,815 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 34 [2018-11-18 23:12:06,815 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:12:06,815 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-18 23:12:07,038 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-18 23:12:07,039 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-18 23:12:07,039 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-18 23:12:07,039 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=354, Unknown=0, NotChecked=0, Total=420 [2018-11-18 23:12:07,040 INFO L87 Difference]: Start difference. First operand 74 states and 92 transitions. Second operand 21 states. [2018-11-18 23:12:12,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:12,569 INFO L93 Difference]: Finished difference Result 206 states and 255 transitions. [2018-11-18 23:12:12,569 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2018-11-18 23:12:12,569 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 34 [2018-11-18 23:12:12,569 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:12:12,569 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-18 23:12:12,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 157 transitions. [2018-11-18 23:12:12,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-18 23:12:12,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 157 transitions. [2018-11-18 23:12:12,577 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states and 157 transitions. [2018-11-18 23:12:12,912 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 157 edges. 157 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:12:12,918 INFO L225 Difference]: With dead ends: 206 [2018-11-18 23:12:12,918 INFO L226 Difference]: Without dead ends: 204 [2018-11-18 23:12:12,919 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 79 GetRequests, 27 SyntacticMatches, 3 SemanticMatches, 49 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 701 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=450, Invalid=2100, Unknown=0, NotChecked=0, Total=2550 [2018-11-18 23:12:12,920 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 204 states. [2018-11-18 23:12:13,891 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 204 to 126. [2018-11-18 23:12:13,891 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:12:13,892 INFO L82 GeneralOperation]: Start isEquivalent. First operand 204 states. Second operand 126 states. [2018-11-18 23:12:13,892 INFO L74 IsIncluded]: Start isIncluded. First operand 204 states. Second operand 126 states. [2018-11-18 23:12:13,892 INFO L87 Difference]: Start difference. First operand 204 states. Second operand 126 states. [2018-11-18 23:12:13,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:13,907 INFO L93 Difference]: Finished difference Result 204 states and 253 transitions. [2018-11-18 23:12:13,908 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 253 transitions. [2018-11-18 23:12:13,908 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:13,909 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:13,909 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand 204 states. [2018-11-18 23:12:13,909 INFO L87 Difference]: Start difference. First operand 126 states. Second operand 204 states. [2018-11-18 23:12:13,916 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:13,916 INFO L93 Difference]: Finished difference Result 204 states and 253 transitions. [2018-11-18 23:12:13,916 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 253 transitions. [2018-11-18 23:12:13,917 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:13,917 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:13,918 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:12:13,918 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:12:13,918 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 126 states. [2018-11-18 23:12:13,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 155 transitions. [2018-11-18 23:12:13,921 INFO L78 Accepts]: Start accepts. Automaton has 126 states and 155 transitions. Word has length 34 [2018-11-18 23:12:13,921 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:12:13,921 INFO L480 AbstractCegarLoop]: Abstraction has 126 states and 155 transitions. [2018-11-18 23:12:13,921 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-18 23:12:13,922 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 155 transitions. [2018-11-18 23:12:13,922 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-18 23:12:13,922 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:12:13,923 INFO L375 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:12:13,923 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:12:13,923 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:12:13,923 INFO L82 PathProgramCache]: Analyzing trace with hash -773231859, now seen corresponding path program 1 times [2018-11-18 23:12:13,923 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:12:13,923 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:12:13,924 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:13,924 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:12:13,924 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:13,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:14,544 INFO L256 TraceCheckUtils]: 0: Hoare triple {3944#true} call ULTIMATE.init(); {3944#true} is VALID [2018-11-18 23:12:14,544 INFO L273 TraceCheckUtils]: 1: Hoare triple {3944#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {3944#true} is VALID [2018-11-18 23:12:14,545 INFO L273 TraceCheckUtils]: 2: Hoare triple {3944#true} assume true; {3944#true} is VALID [2018-11-18 23:12:14,545 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3944#true} {3944#true} #85#return; {3944#true} is VALID [2018-11-18 23:12:14,545 INFO L256 TraceCheckUtils]: 4: Hoare triple {3944#true} call #t~ret7 := main(); {3944#true} is VALID [2018-11-18 23:12:14,545 INFO L273 TraceCheckUtils]: 5: Hoare triple {3944#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {3944#true} is VALID [2018-11-18 23:12:14,547 INFO L273 TraceCheckUtils]: 6: Hoare triple {3944#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {3946#(and (<= 2 ~CELLCOUNT~0) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} is VALID [2018-11-18 23:12:14,548 INFO L273 TraceCheckUtils]: 7: Hoare triple {3946#(and (<= 2 ~CELLCOUNT~0) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {3947#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} is VALID [2018-11-18 23:12:14,548 INFO L273 TraceCheckUtils]: 8: Hoare triple {3947#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} assume true; {3947#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} is VALID [2018-11-18 23:12:14,549 INFO L273 TraceCheckUtils]: 9: Hoare triple {3947#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {3947#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} is VALID [2018-11-18 23:12:14,551 INFO L273 TraceCheckUtils]: 10: Hoare triple {3947#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {3947#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} is VALID [2018-11-18 23:12:14,553 INFO L273 TraceCheckUtils]: 11: Hoare triple {3947#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {3948#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (+ main_~CCCELVOL1~0 2) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) main_~CCCELVOL1~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-18 23:12:14,563 INFO L273 TraceCheckUtils]: 12: Hoare triple {3948#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (+ main_~CCCELVOL1~0 2) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) main_~CCCELVOL1~0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {3949#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-18 23:12:14,564 INFO L273 TraceCheckUtils]: 13: Hoare triple {3949#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3950#(and (or (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 3 main_~i~0) (- 3))) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 3 main_~i~0) 5)) (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (* 3 main_~i~0) 6) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-18 23:12:14,564 INFO L273 TraceCheckUtils]: 14: Hoare triple {3950#(and (or (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 3 main_~i~0) (- 3))) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 3 main_~i~0) 5)) (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (* 3 main_~i~0) 6) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume true; {3950#(and (or (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 3 main_~i~0) (- 3))) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 3 main_~i~0) 5)) (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (* 3 main_~i~0) 6) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-18 23:12:14,566 INFO L273 TraceCheckUtils]: 15: Hoare triple {3950#(and (or (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ (* 3 main_~i~0) (- 3))) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 3 main_~i~0) 5)) (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (* 3 main_~i~0) 6) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {3951#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))))} is VALID [2018-11-18 23:12:14,566 INFO L273 TraceCheckUtils]: 16: Hoare triple {3951#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))))} ~i~0 := 0; {3952#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:14,567 INFO L273 TraceCheckUtils]: 17: Hoare triple {3952#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} assume true; {3952#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:14,568 INFO L273 TraceCheckUtils]: 18: Hoare triple {3952#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |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; {3952#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:14,569 INFO L273 TraceCheckUtils]: 19: Hoare triple {3952#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} assume #t~short6; {3952#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:14,569 INFO L256 TraceCheckUtils]: 20: Hoare triple {3952#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3944#true} is VALID [2018-11-18 23:12:14,570 INFO L273 TraceCheckUtils]: 21: Hoare triple {3944#true} ~cond := #in~cond; {3944#true} is VALID [2018-11-18 23:12:14,570 INFO L273 TraceCheckUtils]: 22: Hoare triple {3944#true} assume !(0 == ~cond); {3944#true} is VALID [2018-11-18 23:12:14,570 INFO L273 TraceCheckUtils]: 23: Hoare triple {3944#true} assume true; {3944#true} is VALID [2018-11-18 23:12:14,571 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {3944#true} {3952#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} #89#return; {3952#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:14,572 INFO L273 TraceCheckUtils]: 25: Hoare triple {3952#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {3952#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:14,573 INFO L273 TraceCheckUtils]: 26: Hoare triple {3952#(and (<= (+ (div ~CELLCOUNT~0 3) 2) ~CELLCOUNT~0) (<= (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2) 3) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (div (+ (* (- 3) (div ~CELLCOUNT~0 3)) (+ (* 3 ~CELLCOUNT~0) 1)) 2)) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3953#(<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-18 23:12:14,573 INFO L273 TraceCheckUtils]: 27: Hoare triple {3953#(<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume true; {3953#(<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-18 23:12:14,574 INFO L273 TraceCheckUtils]: 28: Hoare triple {3953#(<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {3954#|main_#t~short6|} is VALID [2018-11-18 23:12:14,574 INFO L273 TraceCheckUtils]: 29: Hoare triple {3954#|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; {3945#false} is VALID [2018-11-18 23:12:14,575 INFO L256 TraceCheckUtils]: 30: Hoare triple {3945#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3945#false} is VALID [2018-11-18 23:12:14,575 INFO L273 TraceCheckUtils]: 31: Hoare triple {3945#false} ~cond := #in~cond; {3945#false} is VALID [2018-11-18 23:12:14,575 INFO L273 TraceCheckUtils]: 32: Hoare triple {3945#false} assume 0 == ~cond; {3945#false} is VALID [2018-11-18 23:12:14,575 INFO L273 TraceCheckUtils]: 33: Hoare triple {3945#false} assume !false; {3945#false} is VALID [2018-11-18 23:12:14,582 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:12:14,582 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:12:14,582 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-18 23:12:14,591 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:12:14,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:14,644 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:14,646 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:12:14,970 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-18 23:12:14,973 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-18 23:12:14,975 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:12:14,978 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:12:14,989 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-18 23:12:14,990 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:19 [2018-11-18 23:12:14,992 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:12:15,032 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 18 [2018-11-18 23:12:15,038 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:12:15,041 INFO L477 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-18 23:12:15,044 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:12:15,051 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:12:15,059 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-18 23:12:15,060 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:13 [2018-11-18 23:12:15,064 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:12:15,184 INFO L256 TraceCheckUtils]: 0: Hoare triple {3944#true} call ULTIMATE.init(); {3944#true} is VALID [2018-11-18 23:12:15,185 INFO L273 TraceCheckUtils]: 1: Hoare triple {3944#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {3944#true} is VALID [2018-11-18 23:12:15,185 INFO L273 TraceCheckUtils]: 2: Hoare triple {3944#true} assume true; {3944#true} is VALID [2018-11-18 23:12:15,185 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3944#true} {3944#true} #85#return; {3944#true} is VALID [2018-11-18 23:12:15,186 INFO L256 TraceCheckUtils]: 4: Hoare triple {3944#true} call #t~ret7 := main(); {3944#true} is VALID [2018-11-18 23:12:15,186 INFO L273 TraceCheckUtils]: 5: Hoare triple {3944#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {3944#true} is VALID [2018-11-18 23:12:15,187 INFO L273 TraceCheckUtils]: 6: Hoare triple {3944#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {3976#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-18 23:12:15,187 INFO L273 TraceCheckUtils]: 7: Hoare triple {3976#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {3980#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:15,188 INFO L273 TraceCheckUtils]: 8: Hoare triple {3980#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume true; {3980#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:15,188 INFO L273 TraceCheckUtils]: 9: Hoare triple {3980#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {3980#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:15,189 INFO L273 TraceCheckUtils]: 10: Hoare triple {3980#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {3980#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:15,190 INFO L273 TraceCheckUtils]: 11: Hoare triple {3980#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {3993#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:15,191 INFO L273 TraceCheckUtils]: 12: Hoare triple {3993#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {3997#(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-18 23:12:15,192 INFO L273 TraceCheckUtils]: 13: Hoare triple {3997#(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; {3997#(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-18 23:12:15,193 INFO L273 TraceCheckUtils]: 14: Hoare triple {3997#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} assume true; {3997#(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-18 23:12:15,193 INFO L273 TraceCheckUtils]: 15: Hoare triple {3997#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {3997#(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-18 23:12:15,194 INFO L273 TraceCheckUtils]: 16: Hoare triple {3997#(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; {4010#(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-18 23:12:15,195 INFO L273 TraceCheckUtils]: 17: Hoare triple {4010#(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 true; {4010#(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-18 23:12:15,196 INFO L273 TraceCheckUtils]: 18: Hoare triple {4010#(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; {4010#(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-18 23:12:15,204 INFO L273 TraceCheckUtils]: 19: Hoare triple {4010#(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; {4010#(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-18 23:12:15,204 INFO L256 TraceCheckUtils]: 20: Hoare triple {4010#(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)); {3944#true} is VALID [2018-11-18 23:12:15,204 INFO L273 TraceCheckUtils]: 21: Hoare triple {3944#true} ~cond := #in~cond; {3944#true} is VALID [2018-11-18 23:12:15,204 INFO L273 TraceCheckUtils]: 22: Hoare triple {3944#true} assume !(0 == ~cond); {3944#true} is VALID [2018-11-18 23:12:15,204 INFO L273 TraceCheckUtils]: 23: Hoare triple {3944#true} assume true; {3944#true} is VALID [2018-11-18 23:12:15,205 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {3944#true} {4010#(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))} #89#return; {4010#(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-18 23:12:15,206 INFO L273 TraceCheckUtils]: 25: Hoare triple {4010#(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~short6;havoc #t~mem5;havoc #t~mem4; {4010#(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-18 23:12:15,207 INFO L273 TraceCheckUtils]: 26: Hoare triple {4010#(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; {3993#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:15,208 INFO L273 TraceCheckUtils]: 27: Hoare triple {3993#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume true; {3993#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:15,208 INFO L273 TraceCheckUtils]: 28: Hoare triple {3993#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {3954#|main_#t~short6|} is VALID [2018-11-18 23:12:15,209 INFO L273 TraceCheckUtils]: 29: Hoare triple {3954#|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; {3945#false} is VALID [2018-11-18 23:12:15,209 INFO L256 TraceCheckUtils]: 30: Hoare triple {3945#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3945#false} is VALID [2018-11-18 23:12:15,210 INFO L273 TraceCheckUtils]: 31: Hoare triple {3945#false} ~cond := #in~cond; {3945#false} is VALID [2018-11-18 23:12:15,210 INFO L273 TraceCheckUtils]: 32: Hoare triple {3945#false} assume 0 == ~cond; {3945#false} is VALID [2018-11-18 23:12:15,210 INFO L273 TraceCheckUtils]: 33: Hoare triple {3945#false} assume !false; {3945#false} is VALID [2018-11-18 23:12:15,214 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:12:15,232 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:12:15,232 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 16 [2018-11-18 23:12:15,232 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 34 [2018-11-18 23:12:15,233 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:12:15,233 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-18 23:12:15,301 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:12:15,301 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-18 23:12:15,301 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-18 23:12:15,301 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=198, Unknown=0, NotChecked=0, Total=240 [2018-11-18 23:12:15,302 INFO L87 Difference]: Start difference. First operand 126 states and 155 transitions. Second operand 16 states. [2018-11-18 23:12:19,729 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:19,730 INFO L93 Difference]: Finished difference Result 237 states and 296 transitions. [2018-11-18 23:12:19,730 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2018-11-18 23:12:19,730 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 34 [2018-11-18 23:12:19,730 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:12:19,730 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-18 23:12:19,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 154 transitions. [2018-11-18 23:12:19,734 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-18 23:12:19,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 154 transitions. [2018-11-18 23:12:19,737 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 154 transitions. [2018-11-18 23:12:20,313 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:12:20,319 INFO L225 Difference]: With dead ends: 237 [2018-11-18 23:12:20,319 INFO L226 Difference]: Without dead ends: 220 [2018-11-18 23:12:20,320 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 29 SyntacticMatches, 1 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 239 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=303, Invalid=1029, Unknown=0, NotChecked=0, Total=1332 [2018-11-18 23:12:20,320 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 220 states. [2018-11-18 23:12:20,996 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 220 to 137. [2018-11-18 23:12:20,996 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:12:20,996 INFO L82 GeneralOperation]: Start isEquivalent. First operand 220 states. Second operand 137 states. [2018-11-18 23:12:20,996 INFO L74 IsIncluded]: Start isIncluded. First operand 220 states. Second operand 137 states. [2018-11-18 23:12:20,997 INFO L87 Difference]: Start difference. First operand 220 states. Second operand 137 states. [2018-11-18 23:12:21,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:21,004 INFO L93 Difference]: Finished difference Result 220 states and 276 transitions. [2018-11-18 23:12:21,004 INFO L276 IsEmpty]: Start isEmpty. Operand 220 states and 276 transitions. [2018-11-18 23:12:21,005 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:21,005 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:21,005 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 220 states. [2018-11-18 23:12:21,006 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 220 states. [2018-11-18 23:12:21,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:21,012 INFO L93 Difference]: Finished difference Result 220 states and 276 transitions. [2018-11-18 23:12:21,013 INFO L276 IsEmpty]: Start isEmpty. Operand 220 states and 276 transitions. [2018-11-18 23:12:21,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:21,014 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:21,014 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:12:21,014 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:12:21,014 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2018-11-18 23:12:21,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 168 transitions. [2018-11-18 23:12:21,018 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 168 transitions. Word has length 34 [2018-11-18 23:12:21,018 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:12:21,018 INFO L480 AbstractCegarLoop]: Abstraction has 137 states and 168 transitions. [2018-11-18 23:12:21,018 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-18 23:12:21,018 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 168 transitions. [2018-11-18 23:12:21,019 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-18 23:12:21,019 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:12:21,019 INFO L375 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:12:21,019 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:12:21,020 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:12:21,020 INFO L82 PathProgramCache]: Analyzing trace with hash -1034135078, now seen corresponding path program 1 times [2018-11-18 23:12:21,020 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:12:21,020 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:12:21,021 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:21,021 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:12:21,021 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:21,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:21,247 INFO L256 TraceCheckUtils]: 0: Hoare triple {5022#true} call ULTIMATE.init(); {5022#true} is VALID [2018-11-18 23:12:21,247 INFO L273 TraceCheckUtils]: 1: Hoare triple {5022#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {5022#true} is VALID [2018-11-18 23:12:21,248 INFO L273 TraceCheckUtils]: 2: Hoare triple {5022#true} assume true; {5022#true} is VALID [2018-11-18 23:12:21,248 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5022#true} {5022#true} #85#return; {5022#true} is VALID [2018-11-18 23:12:21,248 INFO L256 TraceCheckUtils]: 4: Hoare triple {5022#true} call #t~ret7 := main(); {5022#true} is VALID [2018-11-18 23:12:21,248 INFO L273 TraceCheckUtils]: 5: Hoare triple {5022#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {5022#true} is VALID [2018-11-18 23:12:21,248 INFO L273 TraceCheckUtils]: 6: Hoare triple {5022#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {5022#true} is VALID [2018-11-18 23:12:21,249 INFO L273 TraceCheckUtils]: 7: Hoare triple {5022#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {5022#true} is VALID [2018-11-18 23:12:21,249 INFO L273 TraceCheckUtils]: 8: Hoare triple {5022#true} assume true; {5022#true} is VALID [2018-11-18 23:12:21,249 INFO L273 TraceCheckUtils]: 9: Hoare triple {5022#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {5022#true} is VALID [2018-11-18 23:12:21,249 INFO L273 TraceCheckUtils]: 10: Hoare triple {5022#true} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {5022#true} is VALID [2018-11-18 23:12:21,261 INFO L273 TraceCheckUtils]: 11: Hoare triple {5022#true} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {5024#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-18 23:12:21,274 INFO L273 TraceCheckUtils]: 12: Hoare triple {5024#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {5024#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-18 23:12:21,286 INFO L273 TraceCheckUtils]: 13: Hoare triple {5024#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5024#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-18 23:12:21,299 INFO L273 TraceCheckUtils]: 14: Hoare triple {5024#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} assume true; {5024#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-18 23:12:21,312 INFO L273 TraceCheckUtils]: 15: Hoare triple {5024#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {5024#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-18 23:12:21,323 INFO L273 TraceCheckUtils]: 16: Hoare triple {5024#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {5024#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-18 23:12:21,336 INFO L273 TraceCheckUtils]: 17: Hoare triple {5024#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {5023#false} is VALID [2018-11-18 23:12:21,336 INFO L273 TraceCheckUtils]: 18: Hoare triple {5023#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {5023#false} is VALID [2018-11-18 23:12:21,336 INFO L273 TraceCheckUtils]: 19: Hoare triple {5023#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5023#false} is VALID [2018-11-18 23:12:21,337 INFO L273 TraceCheckUtils]: 20: Hoare triple {5023#false} assume true; {5023#false} is VALID [2018-11-18 23:12:21,337 INFO L273 TraceCheckUtils]: 21: Hoare triple {5023#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {5023#false} is VALID [2018-11-18 23:12:21,337 INFO L273 TraceCheckUtils]: 22: Hoare triple {5023#false} ~i~0 := 0; {5023#false} is VALID [2018-11-18 23:12:21,337 INFO L273 TraceCheckUtils]: 23: Hoare triple {5023#false} assume true; {5023#false} is VALID [2018-11-18 23:12:21,337 INFO L273 TraceCheckUtils]: 24: Hoare triple {5023#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; {5023#false} is VALID [2018-11-18 23:12:21,338 INFO L273 TraceCheckUtils]: 25: Hoare triple {5023#false} assume #t~short6; {5023#false} is VALID [2018-11-18 23:12:21,338 INFO L256 TraceCheckUtils]: 26: Hoare triple {5023#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5022#true} is VALID [2018-11-18 23:12:21,338 INFO L273 TraceCheckUtils]: 27: Hoare triple {5022#true} ~cond := #in~cond; {5022#true} is VALID [2018-11-18 23:12:21,338 INFO L273 TraceCheckUtils]: 28: Hoare triple {5022#true} assume !(0 == ~cond); {5022#true} is VALID [2018-11-18 23:12:21,338 INFO L273 TraceCheckUtils]: 29: Hoare triple {5022#true} assume true; {5022#true} is VALID [2018-11-18 23:12:21,339 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {5022#true} {5023#false} #89#return; {5023#false} is VALID [2018-11-18 23:12:21,339 INFO L273 TraceCheckUtils]: 31: Hoare triple {5023#false} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {5023#false} is VALID [2018-11-18 23:12:21,339 INFO L273 TraceCheckUtils]: 32: Hoare triple {5023#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5023#false} is VALID [2018-11-18 23:12:21,339 INFO L273 TraceCheckUtils]: 33: Hoare triple {5023#false} assume true; {5023#false} is VALID [2018-11-18 23:12:21,339 INFO L273 TraceCheckUtils]: 34: Hoare triple {5023#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; {5023#false} is VALID [2018-11-18 23:12:21,340 INFO L273 TraceCheckUtils]: 35: Hoare triple {5023#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {5023#false} is VALID [2018-11-18 23:12:21,340 INFO L256 TraceCheckUtils]: 36: Hoare triple {5023#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5023#false} is VALID [2018-11-18 23:12:21,340 INFO L273 TraceCheckUtils]: 37: Hoare triple {5023#false} ~cond := #in~cond; {5023#false} is VALID [2018-11-18 23:12:21,340 INFO L273 TraceCheckUtils]: 38: Hoare triple {5023#false} assume 0 == ~cond; {5023#false} is VALID [2018-11-18 23:12:21,340 INFO L273 TraceCheckUtils]: 39: Hoare triple {5023#false} assume !false; {5023#false} is VALID [2018-11-18 23:12:21,342 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-18 23:12:21,342 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:12:21,342 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-18 23:12:21,342 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 40 [2018-11-18 23:12:21,343 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:12:21,343 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-18 23:12:21,389 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:12:21,389 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-18 23:12:21,390 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-18 23:12:21,390 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-18 23:12:21,390 INFO L87 Difference]: Start difference. First operand 137 states and 168 transitions. Second operand 3 states. [2018-11-18 23:12:22,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:22,451 INFO L93 Difference]: Finished difference Result 184 states and 224 transitions. [2018-11-18 23:12:22,451 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-18 23:12:22,451 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 40 [2018-11-18 23:12:22,451 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:12:22,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-18 23:12:22,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 73 transitions. [2018-11-18 23:12:22,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-18 23:12:22,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 73 transitions. [2018-11-18 23:12:22,453 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 73 transitions. [2018-11-18 23:12:23,003 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:12:23,006 INFO L225 Difference]: With dead ends: 184 [2018-11-18 23:12:23,007 INFO L226 Difference]: Without dead ends: 147 [2018-11-18 23:12:23,007 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-18 23:12:23,007 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 147 states. [2018-11-18 23:12:23,536 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 147 to 137. [2018-11-18 23:12:23,536 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:12:23,536 INFO L82 GeneralOperation]: Start isEquivalent. First operand 147 states. Second operand 137 states. [2018-11-18 23:12:23,536 INFO L74 IsIncluded]: Start isIncluded. First operand 147 states. Second operand 137 states. [2018-11-18 23:12:23,536 INFO L87 Difference]: Start difference. First operand 147 states. Second operand 137 states. [2018-11-18 23:12:23,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:23,541 INFO L93 Difference]: Finished difference Result 147 states and 177 transitions. [2018-11-18 23:12:23,541 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 177 transitions. [2018-11-18 23:12:23,542 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:23,542 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:23,542 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 147 states. [2018-11-18 23:12:23,542 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 147 states. [2018-11-18 23:12:23,546 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:23,546 INFO L93 Difference]: Finished difference Result 147 states and 177 transitions. [2018-11-18 23:12:23,546 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 177 transitions. [2018-11-18 23:12:23,547 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:23,547 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:23,547 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:12:23,547 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:12:23,547 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2018-11-18 23:12:23,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 164 transitions. [2018-11-18 23:12:23,551 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 164 transitions. Word has length 40 [2018-11-18 23:12:23,551 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:12:23,551 INFO L480 AbstractCegarLoop]: Abstraction has 137 states and 164 transitions. [2018-11-18 23:12:23,551 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-18 23:12:23,551 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 164 transitions. [2018-11-18 23:12:23,552 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-18 23:12:23,552 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:12:23,552 INFO L375 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:12:23,553 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:12:23,553 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:12:23,553 INFO L82 PathProgramCache]: Analyzing trace with hash 578663580, now seen corresponding path program 1 times [2018-11-18 23:12:23,553 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:12:23,553 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:12:23,554 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:23,554 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:12:23,554 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:23,560 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:23,774 INFO L256 TraceCheckUtils]: 0: Hoare triple {5733#true} call ULTIMATE.init(); {5733#true} is VALID [2018-11-18 23:12:23,775 INFO L273 TraceCheckUtils]: 1: Hoare triple {5733#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {5733#true} is VALID [2018-11-18 23:12:23,775 INFO L273 TraceCheckUtils]: 2: Hoare triple {5733#true} assume true; {5733#true} is VALID [2018-11-18 23:12:23,775 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5733#true} {5733#true} #85#return; {5733#true} is VALID [2018-11-18 23:12:23,775 INFO L256 TraceCheckUtils]: 4: Hoare triple {5733#true} call #t~ret7 := main(); {5733#true} is VALID [2018-11-18 23:12:23,776 INFO L273 TraceCheckUtils]: 5: Hoare triple {5733#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {5733#true} is VALID [2018-11-18 23:12:23,776 INFO L273 TraceCheckUtils]: 6: Hoare triple {5733#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {5733#true} is VALID [2018-11-18 23:12:23,776 INFO L273 TraceCheckUtils]: 7: Hoare triple {5733#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {5733#true} is VALID [2018-11-18 23:12:23,776 INFO L273 TraceCheckUtils]: 8: Hoare triple {5733#true} assume true; {5733#true} is VALID [2018-11-18 23:12:23,776 INFO L273 TraceCheckUtils]: 9: Hoare triple {5733#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {5733#true} is VALID [2018-11-18 23:12:23,777 INFO L273 TraceCheckUtils]: 10: Hoare triple {5733#true} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {5733#true} is VALID [2018-11-18 23:12:23,789 INFO L273 TraceCheckUtils]: 11: Hoare triple {5733#true} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {5735#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-18 23:12:23,808 INFO L273 TraceCheckUtils]: 12: Hoare triple {5735#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {5735#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-18 23:12:23,817 INFO L273 TraceCheckUtils]: 13: Hoare triple {5735#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5735#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-18 23:12:23,830 INFO L273 TraceCheckUtils]: 14: Hoare triple {5735#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume true; {5735#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-18 23:12:23,838 INFO L273 TraceCheckUtils]: 15: Hoare triple {5735#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {5735#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-18 23:12:23,851 INFO L273 TraceCheckUtils]: 16: Hoare triple {5735#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {5735#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-18 23:12:23,866 INFO L273 TraceCheckUtils]: 17: Hoare triple {5735#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {5734#false} is VALID [2018-11-18 23:12:23,866 INFO L273 TraceCheckUtils]: 18: Hoare triple {5734#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {5734#false} is VALID [2018-11-18 23:12:23,866 INFO L273 TraceCheckUtils]: 19: Hoare triple {5734#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5734#false} is VALID [2018-11-18 23:12:23,867 INFO L273 TraceCheckUtils]: 20: Hoare triple {5734#false} assume true; {5734#false} is VALID [2018-11-18 23:12:23,867 INFO L273 TraceCheckUtils]: 21: Hoare triple {5734#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {5734#false} is VALID [2018-11-18 23:12:23,867 INFO L273 TraceCheckUtils]: 22: Hoare triple {5734#false} ~i~0 := 0; {5734#false} is VALID [2018-11-18 23:12:23,867 INFO L273 TraceCheckUtils]: 23: Hoare triple {5734#false} assume true; {5734#false} is VALID [2018-11-18 23:12:23,867 INFO L273 TraceCheckUtils]: 24: Hoare triple {5734#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; {5734#false} is VALID [2018-11-18 23:12:23,868 INFO L273 TraceCheckUtils]: 25: Hoare triple {5734#false} assume #t~short6; {5734#false} is VALID [2018-11-18 23:12:23,868 INFO L256 TraceCheckUtils]: 26: Hoare triple {5734#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5733#true} is VALID [2018-11-18 23:12:23,868 INFO L273 TraceCheckUtils]: 27: Hoare triple {5733#true} ~cond := #in~cond; {5733#true} is VALID [2018-11-18 23:12:23,868 INFO L273 TraceCheckUtils]: 28: Hoare triple {5733#true} assume !(0 == ~cond); {5733#true} is VALID [2018-11-18 23:12:23,868 INFO L273 TraceCheckUtils]: 29: Hoare triple {5733#true} assume true; {5733#true} is VALID [2018-11-18 23:12:23,869 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {5733#true} {5734#false} #89#return; {5734#false} is VALID [2018-11-18 23:12:23,869 INFO L273 TraceCheckUtils]: 31: Hoare triple {5734#false} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {5734#false} is VALID [2018-11-18 23:12:23,869 INFO L273 TraceCheckUtils]: 32: Hoare triple {5734#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5734#false} is VALID [2018-11-18 23:12:23,869 INFO L273 TraceCheckUtils]: 33: Hoare triple {5734#false} assume true; {5734#false} is VALID [2018-11-18 23:12:23,870 INFO L273 TraceCheckUtils]: 34: Hoare triple {5734#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; {5734#false} is VALID [2018-11-18 23:12:23,870 INFO L273 TraceCheckUtils]: 35: Hoare triple {5734#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {5734#false} is VALID [2018-11-18 23:12:23,870 INFO L256 TraceCheckUtils]: 36: Hoare triple {5734#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5734#false} is VALID [2018-11-18 23:12:23,870 INFO L273 TraceCheckUtils]: 37: Hoare triple {5734#false} ~cond := #in~cond; {5734#false} is VALID [2018-11-18 23:12:23,870 INFO L273 TraceCheckUtils]: 38: Hoare triple {5734#false} assume 0 == ~cond; {5734#false} is VALID [2018-11-18 23:12:23,871 INFO L273 TraceCheckUtils]: 39: Hoare triple {5734#false} assume !false; {5734#false} is VALID [2018-11-18 23:12:23,872 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-18 23:12:23,873 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:12:23,873 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-18 23:12:23,873 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 40 [2018-11-18 23:12:23,873 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:12:23,873 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-18 23:12:24,350 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:12:24,350 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-18 23:12:24,350 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-18 23:12:24,350 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-18 23:12:24,351 INFO L87 Difference]: Start difference. First operand 137 states and 164 transitions. Second operand 3 states. [2018-11-18 23:12:25,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:25,033 INFO L93 Difference]: Finished difference Result 157 states and 185 transitions. [2018-11-18 23:12:25,033 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-18 23:12:25,033 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 40 [2018-11-18 23:12:25,033 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:12:25,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-18 23:12:25,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 72 transitions. [2018-11-18 23:12:25,034 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-18 23:12:25,035 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 72 transitions. [2018-11-18 23:12:25,035 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 72 transitions. [2018-11-18 23:12:25,671 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-18 23:12:25,674 INFO L225 Difference]: With dead ends: 157 [2018-11-18 23:12:25,674 INFO L226 Difference]: Without dead ends: 120 [2018-11-18 23:12:25,675 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-18 23:12:25,675 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 120 states. [2018-11-18 23:12:26,306 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 120 to 120. [2018-11-18 23:12:26,306 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:12:26,306 INFO L82 GeneralOperation]: Start isEquivalent. First operand 120 states. Second operand 120 states. [2018-11-18 23:12:26,306 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand 120 states. [2018-11-18 23:12:26,307 INFO L87 Difference]: Start difference. First operand 120 states. Second operand 120 states. [2018-11-18 23:12:26,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:26,310 INFO L93 Difference]: Finished difference Result 120 states and 142 transitions. [2018-11-18 23:12:26,310 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 142 transitions. [2018-11-18 23:12:26,310 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:26,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:26,311 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand 120 states. [2018-11-18 23:12:26,311 INFO L87 Difference]: Start difference. First operand 120 states. Second operand 120 states. [2018-11-18 23:12:26,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:26,314 INFO L93 Difference]: Finished difference Result 120 states and 142 transitions. [2018-11-18 23:12:26,314 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 142 transitions. [2018-11-18 23:12:26,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:26,315 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:26,315 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:12:26,315 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:12:26,315 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 120 states. [2018-11-18 23:12:26,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 142 transitions. [2018-11-18 23:12:26,318 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 142 transitions. Word has length 40 [2018-11-18 23:12:26,318 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:12:26,318 INFO L480 AbstractCegarLoop]: Abstraction has 120 states and 142 transitions. [2018-11-18 23:12:26,319 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-18 23:12:26,319 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 142 transitions. [2018-11-18 23:12:26,319 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-18 23:12:26,319 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:12:26,320 INFO L375 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:12:26,320 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:12:26,320 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:12:26,320 INFO L82 PathProgramCache]: Analyzing trace with hash -546514600, now seen corresponding path program 2 times [2018-11-18 23:12:26,320 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:12:26,320 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:12:26,321 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:26,321 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:12:26,321 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:26,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:27,064 INFO L256 TraceCheckUtils]: 0: Hoare triple {6336#true} call ULTIMATE.init(); {6336#true} is VALID [2018-11-18 23:12:27,064 INFO L273 TraceCheckUtils]: 1: Hoare triple {6336#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {6336#true} is VALID [2018-11-18 23:12:27,064 INFO L273 TraceCheckUtils]: 2: Hoare triple {6336#true} assume true; {6336#true} is VALID [2018-11-18 23:12:27,065 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6336#true} {6336#true} #85#return; {6336#true} is VALID [2018-11-18 23:12:27,065 INFO L256 TraceCheckUtils]: 4: Hoare triple {6336#true} call #t~ret7 := main(); {6336#true} is VALID [2018-11-18 23:12:27,065 INFO L273 TraceCheckUtils]: 5: Hoare triple {6336#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {6336#true} is VALID [2018-11-18 23:12:27,066 INFO L273 TraceCheckUtils]: 6: Hoare triple {6336#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {6338#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-18 23:12:27,067 INFO L273 TraceCheckUtils]: 7: Hoare triple {6338#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {6339#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:12:27,068 INFO L273 TraceCheckUtils]: 8: Hoare triple {6339#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume true; {6339#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:12:27,068 INFO L273 TraceCheckUtils]: 9: Hoare triple {6339#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {6339#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:12:27,069 INFO L273 TraceCheckUtils]: 10: Hoare triple {6339#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {6339#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:12:27,069 INFO L273 TraceCheckUtils]: 11: Hoare triple {6339#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {6339#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:12:27,070 INFO L273 TraceCheckUtils]: 12: Hoare triple {6339#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {6340#(and (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)))) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-18 23:12:27,072 INFO L273 TraceCheckUtils]: 13: Hoare triple {6340#(and (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)))) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6341#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4))))) (<= (* 3 main_~i~0) 5)) (<= (* 3 main_~i~0) 6) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-18 23:12:27,072 INFO L273 TraceCheckUtils]: 14: Hoare triple {6341#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4))))) (<= (* 3 main_~i~0) 5)) (<= (* 3 main_~i~0) 6) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume true; {6341#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4))))) (<= (* 3 main_~i~0) 5)) (<= (* 3 main_~i~0) 6) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-18 23:12:27,074 INFO L273 TraceCheckUtils]: 15: Hoare triple {6341#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4))))) (<= (* 3 main_~i~0) 5)) (<= (* 3 main_~i~0) 6) (< 0 (+ ~CELLCOUNT~0 1)) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {6342#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))))} is VALID [2018-11-18 23:12:27,075 INFO L273 TraceCheckUtils]: 16: Hoare triple {6342#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))))} ~i~0 := 0; {6343#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:27,076 INFO L273 TraceCheckUtils]: 17: Hoare triple {6343#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} assume true; {6343#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:27,077 INFO L273 TraceCheckUtils]: 18: Hoare triple {6343#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {6343#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:27,077 INFO L273 TraceCheckUtils]: 19: Hoare triple {6343#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} assume #t~short6; {6343#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:27,078 INFO L256 TraceCheckUtils]: 20: Hoare triple {6343#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6336#true} is VALID [2018-11-18 23:12:27,078 INFO L273 TraceCheckUtils]: 21: Hoare triple {6336#true} ~cond := #in~cond; {6336#true} is VALID [2018-11-18 23:12:27,078 INFO L273 TraceCheckUtils]: 22: Hoare triple {6336#true} assume !(0 == ~cond); {6336#true} is VALID [2018-11-18 23:12:27,078 INFO L273 TraceCheckUtils]: 23: Hoare triple {6336#true} assume true; {6336#true} is VALID [2018-11-18 23:12:27,080 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {6336#true} {6343#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} #89#return; {6343#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:27,080 INFO L273 TraceCheckUtils]: 25: Hoare triple {6343#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {6343#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:27,081 INFO L273 TraceCheckUtils]: 26: Hoare triple {6343#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6344#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-18 23:12:27,081 INFO L273 TraceCheckUtils]: 27: Hoare triple {6344#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} assume true; {6344#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-18 23:12:27,103 INFO L273 TraceCheckUtils]: 28: Hoare triple {6344#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {6344#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-18 23:12:27,121 INFO L273 TraceCheckUtils]: 29: Hoare triple {6344#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} assume #t~short6; {6344#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-18 23:12:27,121 INFO L256 TraceCheckUtils]: 30: Hoare triple {6344#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6336#true} is VALID [2018-11-18 23:12:27,121 INFO L273 TraceCheckUtils]: 31: Hoare triple {6336#true} ~cond := #in~cond; {6336#true} is VALID [2018-11-18 23:12:27,121 INFO L273 TraceCheckUtils]: 32: Hoare triple {6336#true} assume !(0 == ~cond); {6336#true} is VALID [2018-11-18 23:12:27,122 INFO L273 TraceCheckUtils]: 33: Hoare triple {6336#true} assume true; {6336#true} is VALID [2018-11-18 23:12:27,131 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {6336#true} {6344#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} #89#return; {6344#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-18 23:12:27,131 INFO L273 TraceCheckUtils]: 35: Hoare triple {6344#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {6344#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-18 23:12:27,132 INFO L273 TraceCheckUtils]: 36: Hoare triple {6344#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6345#(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-18 23:12:27,133 INFO L273 TraceCheckUtils]: 37: Hoare triple {6345#(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 true; {6345#(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-18 23:12:27,133 INFO L273 TraceCheckUtils]: 38: Hoare triple {6345#(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; {6346#|main_#t~short6|} is VALID [2018-11-18 23:12:27,133 INFO L273 TraceCheckUtils]: 39: Hoare triple {6346#|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; {6337#false} is VALID [2018-11-18 23:12:27,134 INFO L256 TraceCheckUtils]: 40: Hoare triple {6337#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6337#false} is VALID [2018-11-18 23:12:27,134 INFO L273 TraceCheckUtils]: 41: Hoare triple {6337#false} ~cond := #in~cond; {6337#false} is VALID [2018-11-18 23:12:27,134 INFO L273 TraceCheckUtils]: 42: Hoare triple {6337#false} assume 0 == ~cond; {6337#false} is VALID [2018-11-18 23:12:27,134 INFO L273 TraceCheckUtils]: 43: Hoare triple {6337#false} assume !false; {6337#false} is VALID [2018-11-18 23:12:27,143 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 14 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-18 23:12:27,143 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:12:27,144 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-18 23:12:27,155 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-18 23:12:27,177 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-18 23:12:27,178 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:12:27,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:27,196 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:12:27,326 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-18 23:12:27,332 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-18 23:12:27,336 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:12:27,340 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:12:27,349 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:12:27,350 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:20, output treesize:16 [2018-11-18 23:12:28,017 INFO L256 TraceCheckUtils]: 0: Hoare triple {6336#true} call ULTIMATE.init(); {6336#true} is VALID [2018-11-18 23:12:28,017 INFO L273 TraceCheckUtils]: 1: Hoare triple {6336#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {6336#true} is VALID [2018-11-18 23:12:28,017 INFO L273 TraceCheckUtils]: 2: Hoare triple {6336#true} assume true; {6336#true} is VALID [2018-11-18 23:12:28,018 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6336#true} {6336#true} #85#return; {6336#true} is VALID [2018-11-18 23:12:28,018 INFO L256 TraceCheckUtils]: 4: Hoare triple {6336#true} call #t~ret7 := main(); {6336#true} is VALID [2018-11-18 23:12:28,018 INFO L273 TraceCheckUtils]: 5: Hoare triple {6336#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {6336#true} is VALID [2018-11-18 23:12:28,020 INFO L273 TraceCheckUtils]: 6: Hoare triple {6336#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {6368#(and (= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:28,020 INFO L273 TraceCheckUtils]: 7: Hoare triple {6368#(and (= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {6372#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:28,022 INFO L273 TraceCheckUtils]: 8: Hoare triple {6372#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume true; {6372#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:28,022 INFO L273 TraceCheckUtils]: 9: Hoare triple {6372#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {6372#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:28,024 INFO L273 TraceCheckUtils]: 10: Hoare triple {6372#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {6372#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:28,026 INFO L273 TraceCheckUtils]: 11: Hoare triple {6372#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {6372#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:28,028 INFO L273 TraceCheckUtils]: 12: Hoare triple {6372#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {6388#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-18 23:12:28,028 INFO L273 TraceCheckUtils]: 13: Hoare triple {6388#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6388#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-18 23:12:28,030 INFO L273 TraceCheckUtils]: 14: Hoare triple {6388#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} assume true; {6388#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-18 23:12:28,030 INFO L273 TraceCheckUtils]: 15: Hoare triple {6388#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {6388#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-18 23:12:28,036 INFO L273 TraceCheckUtils]: 16: Hoare triple {6388#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} ~i~0 := 0; {6401#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} is VALID [2018-11-18 23:12:28,038 INFO L273 TraceCheckUtils]: 17: Hoare triple {6401#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} assume true; {6401#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} is VALID [2018-11-18 23:12:28,038 INFO L273 TraceCheckUtils]: 18: Hoare triple {6401#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {6401#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} is VALID [2018-11-18 23:12:28,052 INFO L273 TraceCheckUtils]: 19: Hoare triple {6401#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} assume #t~short6; {6401#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} is VALID [2018-11-18 23:12:28,053 INFO L256 TraceCheckUtils]: 20: Hoare triple {6401#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6414#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} is VALID [2018-11-18 23:12:28,054 INFO L273 TraceCheckUtils]: 21: Hoare triple {6414#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} ~cond := #in~cond; {6414#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} is VALID [2018-11-18 23:12:28,054 INFO L273 TraceCheckUtils]: 22: Hoare triple {6414#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} assume !(0 == ~cond); {6414#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} is VALID [2018-11-18 23:12:28,054 INFO L273 TraceCheckUtils]: 23: Hoare triple {6414#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} assume true; {6414#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} is VALID [2018-11-18 23:12:28,055 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {6414#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} {6401#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} #89#return; {6401#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} is VALID [2018-11-18 23:12:28,056 INFO L273 TraceCheckUtils]: 25: Hoare triple {6401#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {6401#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} is VALID [2018-11-18 23:12:28,056 INFO L273 TraceCheckUtils]: 26: Hoare triple {6401#(and (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6433#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-18 23:12:28,057 INFO L273 TraceCheckUtils]: 27: Hoare triple {6433#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} assume true; {6433#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-18 23:12:28,058 INFO L273 TraceCheckUtils]: 28: Hoare triple {6433#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {6433#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-18 23:12:28,078 INFO L273 TraceCheckUtils]: 29: Hoare triple {6433#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} assume #t~short6; {6433#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-18 23:12:28,093 INFO L256 TraceCheckUtils]: 30: Hoare triple {6433#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6414#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} is VALID [2018-11-18 23:12:28,096 INFO L273 TraceCheckUtils]: 31: Hoare triple {6414#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} ~cond := #in~cond; {6414#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} is VALID [2018-11-18 23:12:28,096 INFO L273 TraceCheckUtils]: 32: Hoare triple {6414#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} assume !(0 == ~cond); {6414#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} is VALID [2018-11-18 23:12:28,096 INFO L273 TraceCheckUtils]: 33: Hoare triple {6414#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} assume true; {6414#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} is VALID [2018-11-18 23:12:28,097 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {6414#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 1))} {6433#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} #89#return; {6433#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-18 23:12:28,098 INFO L273 TraceCheckUtils]: 35: Hoare triple {6433#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {6433#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-18 23:12:28,098 INFO L273 TraceCheckUtils]: 36: Hoare triple {6433#(and (<= main_~MINVAL~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6464#(and (= main_~i~0 2) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-18 23:12:28,099 INFO L273 TraceCheckUtils]: 37: Hoare triple {6464#(and (= main_~i~0 2) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} assume true; {6464#(and (= main_~i~0 2) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-18 23:12:28,099 INFO L273 TraceCheckUtils]: 38: Hoare triple {6464#(and (= main_~i~0 2) (<= main_~MINVAL~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {6471#(and (= main_~i~0 2) |main_#t~short6| (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} is VALID [2018-11-18 23:12:28,100 INFO L273 TraceCheckUtils]: 39: Hoare triple {6471#(and (= main_~i~0 2) |main_#t~short6| (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 1))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {6337#false} is VALID [2018-11-18 23:12:28,100 INFO L256 TraceCheckUtils]: 40: Hoare triple {6337#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6337#false} is VALID [2018-11-18 23:12:28,100 INFO L273 TraceCheckUtils]: 41: Hoare triple {6337#false} ~cond := #in~cond; {6337#false} is VALID [2018-11-18 23:12:28,100 INFO L273 TraceCheckUtils]: 42: Hoare triple {6337#false} assume 0 == ~cond; {6337#false} is VALID [2018-11-18 23:12:28,100 INFO L273 TraceCheckUtils]: 43: Hoare triple {6337#false} assume !false; {6337#false} is VALID [2018-11-18 23:12:28,106 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 14 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-18 23:12:28,125 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:12:28,125 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 19 [2018-11-18 23:12:28,125 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 44 [2018-11-18 23:12:28,126 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:12:28,126 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-18 23:12:28,210 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-18 23:12:28,210 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-18 23:12:28,211 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-18 23:12:28,211 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=292, Unknown=0, NotChecked=0, Total=342 [2018-11-18 23:12:28,211 INFO L87 Difference]: Start difference. First operand 120 states and 142 transitions. Second operand 19 states. [2018-11-18 23:12:34,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:34,001 INFO L93 Difference]: Finished difference Result 278 states and 334 transitions. [2018-11-18 23:12:34,001 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2018-11-18 23:12:34,001 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 44 [2018-11-18 23:12:34,001 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:12:34,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-18 23:12:34,006 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 166 transitions. [2018-11-18 23:12:34,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-18 23:12:34,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 166 transitions. [2018-11-18 23:12:34,009 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 166 transitions. [2018-11-18 23:12:34,538 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 166 edges. 166 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:12:34,545 INFO L225 Difference]: With dead ends: 278 [2018-11-18 23:12:34,545 INFO L226 Difference]: Without dead ends: 204 [2018-11-18 23:12:34,547 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 35 SyntacticMatches, 3 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 357 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=352, Invalid=1370, Unknown=0, NotChecked=0, Total=1722 [2018-11-18 23:12:34,547 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 204 states. [2018-11-18 23:12:35,372 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 204 to 175. [2018-11-18 23:12:35,372 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:12:35,372 INFO L82 GeneralOperation]: Start isEquivalent. First operand 204 states. Second operand 175 states. [2018-11-18 23:12:35,373 INFO L74 IsIncluded]: Start isIncluded. First operand 204 states. Second operand 175 states. [2018-11-18 23:12:35,373 INFO L87 Difference]: Start difference. First operand 204 states. Second operand 175 states. [2018-11-18 23:12:35,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:35,381 INFO L93 Difference]: Finished difference Result 204 states and 238 transitions. [2018-11-18 23:12:35,381 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 238 transitions. [2018-11-18 23:12:35,382 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:35,382 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:35,382 INFO L74 IsIncluded]: Start isIncluded. First operand 175 states. Second operand 204 states. [2018-11-18 23:12:35,383 INFO L87 Difference]: Start difference. First operand 175 states. Second operand 204 states. [2018-11-18 23:12:35,390 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:35,390 INFO L93 Difference]: Finished difference Result 204 states and 238 transitions. [2018-11-18 23:12:35,390 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 238 transitions. [2018-11-18 23:12:35,391 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:35,391 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:35,391 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:12:35,391 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:12:35,392 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 175 states. [2018-11-18 23:12:35,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 175 states to 175 states and 206 transitions. [2018-11-18 23:12:35,398 INFO L78 Accepts]: Start accepts. Automaton has 175 states and 206 transitions. Word has length 44 [2018-11-18 23:12:35,398 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:12:35,398 INFO L480 AbstractCegarLoop]: Abstraction has 175 states and 206 transitions. [2018-11-18 23:12:35,398 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-18 23:12:35,398 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 206 transitions. [2018-11-18 23:12:35,399 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-18 23:12:35,399 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:12:35,399 INFO L375 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:12:35,400 INFO L423 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:12:35,400 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:12:35,400 INFO L82 PathProgramCache]: Analyzing trace with hash -271754986, now seen corresponding path program 1 times [2018-11-18 23:12:35,400 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:12:35,400 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:12:35,401 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:35,401 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:12:35,401 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:35,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:36,121 WARN L180 SmtUtils]: Spent 317.00 ms on a formula simplification. DAG size of input: 18 DAG size of output: 13 [2018-11-18 23:12:36,482 INFO L256 TraceCheckUtils]: 0: Hoare triple {7521#true} call ULTIMATE.init(); {7521#true} is VALID [2018-11-18 23:12:36,482 INFO L273 TraceCheckUtils]: 1: Hoare triple {7521#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {7521#true} is VALID [2018-11-18 23:12:36,482 INFO L273 TraceCheckUtils]: 2: Hoare triple {7521#true} assume true; {7521#true} is VALID [2018-11-18 23:12:36,483 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7521#true} {7521#true} #85#return; {7521#true} is VALID [2018-11-18 23:12:36,483 INFO L256 TraceCheckUtils]: 4: Hoare triple {7521#true} call #t~ret7 := main(); {7521#true} is VALID [2018-11-18 23:12:36,483 INFO L273 TraceCheckUtils]: 5: Hoare triple {7521#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {7521#true} is VALID [2018-11-18 23:12:36,487 INFO L273 TraceCheckUtils]: 6: Hoare triple {7521#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {7523#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-18 23:12:36,488 INFO L273 TraceCheckUtils]: 7: Hoare triple {7523#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {7524#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:12:36,489 INFO L273 TraceCheckUtils]: 8: Hoare triple {7524#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume true; {7524#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:12:36,489 INFO L273 TraceCheckUtils]: 9: Hoare triple {7524#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {7524#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:12:36,490 INFO L273 TraceCheckUtils]: 10: Hoare triple {7524#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {7524#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:12:36,490 INFO L273 TraceCheckUtils]: 11: Hoare triple {7524#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {7524#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:12:36,491 INFO L273 TraceCheckUtils]: 12: Hoare triple {7524#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {7525#(and (= main_~i~0 1) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)))) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:12:36,492 INFO L273 TraceCheckUtils]: 13: Hoare triple {7525#(and (= main_~i~0 1) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)))) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7526#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4))))) (<= (* 3 main_~i~0) 5)) (<= (* 3 main_~i~0) 6) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:12:36,493 INFO L273 TraceCheckUtils]: 14: Hoare triple {7526#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4))))) (<= (* 3 main_~i~0) 5)) (<= (* 3 main_~i~0) 6) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume true; {7526#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4))))) (<= (* 3 main_~i~0) 5)) (<= (* 3 main_~i~0) 6) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-18 23:12:36,494 INFO L273 TraceCheckUtils]: 15: Hoare triple {7526#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4))))) (<= (* 3 main_~i~0) 5)) (<= (* 3 main_~i~0) 6) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {7527#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))))} is VALID [2018-11-18 23:12:36,495 INFO L273 TraceCheckUtils]: 16: Hoare triple {7527#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))))} ~i~0 := 0; {7528#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:36,496 INFO L273 TraceCheckUtils]: 17: Hoare triple {7528#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} assume true; {7528#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:36,497 INFO L273 TraceCheckUtils]: 18: Hoare triple {7528#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {7528#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:36,498 INFO L273 TraceCheckUtils]: 19: Hoare triple {7528#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} assume #t~short6; {7528#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:36,498 INFO L256 TraceCheckUtils]: 20: Hoare triple {7528#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {7521#true} is VALID [2018-11-18 23:12:36,498 INFO L273 TraceCheckUtils]: 21: Hoare triple {7521#true} ~cond := #in~cond; {7521#true} is VALID [2018-11-18 23:12:36,498 INFO L273 TraceCheckUtils]: 22: Hoare triple {7521#true} assume !(0 == ~cond); {7521#true} is VALID [2018-11-18 23:12:36,499 INFO L273 TraceCheckUtils]: 23: Hoare triple {7521#true} assume true; {7521#true} is VALID [2018-11-18 23:12:36,499 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {7521#true} {7528#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} #89#return; {7528#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:36,500 INFO L273 TraceCheckUtils]: 25: Hoare triple {7528#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {7528#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:36,513 INFO L273 TraceCheckUtils]: 26: Hoare triple {7528#(and (<= ~CELLCOUNT~0 3) (or (<= ~CELLCOUNT~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 3) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7529#(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-18 23:12:36,514 INFO L273 TraceCheckUtils]: 27: Hoare triple {7529#(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 true; {7529#(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-18 23:12:36,514 INFO L273 TraceCheckUtils]: 28: Hoare triple {7529#(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; {7529#(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-18 23:12:36,515 INFO L273 TraceCheckUtils]: 29: Hoare triple {7529#(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; {7529#(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-18 23:12:36,515 INFO L256 TraceCheckUtils]: 30: Hoare triple {7529#(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)); {7521#true} is VALID [2018-11-18 23:12:36,515 INFO L273 TraceCheckUtils]: 31: Hoare triple {7521#true} ~cond := #in~cond; {7521#true} is VALID [2018-11-18 23:12:36,515 INFO L273 TraceCheckUtils]: 32: Hoare triple {7521#true} assume !(0 == ~cond); {7521#true} is VALID [2018-11-18 23:12:36,515 INFO L273 TraceCheckUtils]: 33: Hoare triple {7521#true} assume true; {7521#true} is VALID [2018-11-18 23:12:36,516 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {7521#true} {7529#(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)))} #89#return; {7529#(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-18 23:12:36,516 INFO L273 TraceCheckUtils]: 35: Hoare triple {7529#(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~short6;havoc #t~mem5;havoc #t~mem4; {7529#(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-18 23:12:36,517 INFO L273 TraceCheckUtils]: 36: Hoare triple {7529#(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; {7530#(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-18 23:12:36,518 INFO L273 TraceCheckUtils]: 37: Hoare triple {7530#(or (<= ~CELLCOUNT~0 main_~i~0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))))} assume true; {7530#(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-18 23:12:36,519 INFO L273 TraceCheckUtils]: 38: Hoare triple {7530#(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; {7531#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-18 23:12:36,520 INFO L273 TraceCheckUtils]: 39: Hoare triple {7531#(= 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; {7532#|main_#t~short6|} is VALID [2018-11-18 23:12:36,520 INFO L256 TraceCheckUtils]: 40: Hoare triple {7532#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {7533#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-18 23:12:36,521 INFO L273 TraceCheckUtils]: 41: Hoare triple {7533#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {7534#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-18 23:12:36,522 INFO L273 TraceCheckUtils]: 42: Hoare triple {7534#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {7522#false} is VALID [2018-11-18 23:12:36,522 INFO L273 TraceCheckUtils]: 43: Hoare triple {7522#false} assume !false; {7522#false} is VALID [2018-11-18 23:12:36,531 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 4 proven. 16 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-18 23:12:36,531 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:12:36,531 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-18 23:12:36,543 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:12:36,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:36,578 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:36,581 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:12:36,720 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-18 23:12:36,722 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-18 23:12:36,723 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:12:36,725 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:12:36,730 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:12:36,730 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-18 23:12:37,088 INFO L256 TraceCheckUtils]: 0: Hoare triple {7521#true} call ULTIMATE.init(); {7521#true} is VALID [2018-11-18 23:12:37,089 INFO L273 TraceCheckUtils]: 1: Hoare triple {7521#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {7521#true} is VALID [2018-11-18 23:12:37,089 INFO L273 TraceCheckUtils]: 2: Hoare triple {7521#true} assume true; {7521#true} is VALID [2018-11-18 23:12:37,089 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7521#true} {7521#true} #85#return; {7521#true} is VALID [2018-11-18 23:12:37,090 INFO L256 TraceCheckUtils]: 4: Hoare triple {7521#true} call #t~ret7 := main(); {7521#true} is VALID [2018-11-18 23:12:37,090 INFO L273 TraceCheckUtils]: 5: Hoare triple {7521#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {7521#true} is VALID [2018-11-18 23:12:37,100 INFO L273 TraceCheckUtils]: 6: Hoare triple {7521#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {7556#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-18 23:12:37,101 INFO L273 TraceCheckUtils]: 7: Hoare triple {7556#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {7560#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:37,101 INFO L273 TraceCheckUtils]: 8: Hoare triple {7560#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume true; {7560#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:37,102 INFO L273 TraceCheckUtils]: 9: Hoare triple {7560#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {7560#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:37,102 INFO L273 TraceCheckUtils]: 10: Hoare triple {7560#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {7560#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:37,102 INFO L273 TraceCheckUtils]: 11: Hoare triple {7560#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {7560#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:37,103 INFO L273 TraceCheckUtils]: 12: Hoare triple {7560#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {7576#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:12:37,104 INFO L273 TraceCheckUtils]: 13: Hoare triple {7576#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7576#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:12:37,104 INFO L273 TraceCheckUtils]: 14: Hoare triple {7576#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume true; {7576#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:12:37,105 INFO L273 TraceCheckUtils]: 15: Hoare triple {7576#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {7576#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:12:37,106 INFO L273 TraceCheckUtils]: 16: Hoare triple {7576#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} ~i~0 := 0; {7589#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-18 23:12:37,107 INFO L273 TraceCheckUtils]: 17: Hoare triple {7589#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} assume true; {7589#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-18 23:12:37,108 INFO L273 TraceCheckUtils]: 18: Hoare triple {7589#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {7589#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-18 23:12:37,108 INFO L273 TraceCheckUtils]: 19: Hoare triple {7589#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} assume #t~short6; {7589#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-18 23:12:37,110 INFO L256 TraceCheckUtils]: 20: Hoare triple {7589#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {7602#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} is VALID [2018-11-18 23:12:37,110 INFO L273 TraceCheckUtils]: 21: Hoare triple {7602#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} ~cond := #in~cond; {7602#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} is VALID [2018-11-18 23:12:37,111 INFO L273 TraceCheckUtils]: 22: Hoare triple {7602#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} assume !(0 == ~cond); {7602#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} is VALID [2018-11-18 23:12:37,111 INFO L273 TraceCheckUtils]: 23: Hoare triple {7602#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} assume true; {7602#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} is VALID [2018-11-18 23:12:37,112 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {7602#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} {7589#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} #89#return; {7589#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-18 23:12:37,113 INFO L273 TraceCheckUtils]: 25: Hoare triple {7589#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {7589#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-18 23:12:37,114 INFO L273 TraceCheckUtils]: 26: Hoare triple {7589#(and (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7621#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:12:37,114 INFO L273 TraceCheckUtils]: 27: Hoare triple {7621#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume true; {7621#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:12:37,115 INFO L273 TraceCheckUtils]: 28: Hoare triple {7621#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {7621#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:12:37,116 INFO L273 TraceCheckUtils]: 29: Hoare triple {7621#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume #t~short6; {7621#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:12:37,117 INFO L256 TraceCheckUtils]: 30: Hoare triple {7621#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {7602#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} is VALID [2018-11-18 23:12:37,118 INFO L273 TraceCheckUtils]: 31: Hoare triple {7602#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} ~cond := #in~cond; {7602#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} is VALID [2018-11-18 23:12:37,119 INFO L273 TraceCheckUtils]: 32: Hoare triple {7602#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} assume !(0 == ~cond); {7602#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} is VALID [2018-11-18 23:12:37,119 INFO L273 TraceCheckUtils]: 33: Hoare triple {7602#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} assume true; {7602#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} is VALID [2018-11-18 23:12:37,120 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {7602#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_5| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_5|) 8) 0))} {7621#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} #89#return; {7621#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:12:37,121 INFO L273 TraceCheckUtils]: 35: Hoare triple {7621#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {7621#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:12:37,121 INFO L273 TraceCheckUtils]: 36: Hoare triple {7621#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7652#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:12:37,122 INFO L273 TraceCheckUtils]: 37: Hoare triple {7652#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume true; {7652#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:12:37,123 INFO L273 TraceCheckUtils]: 38: Hoare triple {7652#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {7652#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-18 23:12:37,124 INFO L273 TraceCheckUtils]: 39: Hoare triple {7652#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {7532#|main_#t~short6|} is VALID [2018-11-18 23:12:37,125 INFO L256 TraceCheckUtils]: 40: Hoare triple {7532#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {7665#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-18 23:12:37,125 INFO L273 TraceCheckUtils]: 41: Hoare triple {7665#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {7669#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-18 23:12:37,126 INFO L273 TraceCheckUtils]: 42: Hoare triple {7669#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7522#false} is VALID [2018-11-18 23:12:37,126 INFO L273 TraceCheckUtils]: 43: Hoare triple {7522#false} assume !false; {7522#false} is VALID [2018-11-18 23:12:37,131 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 20 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-18 23:12:37,149 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:12:37,149 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 12] total 23 [2018-11-18 23:12:37,150 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 44 [2018-11-18 23:12:37,150 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:12:37,151 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-18 23:12:37,235 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:12:37,235 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-18 23:12:37,236 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-18 23:12:37,236 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=441, Unknown=0, NotChecked=0, Total=506 [2018-11-18 23:12:37,237 INFO L87 Difference]: Start difference. First operand 175 states and 206 transitions. Second operand 23 states. [2018-11-18 23:12:44,192 WARN L180 SmtUtils]: Spent 141.00 ms on a formula simplification that was a NOOP. DAG size: 17 [2018-11-18 23:12:46,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:46,780 INFO L93 Difference]: Finished difference Result 379 states and 451 transitions. [2018-11-18 23:12:46,780 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2018-11-18 23:12:46,780 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 44 [2018-11-18 23:12:46,781 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:12:46,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-18 23:12:46,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 160 transitions. [2018-11-18 23:12:46,784 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-18 23:12:46,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 160 transitions. [2018-11-18 23:12:46,786 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 35 states and 160 transitions. [2018-11-18 23:12:47,048 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 160 edges. 160 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:12:47,059 INFO L225 Difference]: With dead ends: 379 [2018-11-18 23:12:47,059 INFO L226 Difference]: Without dead ends: 298 [2018-11-18 23:12:47,061 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 35 SyntacticMatches, 3 SemanticMatches, 52 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 717 ImplicationChecksByTransitivity, 3.0s TimeCoverageRelationStatistics Valid=456, Invalid=2406, Unknown=0, NotChecked=0, Total=2862 [2018-11-18 23:12:47,061 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 298 states. [2018-11-18 23:12:48,139 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 298 to 260. [2018-11-18 23:12:48,139 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:12:48,140 INFO L82 GeneralOperation]: Start isEquivalent. First operand 298 states. Second operand 260 states. [2018-11-18 23:12:48,140 INFO L74 IsIncluded]: Start isIncluded. First operand 298 states. Second operand 260 states. [2018-11-18 23:12:48,140 INFO L87 Difference]: Start difference. First operand 298 states. Second operand 260 states. [2018-11-18 23:12:48,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:48,149 INFO L93 Difference]: Finished difference Result 298 states and 341 transitions. [2018-11-18 23:12:48,149 INFO L276 IsEmpty]: Start isEmpty. Operand 298 states and 341 transitions. [2018-11-18 23:12:48,150 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:48,150 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:48,150 INFO L74 IsIncluded]: Start isIncluded. First operand 260 states. Second operand 298 states. [2018-11-18 23:12:48,150 INFO L87 Difference]: Start difference. First operand 260 states. Second operand 298 states. [2018-11-18 23:12:48,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:48,158 INFO L93 Difference]: Finished difference Result 298 states and 341 transitions. [2018-11-18 23:12:48,158 INFO L276 IsEmpty]: Start isEmpty. Operand 298 states and 341 transitions. [2018-11-18 23:12:48,159 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:48,159 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:48,159 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:12:48,160 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:12:48,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 260 states. [2018-11-18 23:12:48,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 260 states to 260 states and 300 transitions. [2018-11-18 23:12:48,167 INFO L78 Accepts]: Start accepts. Automaton has 260 states and 300 transitions. Word has length 44 [2018-11-18 23:12:48,167 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:12:48,167 INFO L480 AbstractCegarLoop]: Abstraction has 260 states and 300 transitions. [2018-11-18 23:12:48,167 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-18 23:12:48,167 INFO L276 IsEmpty]: Start isEmpty. Operand 260 states and 300 transitions. [2018-11-18 23:12:48,168 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2018-11-18 23:12:48,169 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:12:48,169 INFO L375 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:12:48,169 INFO L423 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:12:48,169 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:12:48,169 INFO L82 PathProgramCache]: Analyzing trace with hash 916503284, now seen corresponding path program 1 times [2018-11-18 23:12:48,169 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:12:48,170 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:12:48,170 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:48,170 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:12:48,170 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:48,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:48,365 INFO L256 TraceCheckUtils]: 0: Hoare triple {9159#true} call ULTIMATE.init(); {9159#true} is VALID [2018-11-18 23:12:48,365 INFO L273 TraceCheckUtils]: 1: Hoare triple {9159#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {9159#true} is VALID [2018-11-18 23:12:48,365 INFO L273 TraceCheckUtils]: 2: Hoare triple {9159#true} assume true; {9159#true} is VALID [2018-11-18 23:12:48,366 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9159#true} {9159#true} #85#return; {9159#true} is VALID [2018-11-18 23:12:48,366 INFO L256 TraceCheckUtils]: 4: Hoare triple {9159#true} call #t~ret7 := main(); {9159#true} is VALID [2018-11-18 23:12:48,366 INFO L273 TraceCheckUtils]: 5: Hoare triple {9159#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {9159#true} is VALID [2018-11-18 23:12:48,366 INFO L273 TraceCheckUtils]: 6: Hoare triple {9159#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {9159#true} is VALID [2018-11-18 23:12:48,366 INFO L273 TraceCheckUtils]: 7: Hoare triple {9159#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {9159#true} is VALID [2018-11-18 23:12:48,366 INFO L273 TraceCheckUtils]: 8: Hoare triple {9159#true} assume true; {9159#true} is VALID [2018-11-18 23:12:48,367 INFO L273 TraceCheckUtils]: 9: Hoare triple {9159#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {9159#true} is VALID [2018-11-18 23:12:48,367 INFO L273 TraceCheckUtils]: 10: Hoare triple {9159#true} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {9159#true} is VALID [2018-11-18 23:12:48,367 INFO L273 TraceCheckUtils]: 11: Hoare triple {9159#true} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {9159#true} is VALID [2018-11-18 23:12:48,376 INFO L273 TraceCheckUtils]: 12: Hoare triple {9159#true} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {9161#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-18 23:12:48,386 INFO L273 TraceCheckUtils]: 13: Hoare triple {9161#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9161#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-18 23:12:48,397 INFO L273 TraceCheckUtils]: 14: Hoare triple {9161#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume true; {9161#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-18 23:12:48,410 INFO L273 TraceCheckUtils]: 15: Hoare triple {9161#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {9161#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-18 23:12:48,422 INFO L273 TraceCheckUtils]: 16: Hoare triple {9161#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {9161#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-18 23:12:48,435 INFO L273 TraceCheckUtils]: 17: Hoare triple {9161#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {9161#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-18 23:12:48,448 INFO L273 TraceCheckUtils]: 18: Hoare triple {9161#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {9160#false} is VALID [2018-11-18 23:12:48,448 INFO L273 TraceCheckUtils]: 19: Hoare triple {9160#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9160#false} is VALID [2018-11-18 23:12:48,448 INFO L273 TraceCheckUtils]: 20: Hoare triple {9160#false} assume true; {9160#false} is VALID [2018-11-18 23:12:48,448 INFO L273 TraceCheckUtils]: 21: Hoare triple {9160#false} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {9160#false} is VALID [2018-11-18 23:12:48,448 INFO L273 TraceCheckUtils]: 22: Hoare triple {9160#false} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {9160#false} is VALID [2018-11-18 23:12:48,449 INFO L273 TraceCheckUtils]: 23: Hoare triple {9160#false} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {9160#false} is VALID [2018-11-18 23:12:48,449 INFO L273 TraceCheckUtils]: 24: Hoare triple {9160#false} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {9160#false} is VALID [2018-11-18 23:12:48,449 INFO L273 TraceCheckUtils]: 25: Hoare triple {9160#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9160#false} is VALID [2018-11-18 23:12:48,449 INFO L273 TraceCheckUtils]: 26: Hoare triple {9160#false} assume true; {9160#false} is VALID [2018-11-18 23:12:48,449 INFO L273 TraceCheckUtils]: 27: Hoare triple {9160#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {9160#false} is VALID [2018-11-18 23:12:48,450 INFO L273 TraceCheckUtils]: 28: Hoare triple {9160#false} ~i~0 := 0; {9160#false} is VALID [2018-11-18 23:12:48,450 INFO L273 TraceCheckUtils]: 29: Hoare triple {9160#false} assume true; {9160#false} is VALID [2018-11-18 23:12:48,450 INFO L273 TraceCheckUtils]: 30: Hoare triple {9160#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; {9160#false} is VALID [2018-11-18 23:12:48,450 INFO L273 TraceCheckUtils]: 31: Hoare triple {9160#false} assume #t~short6; {9160#false} is VALID [2018-11-18 23:12:48,450 INFO L256 TraceCheckUtils]: 32: Hoare triple {9160#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9159#true} is VALID [2018-11-18 23:12:48,450 INFO L273 TraceCheckUtils]: 33: Hoare triple {9159#true} ~cond := #in~cond; {9159#true} is VALID [2018-11-18 23:12:48,451 INFO L273 TraceCheckUtils]: 34: Hoare triple {9159#true} assume !(0 == ~cond); {9159#true} is VALID [2018-11-18 23:12:48,451 INFO L273 TraceCheckUtils]: 35: Hoare triple {9159#true} assume true; {9159#true} is VALID [2018-11-18 23:12:48,451 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {9159#true} {9160#false} #89#return; {9160#false} is VALID [2018-11-18 23:12:48,451 INFO L273 TraceCheckUtils]: 37: Hoare triple {9160#false} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {9160#false} is VALID [2018-11-18 23:12:48,451 INFO L273 TraceCheckUtils]: 38: Hoare triple {9160#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9160#false} is VALID [2018-11-18 23:12:48,452 INFO L273 TraceCheckUtils]: 39: Hoare triple {9160#false} assume true; {9160#false} is VALID [2018-11-18 23:12:48,452 INFO L273 TraceCheckUtils]: 40: Hoare triple {9160#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; {9160#false} is VALID [2018-11-18 23:12:48,452 INFO L273 TraceCheckUtils]: 41: Hoare triple {9160#false} assume #t~short6; {9160#false} is VALID [2018-11-18 23:12:48,452 INFO L256 TraceCheckUtils]: 42: Hoare triple {9160#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9159#true} is VALID [2018-11-18 23:12:48,452 INFO L273 TraceCheckUtils]: 43: Hoare triple {9159#true} ~cond := #in~cond; {9159#true} is VALID [2018-11-18 23:12:48,453 INFO L273 TraceCheckUtils]: 44: Hoare triple {9159#true} assume !(0 == ~cond); {9159#true} is VALID [2018-11-18 23:12:48,453 INFO L273 TraceCheckUtils]: 45: Hoare triple {9159#true} assume true; {9159#true} is VALID [2018-11-18 23:12:48,453 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {9159#true} {9160#false} #89#return; {9160#false} is VALID [2018-11-18 23:12:48,453 INFO L273 TraceCheckUtils]: 47: Hoare triple {9160#false} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {9160#false} is VALID [2018-11-18 23:12:48,453 INFO L273 TraceCheckUtils]: 48: Hoare triple {9160#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9160#false} is VALID [2018-11-18 23:12:48,453 INFO L273 TraceCheckUtils]: 49: Hoare triple {9160#false} assume true; {9160#false} is VALID [2018-11-18 23:12:48,454 INFO L273 TraceCheckUtils]: 50: Hoare triple {9160#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; {9160#false} is VALID [2018-11-18 23:12:48,454 INFO L273 TraceCheckUtils]: 51: Hoare triple {9160#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {9160#false} is VALID [2018-11-18 23:12:48,454 INFO L256 TraceCheckUtils]: 52: Hoare triple {9160#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9160#false} is VALID [2018-11-18 23:12:48,454 INFO L273 TraceCheckUtils]: 53: Hoare triple {9160#false} ~cond := #in~cond; {9160#false} is VALID [2018-11-18 23:12:48,454 INFO L273 TraceCheckUtils]: 54: Hoare triple {9160#false} assume 0 == ~cond; {9160#false} is VALID [2018-11-18 23:12:48,455 INFO L273 TraceCheckUtils]: 55: Hoare triple {9160#false} assume !false; {9160#false} is VALID [2018-11-18 23:12:48,457 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 25 proven. 0 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2018-11-18 23:12:48,457 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:12:48,457 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-18 23:12:48,457 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 56 [2018-11-18 23:12:48,458 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:12:48,458 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-18 23:12:48,984 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:12:48,984 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-18 23:12:48,985 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-18 23:12:48,985 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-18 23:12:48,985 INFO L87 Difference]: Start difference. First operand 260 states and 300 transitions. Second operand 3 states. [2018-11-18 23:12:50,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:50,066 INFO L93 Difference]: Finished difference Result 319 states and 368 transitions. [2018-11-18 23:12:50,066 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-18 23:12:50,066 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 56 [2018-11-18 23:12:50,066 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:12:50,067 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-18 23:12:50,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2018-11-18 23:12:50,067 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-18 23:12:50,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2018-11-18 23:12:50,068 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2018-11-18 23:12:50,207 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:12:50,213 INFO L225 Difference]: With dead ends: 319 [2018-11-18 23:12:50,213 INFO L226 Difference]: Without dead ends: 214 [2018-11-18 23:12:50,214 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-18 23:12:50,214 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 214 states. [2018-11-18 23:12:51,335 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 214 to 208. [2018-11-18 23:12:51,335 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:12:51,335 INFO L82 GeneralOperation]: Start isEquivalent. First operand 214 states. Second operand 208 states. [2018-11-18 23:12:51,335 INFO L74 IsIncluded]: Start isIncluded. First operand 214 states. Second operand 208 states. [2018-11-18 23:12:51,336 INFO L87 Difference]: Start difference. First operand 214 states. Second operand 208 states. [2018-11-18 23:12:51,341 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:51,341 INFO L93 Difference]: Finished difference Result 214 states and 242 transitions. [2018-11-18 23:12:51,341 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 242 transitions. [2018-11-18 23:12:51,342 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:51,342 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:51,342 INFO L74 IsIncluded]: Start isIncluded. First operand 208 states. Second operand 214 states. [2018-11-18 23:12:51,342 INFO L87 Difference]: Start difference. First operand 208 states. Second operand 214 states. [2018-11-18 23:12:51,347 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:51,347 INFO L93 Difference]: Finished difference Result 214 states and 242 transitions. [2018-11-18 23:12:51,347 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 242 transitions. [2018-11-18 23:12:51,348 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:51,348 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:51,348 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:12:51,348 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:12:51,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 208 states. [2018-11-18 23:12:51,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 236 transitions. [2018-11-18 23:12:51,353 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 236 transitions. Word has length 56 [2018-11-18 23:12:51,353 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:12:51,354 INFO L480 AbstractCegarLoop]: Abstraction has 208 states and 236 transitions. [2018-11-18 23:12:51,354 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-18 23:12:51,354 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 236 transitions. [2018-11-18 23:12:51,355 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2018-11-18 23:12:51,355 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:12:51,355 INFO L375 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:12:51,355 INFO L423 AbstractCegarLoop]: === Iteration 16 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:12:51,355 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:12:51,355 INFO L82 PathProgramCache]: Analyzing trace with hash 1638828466, now seen corresponding path program 2 times [2018-11-18 23:12:51,356 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:12:51,356 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:12:51,356 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:51,356 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:12:51,357 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:51,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:51,835 INFO L256 TraceCheckUtils]: 0: Hoare triple {10273#true} call ULTIMATE.init(); {10273#true} is VALID [2018-11-18 23:12:51,836 INFO L273 TraceCheckUtils]: 1: Hoare triple {10273#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {10273#true} is VALID [2018-11-18 23:12:51,836 INFO L273 TraceCheckUtils]: 2: Hoare triple {10273#true} assume true; {10273#true} is VALID [2018-11-18 23:12:51,836 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10273#true} {10273#true} #85#return; {10273#true} is VALID [2018-11-18 23:12:51,837 INFO L256 TraceCheckUtils]: 4: Hoare triple {10273#true} call #t~ret7 := main(); {10273#true} is VALID [2018-11-18 23:12:51,837 INFO L273 TraceCheckUtils]: 5: Hoare triple {10273#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {10273#true} is VALID [2018-11-18 23:12:51,837 INFO L273 TraceCheckUtils]: 6: Hoare triple {10273#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {10273#true} is VALID [2018-11-18 23:12:51,856 INFO L273 TraceCheckUtils]: 7: Hoare triple {10273#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {10275#(= main_~i~0 1)} is VALID [2018-11-18 23:12:51,859 INFO L273 TraceCheckUtils]: 8: Hoare triple {10275#(= main_~i~0 1)} assume true; {10275#(= main_~i~0 1)} is VALID [2018-11-18 23:12:51,860 INFO L273 TraceCheckUtils]: 9: Hoare triple {10275#(= main_~i~0 1)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {10275#(= main_~i~0 1)} is VALID [2018-11-18 23:12:51,860 INFO L273 TraceCheckUtils]: 10: Hoare triple {10275#(= main_~i~0 1)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {10276#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} is VALID [2018-11-18 23:12:51,861 INFO L273 TraceCheckUtils]: 11: Hoare triple {10276#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {10276#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} is VALID [2018-11-18 23:12:51,861 INFO L273 TraceCheckUtils]: 12: Hoare triple {10276#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {10276#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} is VALID [2018-11-18 23:12:51,862 INFO L273 TraceCheckUtils]: 13: Hoare triple {10276#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10277#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} is VALID [2018-11-18 23:12:51,862 INFO L273 TraceCheckUtils]: 14: Hoare triple {10277#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} assume true; {10277#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} is VALID [2018-11-18 23:12:51,862 INFO L273 TraceCheckUtils]: 15: Hoare triple {10277#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {10277#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} is VALID [2018-11-18 23:12:51,863 INFO L273 TraceCheckUtils]: 16: Hoare triple {10277#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {10278#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= main_~i~0 2))} is VALID [2018-11-18 23:12:51,864 INFO L273 TraceCheckUtils]: 17: Hoare triple {10278#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= main_~i~0 2))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {10278#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= main_~i~0 2))} is VALID [2018-11-18 23:12:51,865 INFO L273 TraceCheckUtils]: 18: Hoare triple {10278#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= main_~i~0 2))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {10278#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= main_~i~0 2))} is VALID [2018-11-18 23:12:51,866 INFO L273 TraceCheckUtils]: 19: Hoare triple {10278#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (<= main_~i~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10279#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:12:51,867 INFO L273 TraceCheckUtils]: 20: Hoare triple {10279#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} assume true; {10279#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:12:51,867 INFO L273 TraceCheckUtils]: 21: Hoare triple {10279#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {10279#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:12:51,868 INFO L273 TraceCheckUtils]: 22: Hoare triple {10279#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} ~i~0 := 0; {10280#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:51,869 INFO L273 TraceCheckUtils]: 23: Hoare triple {10280#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} assume true; {10280#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:51,870 INFO L273 TraceCheckUtils]: 24: Hoare triple {10280#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {10280#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:51,870 INFO L273 TraceCheckUtils]: 25: Hoare triple {10280#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} assume #t~short6; {10280#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:51,871 INFO L256 TraceCheckUtils]: 26: Hoare triple {10280#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10273#true} is VALID [2018-11-18 23:12:51,871 INFO L273 TraceCheckUtils]: 27: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2018-11-18 23:12:51,871 INFO L273 TraceCheckUtils]: 28: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2018-11-18 23:12:51,871 INFO L273 TraceCheckUtils]: 29: Hoare triple {10273#true} assume true; {10273#true} is VALID [2018-11-18 23:12:51,872 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {10273#true} {10280#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} #89#return; {10280#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:51,873 INFO L273 TraceCheckUtils]: 31: Hoare triple {10280#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {10280#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-18 23:12:51,874 INFO L273 TraceCheckUtils]: 32: Hoare triple {10280#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10281#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:12:51,875 INFO L273 TraceCheckUtils]: 33: Hoare triple {10281#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} assume true; {10281#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:12:51,875 INFO L273 TraceCheckUtils]: 34: Hoare triple {10281#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {10281#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:12:51,876 INFO L273 TraceCheckUtils]: 35: Hoare triple {10281#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} assume #t~short6; {10281#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:12:51,876 INFO L256 TraceCheckUtils]: 36: Hoare triple {10281#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10273#true} is VALID [2018-11-18 23:12:51,876 INFO L273 TraceCheckUtils]: 37: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2018-11-18 23:12:51,876 INFO L273 TraceCheckUtils]: 38: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2018-11-18 23:12:51,877 INFO L273 TraceCheckUtils]: 39: Hoare triple {10273#true} assume true; {10273#true} is VALID [2018-11-18 23:12:51,877 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {10273#true} {10281#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} #89#return; {10281#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:12:51,878 INFO L273 TraceCheckUtils]: 41: Hoare triple {10281#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {10281#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:12:51,878 INFO L273 TraceCheckUtils]: 42: Hoare triple {10281#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10282#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:12:51,879 INFO L273 TraceCheckUtils]: 43: Hoare triple {10282#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} assume true; {10282#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:12:51,879 INFO L273 TraceCheckUtils]: 44: Hoare triple {10282#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {10282#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:12:51,879 INFO L273 TraceCheckUtils]: 45: Hoare triple {10282#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} assume #t~short6; {10282#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:12:51,880 INFO L256 TraceCheckUtils]: 46: Hoare triple {10282#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10273#true} is VALID [2018-11-18 23:12:51,880 INFO L273 TraceCheckUtils]: 47: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2018-11-18 23:12:51,880 INFO L273 TraceCheckUtils]: 48: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2018-11-18 23:12:51,880 INFO L273 TraceCheckUtils]: 49: Hoare triple {10273#true} assume true; {10273#true} is VALID [2018-11-18 23:12:51,880 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {10273#true} {10282#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} #89#return; {10282#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:12:51,881 INFO L273 TraceCheckUtils]: 51: Hoare triple {10282#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {10282#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:12:51,882 INFO L273 TraceCheckUtils]: 52: Hoare triple {10282#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10283#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-18 23:12:51,883 INFO L273 TraceCheckUtils]: 53: Hoare triple {10283#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume true; {10283#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-18 23:12:51,883 INFO L273 TraceCheckUtils]: 54: Hoare triple {10283#(<= 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; {10284#|main_#t~short6|} is VALID [2018-11-18 23:12:51,884 INFO L273 TraceCheckUtils]: 55: Hoare triple {10284#|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; {10274#false} is VALID [2018-11-18 23:12:51,884 INFO L256 TraceCheckUtils]: 56: Hoare triple {10274#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10274#false} is VALID [2018-11-18 23:12:51,884 INFO L273 TraceCheckUtils]: 57: Hoare triple {10274#false} ~cond := #in~cond; {10274#false} is VALID [2018-11-18 23:12:51,885 INFO L273 TraceCheckUtils]: 58: Hoare triple {10274#false} assume 0 == ~cond; {10274#false} is VALID [2018-11-18 23:12:51,885 INFO L273 TraceCheckUtils]: 59: Hoare triple {10274#false} assume !false; {10274#false} is VALID [2018-11-18 23:12:51,892 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 9 proven. 37 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-18 23:12:51,892 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:12:51,892 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-18 23:12:51,901 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-18 23:12:51,925 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-18 23:12:51,926 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:12:51,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:51,944 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:12:52,089 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-18 23:12:52,129 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-18 23:12:52,132 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:12:52,134 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:12:52,148 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-18 23:12:52,148 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:19 [2018-11-18 23:12:52,152 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:12:52,199 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-18 23:12:52,207 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:12:52,212 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-18 23:12:52,215 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:12:52,225 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:12:52,236 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:12:52,237 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-18 23:12:52,295 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 25 [2018-11-18 23:12:52,306 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:12:52,307 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:12:52,308 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:12:52,312 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 52 [2018-11-18 23:12:52,315 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:12:52,328 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:12:52,339 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:12:52,339 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-18 23:12:53,119 INFO L256 TraceCheckUtils]: 0: Hoare triple {10273#true} call ULTIMATE.init(); {10273#true} is VALID [2018-11-18 23:12:53,119 INFO L273 TraceCheckUtils]: 1: Hoare triple {10273#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {10273#true} is VALID [2018-11-18 23:12:53,119 INFO L273 TraceCheckUtils]: 2: Hoare triple {10273#true} assume true; {10273#true} is VALID [2018-11-18 23:12:53,119 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10273#true} {10273#true} #85#return; {10273#true} is VALID [2018-11-18 23:12:53,120 INFO L256 TraceCheckUtils]: 4: Hoare triple {10273#true} call #t~ret7 := main(); {10273#true} is VALID [2018-11-18 23:12:53,120 INFO L273 TraceCheckUtils]: 5: Hoare triple {10273#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {10273#true} is VALID [2018-11-18 23:12:53,121 INFO L273 TraceCheckUtils]: 6: Hoare triple {10273#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {10306#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-18 23:12:53,121 INFO L273 TraceCheckUtils]: 7: Hoare triple {10306#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {10310#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:53,122 INFO L273 TraceCheckUtils]: 8: Hoare triple {10310#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume true; {10310#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:53,127 INFO L273 TraceCheckUtils]: 9: Hoare triple {10310#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {10310#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:53,127 INFO L273 TraceCheckUtils]: 10: Hoare triple {10310#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {10320#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:53,129 INFO L273 TraceCheckUtils]: 11: Hoare triple {10320#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {10320#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:53,129 INFO L273 TraceCheckUtils]: 12: Hoare triple {10320#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {10320#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:53,131 INFO L273 TraceCheckUtils]: 13: Hoare triple {10320#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10330#(and (= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:53,131 INFO L273 TraceCheckUtils]: 14: Hoare triple {10330#(and (= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= |main_~#volArray~0.offset| 0))} assume true; {10330#(and (= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:53,133 INFO L273 TraceCheckUtils]: 15: Hoare triple {10330#(and (= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {10330#(and (= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:53,133 INFO L273 TraceCheckUtils]: 16: Hoare triple {10330#(and (= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {10340#(and (= main_~i~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:53,135 INFO L273 TraceCheckUtils]: 17: Hoare triple {10340#(and (= main_~i~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {10344#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8))) 0) (= main_~i~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:12:53,136 INFO L273 TraceCheckUtils]: 18: Hoare triple {10344#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8))) 0) (= main_~i~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {10348#(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_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,141 INFO L273 TraceCheckUtils]: 19: Hoare triple {10348#(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_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10348#(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_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,143 INFO L273 TraceCheckUtils]: 20: Hoare triple {10348#(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_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume true; {10348#(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_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,143 INFO L273 TraceCheckUtils]: 21: Hoare triple {10348#(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_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {10348#(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_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,145 INFO L273 TraceCheckUtils]: 22: Hoare triple {10348#(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_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} ~i~0 := 0; {10361#(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) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,145 INFO L273 TraceCheckUtils]: 23: Hoare triple {10361#(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) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume true; {10361#(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) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,147 INFO L273 TraceCheckUtils]: 24: Hoare triple {10361#(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) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {10361#(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) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,147 INFO L273 TraceCheckUtils]: 25: Hoare triple {10361#(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) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume #t~short6; {10361#(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) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,148 INFO L256 TraceCheckUtils]: 26: Hoare triple {10361#(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) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} is VALID [2018-11-18 23:12:53,149 INFO L273 TraceCheckUtils]: 27: Hoare triple {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} ~cond := #in~cond; {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} is VALID [2018-11-18 23:12:53,149 INFO L273 TraceCheckUtils]: 28: Hoare triple {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} assume !(0 == ~cond); {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} is VALID [2018-11-18 23:12:53,151 INFO L273 TraceCheckUtils]: 29: Hoare triple {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} assume true; {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} is VALID [2018-11-18 23:12:53,153 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} {10361#(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) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #89#return; {10361#(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) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,154 INFO L273 TraceCheckUtils]: 31: Hoare triple {10361#(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) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {10361#(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) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,155 INFO L273 TraceCheckUtils]: 32: Hoare triple {10361#(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) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10393#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,155 INFO L273 TraceCheckUtils]: 33: Hoare triple {10393#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume true; {10393#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,157 INFO L273 TraceCheckUtils]: 34: Hoare triple {10393#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {10393#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,158 INFO L273 TraceCheckUtils]: 35: Hoare triple {10393#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume #t~short6; {10393#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,159 INFO L256 TraceCheckUtils]: 36: Hoare triple {10393#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} is VALID [2018-11-18 23:12:53,160 INFO L273 TraceCheckUtils]: 37: Hoare triple {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} ~cond := #in~cond; {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} is VALID [2018-11-18 23:12:53,173 INFO L273 TraceCheckUtils]: 38: Hoare triple {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} assume !(0 == ~cond); {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} is VALID [2018-11-18 23:12:53,185 INFO L273 TraceCheckUtils]: 39: Hoare triple {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} assume true; {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} is VALID [2018-11-18 23:12:53,198 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} {10393#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #89#return; {10393#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,211 INFO L273 TraceCheckUtils]: 41: Hoare triple {10393#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {10393#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,223 INFO L273 TraceCheckUtils]: 42: Hoare triple {10393#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10424#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,236 INFO L273 TraceCheckUtils]: 43: Hoare triple {10424#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume true; {10424#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,249 INFO L273 TraceCheckUtils]: 44: Hoare triple {10424#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {10424#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,261 INFO L273 TraceCheckUtils]: 45: Hoare triple {10424#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume #t~short6; {10424#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,268 INFO L256 TraceCheckUtils]: 46: Hoare triple {10424#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} is VALID [2018-11-18 23:12:53,268 INFO L273 TraceCheckUtils]: 47: Hoare triple {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} ~cond := #in~cond; {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} is VALID [2018-11-18 23:12:53,270 INFO L273 TraceCheckUtils]: 48: Hoare triple {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} assume !(0 == ~cond); {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} is VALID [2018-11-18 23:12:53,270 INFO L273 TraceCheckUtils]: 49: Hoare triple {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} assume true; {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} is VALID [2018-11-18 23:12:53,271 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {10374#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_7| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 16) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_7|) 20))))} {10424#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #89#return; {10424#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,272 INFO L273 TraceCheckUtils]: 51: Hoare triple {10424#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {10424#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,273 INFO L273 TraceCheckUtils]: 52: Hoare triple {10424#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10455#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,274 INFO L273 TraceCheckUtils]: 53: Hoare triple {10455#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume true; {10455#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-18 23:12:53,275 INFO L273 TraceCheckUtils]: 54: Hoare triple {10455#(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))) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {10284#|main_#t~short6|} is VALID [2018-11-18 23:12:53,276 INFO L273 TraceCheckUtils]: 55: Hoare triple {10284#|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; {10274#false} is VALID [2018-11-18 23:12:53,276 INFO L256 TraceCheckUtils]: 56: Hoare triple {10274#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10274#false} is VALID [2018-11-18 23:12:53,276 INFO L273 TraceCheckUtils]: 57: Hoare triple {10274#false} ~cond := #in~cond; {10274#false} is VALID [2018-11-18 23:12:53,276 INFO L273 TraceCheckUtils]: 58: Hoare triple {10274#false} assume 0 == ~cond; {10274#false} is VALID [2018-11-18 23:12:53,277 INFO L273 TraceCheckUtils]: 59: Hoare triple {10274#false} assume !false; {10274#false} is VALID [2018-11-18 23:12:53,289 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 9 proven. 37 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-18 23:12:53,308 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:12:53,308 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 15] total 24 [2018-11-18 23:12:53,308 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 60 [2018-11-18 23:12:53,309 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:12:53,309 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-18 23:12:53,432 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:12:53,432 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-18 23:12:53,432 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-18 23:12:53,433 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=94, Invalid=458, Unknown=0, NotChecked=0, Total=552 [2018-11-18 23:12:53,433 INFO L87 Difference]: Start difference. First operand 208 states and 236 transitions. Second operand 24 states. [2018-11-18 23:13:00,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:13:00,099 INFO L93 Difference]: Finished difference Result 417 states and 480 transitions. [2018-11-18 23:13:00,100 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2018-11-18 23:13:00,100 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 60 [2018-11-18 23:13:00,100 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:13:00,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-18 23:13:00,103 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 227 transitions. [2018-11-18 23:13:00,103 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-18 23:13:00,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 227 transitions. [2018-11-18 23:13:00,106 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 41 states and 227 transitions. [2018-11-18 23:13:00,493 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 227 edges. 227 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:13:00,504 INFO L225 Difference]: With dead ends: 417 [2018-11-18 23:13:00,504 INFO L226 Difference]: Without dead ends: 370 [2018-11-18 23:13:00,506 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 44 SyntacticMatches, 7 SemanticMatches, 50 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 783 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=404, Invalid=2248, Unknown=0, NotChecked=0, Total=2652 [2018-11-18 23:13:00,506 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 370 states. [2018-11-18 23:13:03,231 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 370 to 276. [2018-11-18 23:13:03,231 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:13:03,231 INFO L82 GeneralOperation]: Start isEquivalent. First operand 370 states. Second operand 276 states. [2018-11-18 23:13:03,231 INFO L74 IsIncluded]: Start isIncluded. First operand 370 states. Second operand 276 states. [2018-11-18 23:13:03,231 INFO L87 Difference]: Start difference. First operand 370 states. Second operand 276 states. [2018-11-18 23:13:03,240 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:13:03,240 INFO L93 Difference]: Finished difference Result 370 states and 425 transitions. [2018-11-18 23:13:03,240 INFO L276 IsEmpty]: Start isEmpty. Operand 370 states and 425 transitions. [2018-11-18 23:13:03,241 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:13:03,241 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:13:03,241 INFO L74 IsIncluded]: Start isIncluded. First operand 276 states. Second operand 370 states. [2018-11-18 23:13:03,241 INFO L87 Difference]: Start difference. First operand 276 states. Second operand 370 states. [2018-11-18 23:13:03,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:13:03,252 INFO L93 Difference]: Finished difference Result 370 states and 425 transitions. [2018-11-18 23:13:03,252 INFO L276 IsEmpty]: Start isEmpty. Operand 370 states and 425 transitions. [2018-11-18 23:13:03,253 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:13:03,253 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:13:03,253 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:13:03,253 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:13:03,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 276 states. [2018-11-18 23:13:03,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 276 states to 276 states and 317 transitions. [2018-11-18 23:13:03,260 INFO L78 Accepts]: Start accepts. Automaton has 276 states and 317 transitions. Word has length 60 [2018-11-18 23:13:03,260 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:13:03,261 INFO L480 AbstractCegarLoop]: Abstraction has 276 states and 317 transitions. [2018-11-18 23:13:03,261 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-18 23:13:03,261 INFO L276 IsEmpty]: Start isEmpty. Operand 276 states and 317 transitions. [2018-11-18 23:13:03,262 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2018-11-18 23:13:03,262 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:13:03,262 INFO L375 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:13:03,262 INFO L423 AbstractCegarLoop]: === Iteration 17 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:13:03,263 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:13:03,263 INFO L82 PathProgramCache]: Analyzing trace with hash -891639634, now seen corresponding path program 1 times [2018-11-18 23:13:03,263 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:13:03,263 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:13:03,264 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:13:03,264 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:13:03,264 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:13:03,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:13:04,244 INFO L256 TraceCheckUtils]: 0: Hoare triple {12169#true} call ULTIMATE.init(); {12169#true} is VALID [2018-11-18 23:13:04,245 INFO L273 TraceCheckUtils]: 1: Hoare triple {12169#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {12169#true} is VALID [2018-11-18 23:13:04,245 INFO L273 TraceCheckUtils]: 2: Hoare triple {12169#true} assume true; {12169#true} is VALID [2018-11-18 23:13:04,245 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12169#true} {12169#true} #85#return; {12169#true} is VALID [2018-11-18 23:13:04,245 INFO L256 TraceCheckUtils]: 4: Hoare triple {12169#true} call #t~ret7 := main(); {12169#true} is VALID [2018-11-18 23:13:04,245 INFO L273 TraceCheckUtils]: 5: Hoare triple {12169#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {12169#true} is VALID [2018-11-18 23:13:04,245 INFO L273 TraceCheckUtils]: 6: Hoare triple {12169#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {12169#true} is VALID [2018-11-18 23:13:04,246 INFO L273 TraceCheckUtils]: 7: Hoare triple {12169#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {12171#(= main_~i~0 1)} is VALID [2018-11-18 23:13:04,246 INFO L273 TraceCheckUtils]: 8: Hoare triple {12171#(= main_~i~0 1)} assume true; {12171#(= main_~i~0 1)} is VALID [2018-11-18 23:13:04,246 INFO L273 TraceCheckUtils]: 9: Hoare triple {12171#(= main_~i~0 1)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {12171#(= main_~i~0 1)} is VALID [2018-11-18 23:13:04,247 INFO L273 TraceCheckUtils]: 10: Hoare triple {12171#(= main_~i~0 1)} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {12171#(= main_~i~0 1)} is VALID [2018-11-18 23:13:04,247 INFO L273 TraceCheckUtils]: 11: Hoare triple {12171#(= main_~i~0 1)} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {12171#(= main_~i~0 1)} is VALID [2018-11-18 23:13:04,247 INFO L273 TraceCheckUtils]: 12: Hoare triple {12171#(= main_~i~0 1)} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {12171#(= main_~i~0 1)} is VALID [2018-11-18 23:13:04,248 INFO L273 TraceCheckUtils]: 13: Hoare triple {12171#(= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12172#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-18 23:13:04,249 INFO L273 TraceCheckUtils]: 14: Hoare triple {12172#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume true; {12172#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-18 23:13:04,250 INFO L273 TraceCheckUtils]: 15: Hoare triple {12172#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {12172#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-18 23:13:04,251 INFO L273 TraceCheckUtils]: 16: Hoare triple {12172#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {12173#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:13:04,252 INFO L273 TraceCheckUtils]: 17: Hoare triple {12173#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {12173#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:13:04,253 INFO L273 TraceCheckUtils]: 18: Hoare triple {12173#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {12173#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:13:04,254 INFO L273 TraceCheckUtils]: 19: Hoare triple {12173#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12174#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:13:04,255 INFO L273 TraceCheckUtils]: 20: Hoare triple {12174#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} assume true; {12174#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:13:04,255 INFO L273 TraceCheckUtils]: 21: Hoare triple {12174#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {12174#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:13:04,256 INFO L273 TraceCheckUtils]: 22: Hoare triple {12174#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} ~i~0 := 0; {12175#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:04,257 INFO L273 TraceCheckUtils]: 23: Hoare triple {12175#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} assume true; {12175#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:04,258 INFO L273 TraceCheckUtils]: 24: Hoare triple {12175#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12175#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:04,258 INFO L273 TraceCheckUtils]: 25: Hoare triple {12175#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} assume #t~short6; {12175#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:04,259 INFO L256 TraceCheckUtils]: 26: Hoare triple {12175#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12169#true} is VALID [2018-11-18 23:13:04,259 INFO L273 TraceCheckUtils]: 27: Hoare triple {12169#true} ~cond := #in~cond; {12169#true} is VALID [2018-11-18 23:13:04,259 INFO L273 TraceCheckUtils]: 28: Hoare triple {12169#true} assume !(0 == ~cond); {12169#true} is VALID [2018-11-18 23:13:04,259 INFO L273 TraceCheckUtils]: 29: Hoare triple {12169#true} assume true; {12169#true} is VALID [2018-11-18 23:13:04,260 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {12169#true} {12175#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} #89#return; {12175#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:04,261 INFO L273 TraceCheckUtils]: 31: Hoare triple {12175#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {12175#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:04,262 INFO L273 TraceCheckUtils]: 32: Hoare triple {12175#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12176#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:13:04,263 INFO L273 TraceCheckUtils]: 33: Hoare triple {12176#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} assume true; {12176#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:13:04,263 INFO L273 TraceCheckUtils]: 34: Hoare triple {12176#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12176#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:13:04,264 INFO L273 TraceCheckUtils]: 35: Hoare triple {12176#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} assume #t~short6; {12176#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:13:04,264 INFO L256 TraceCheckUtils]: 36: Hoare triple {12176#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12169#true} is VALID [2018-11-18 23:13:04,264 INFO L273 TraceCheckUtils]: 37: Hoare triple {12169#true} ~cond := #in~cond; {12169#true} is VALID [2018-11-18 23:13:04,264 INFO L273 TraceCheckUtils]: 38: Hoare triple {12169#true} assume !(0 == ~cond); {12169#true} is VALID [2018-11-18 23:13:04,265 INFO L273 TraceCheckUtils]: 39: Hoare triple {12169#true} assume true; {12169#true} is VALID [2018-11-18 23:13:04,266 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {12169#true} {12176#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} #89#return; {12176#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:13:04,266 INFO L273 TraceCheckUtils]: 41: Hoare triple {12176#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {12176#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:13:04,267 INFO L273 TraceCheckUtils]: 42: Hoare triple {12176#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 12)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12177#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:13:04,268 INFO L273 TraceCheckUtils]: 43: Hoare triple {12177#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} assume true; {12177#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:13:04,268 INFO L273 TraceCheckUtils]: 44: Hoare triple {12177#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12177#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:13:04,269 INFO L273 TraceCheckUtils]: 45: Hoare triple {12177#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} assume #t~short6; {12177#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:13:04,269 INFO L256 TraceCheckUtils]: 46: Hoare triple {12177#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12169#true} is VALID [2018-11-18 23:13:04,269 INFO L273 TraceCheckUtils]: 47: Hoare triple {12169#true} ~cond := #in~cond; {12169#true} is VALID [2018-11-18 23:13:04,270 INFO L273 TraceCheckUtils]: 48: Hoare triple {12169#true} assume !(0 == ~cond); {12169#true} is VALID [2018-11-18 23:13:04,270 INFO L273 TraceCheckUtils]: 49: Hoare triple {12169#true} assume true; {12169#true} is VALID [2018-11-18 23:13:04,271 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {12169#true} {12177#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} #89#return; {12177#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:13:04,272 INFO L273 TraceCheckUtils]: 51: Hoare triple {12177#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {12177#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-18 23:13:04,273 INFO L273 TraceCheckUtils]: 52: Hoare triple {12177#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 12)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12178#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-18 23:13:04,273 INFO L273 TraceCheckUtils]: 53: Hoare triple {12178#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume true; {12178#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-18 23:13:04,274 INFO L273 TraceCheckUtils]: 54: Hoare triple {12178#(= 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; {12178#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-18 23:13:04,275 INFO L273 TraceCheckUtils]: 55: Hoare triple {12178#(= 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; {12179#|main_#t~short6|} is VALID [2018-11-18 23:13:04,275 INFO L256 TraceCheckUtils]: 56: Hoare triple {12179#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12180#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-18 23:13:04,276 INFO L273 TraceCheckUtils]: 57: Hoare triple {12180#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {12181#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-18 23:13:04,277 INFO L273 TraceCheckUtils]: 58: Hoare triple {12181#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {12170#false} is VALID [2018-11-18 23:13:04,277 INFO L273 TraceCheckUtils]: 59: Hoare triple {12170#false} assume !false; {12170#false} is VALID [2018-11-18 23:13:04,285 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 6 proven. 40 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-18 23:13:04,285 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:13:04,285 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-18 23:13:04,293 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:13:04,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:13:04,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:13:04,336 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:13:04,447 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-18 23:13:04,452 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-18 23:13:04,454 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:13:04,458 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:13:04,466 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:13:04,467 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-18 23:13:04,512 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-18 23:13:04,519 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:13:04,520 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-18 23:13:04,525 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:13:04,534 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:13:04,545 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:13:04,545 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-18 23:13:04,599 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 25 [2018-11-18 23:13:04,608 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:13:04,609 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:13:04,610 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:13:04,612 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 52 [2018-11-18 23:13:04,615 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:13:04,626 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:13:04,636 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:13:04,636 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-18 23:13:05,372 INFO L256 TraceCheckUtils]: 0: Hoare triple {12169#true} call ULTIMATE.init(); {12169#true} is VALID [2018-11-18 23:13:05,373 INFO L273 TraceCheckUtils]: 1: Hoare triple {12169#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {12169#true} is VALID [2018-11-18 23:13:05,373 INFO L273 TraceCheckUtils]: 2: Hoare triple {12169#true} assume true; {12169#true} is VALID [2018-11-18 23:13:05,373 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12169#true} {12169#true} #85#return; {12169#true} is VALID [2018-11-18 23:13:05,373 INFO L256 TraceCheckUtils]: 4: Hoare triple {12169#true} call #t~ret7 := main(); {12169#true} is VALID [2018-11-18 23:13:05,373 INFO L273 TraceCheckUtils]: 5: Hoare triple {12169#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {12169#true} is VALID [2018-11-18 23:13:05,373 INFO L273 TraceCheckUtils]: 6: Hoare triple {12169#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {12203#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-18 23:13:05,377 INFO L273 TraceCheckUtils]: 7: Hoare triple {12203#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {12207#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:13:05,378 INFO L273 TraceCheckUtils]: 8: Hoare triple {12207#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume true; {12207#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:13:05,378 INFO L273 TraceCheckUtils]: 9: Hoare triple {12207#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {12207#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:13:05,379 INFO L273 TraceCheckUtils]: 10: Hoare triple {12207#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {12207#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:13:05,379 INFO L273 TraceCheckUtils]: 11: Hoare triple {12207#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {12207#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:13:05,380 INFO L273 TraceCheckUtils]: 12: Hoare triple {12207#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {12207#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:13:05,380 INFO L273 TraceCheckUtils]: 13: Hoare triple {12207#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12226#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:13:05,381 INFO L273 TraceCheckUtils]: 14: Hoare triple {12226#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume true; {12226#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:13:05,381 INFO L273 TraceCheckUtils]: 15: Hoare triple {12226#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {12226#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-18 23:13:05,382 INFO L273 TraceCheckUtils]: 16: Hoare triple {12226#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {12236#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} is VALID [2018-11-18 23:13:05,384 INFO L273 TraceCheckUtils]: 17: Hoare triple {12236#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {12240#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8))) 0) (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} is VALID [2018-11-18 23:13:05,385 INFO L273 TraceCheckUtils]: 18: Hoare triple {12240#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 8))) 0) (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 12)))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {12244#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-18 23:13:05,386 INFO L273 TraceCheckUtils]: 19: Hoare triple {12244#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12244#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-18 23:13:05,387 INFO L273 TraceCheckUtils]: 20: Hoare triple {12244#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume true; {12244#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-18 23:13:05,388 INFO L273 TraceCheckUtils]: 21: Hoare triple {12244#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {12244#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-18 23:13:05,389 INFO L273 TraceCheckUtils]: 22: Hoare triple {12244#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} ~i~0 := 0; {12257#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:05,390 INFO L273 TraceCheckUtils]: 23: Hoare triple {12257#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} assume true; {12257#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:05,391 INFO L273 TraceCheckUtils]: 24: Hoare triple {12257#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12257#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:05,392 INFO L273 TraceCheckUtils]: 25: Hoare triple {12257#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} assume #t~short6; {12257#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:05,395 INFO L256 TraceCheckUtils]: 26: Hoare triple {12257#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-18 23:13:05,395 INFO L273 TraceCheckUtils]: 27: Hoare triple {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} ~cond := #in~cond; {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-18 23:13:05,396 INFO L273 TraceCheckUtils]: 28: Hoare triple {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} assume !(0 == ~cond); {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-18 23:13:05,397 INFO L273 TraceCheckUtils]: 29: Hoare triple {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} assume true; {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-18 23:13:05,398 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} {12257#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} #89#return; {12257#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:05,399 INFO L273 TraceCheckUtils]: 31: Hoare triple {12257#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {12257#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:05,400 INFO L273 TraceCheckUtils]: 32: Hoare triple {12257#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12289#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-18 23:13:05,401 INFO L273 TraceCheckUtils]: 33: Hoare triple {12289#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume true; {12289#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-18 23:13:05,403 INFO L273 TraceCheckUtils]: 34: Hoare triple {12289#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12289#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-18 23:13:05,404 INFO L273 TraceCheckUtils]: 35: Hoare triple {12289#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume #t~short6; {12289#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-18 23:13:05,406 INFO L256 TraceCheckUtils]: 36: Hoare triple {12289#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-18 23:13:05,407 INFO L273 TraceCheckUtils]: 37: Hoare triple {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} ~cond := #in~cond; {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-18 23:13:05,407 INFO L273 TraceCheckUtils]: 38: Hoare triple {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} assume !(0 == ~cond); {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-18 23:13:05,408 INFO L273 TraceCheckUtils]: 39: Hoare triple {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} assume true; {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-18 23:13:05,409 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} {12289#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #89#return; {12289#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-18 23:13:05,410 INFO L273 TraceCheckUtils]: 41: Hoare triple {12289#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {12289#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-18 23:13:05,411 INFO L273 TraceCheckUtils]: 42: Hoare triple {12289#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12320#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-18 23:13:05,412 INFO L273 TraceCheckUtils]: 43: Hoare triple {12320#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume true; {12320#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-18 23:13:05,414 INFO L273 TraceCheckUtils]: 44: Hoare triple {12320#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12320#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-18 23:13:05,415 INFO L273 TraceCheckUtils]: 45: Hoare triple {12320#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume #t~short6; {12320#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-18 23:13:05,417 INFO L256 TraceCheckUtils]: 46: Hoare triple {12320#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-18 23:13:05,418 INFO L273 TraceCheckUtils]: 47: Hoare triple {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} ~cond := #in~cond; {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-18 23:13:05,418 INFO L273 TraceCheckUtils]: 48: Hoare triple {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} assume !(0 == ~cond); {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-18 23:13:05,419 INFO L273 TraceCheckUtils]: 49: Hoare triple {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} assume true; {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} is VALID [2018-11-18 23:13:05,420 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {12270#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_10| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 12) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 16)) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_10|) 20))))} {12320#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #89#return; {12320#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-18 23:13:05,421 INFO L273 TraceCheckUtils]: 51: Hoare triple {12320#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {12320#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-18 23:13:05,422 INFO L273 TraceCheckUtils]: 52: Hoare triple {12320#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12351#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-18 23:13:05,423 INFO L273 TraceCheckUtils]: 53: Hoare triple {12351#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume true; {12351#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-18 23:13:05,425 INFO L273 TraceCheckUtils]: 54: Hoare triple {12351#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12351#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} is VALID [2018-11-18 23:13:05,426 INFO L273 TraceCheckUtils]: 55: Hoare triple {12351#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 20))))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {12179#|main_#t~short6|} is VALID [2018-11-18 23:13:05,427 INFO L256 TraceCheckUtils]: 56: Hoare triple {12179#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12364#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-18 23:13:05,428 INFO L273 TraceCheckUtils]: 57: Hoare triple {12364#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {12368#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-18 23:13:05,428 INFO L273 TraceCheckUtils]: 58: Hoare triple {12368#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12170#false} is VALID [2018-11-18 23:13:05,429 INFO L273 TraceCheckUtils]: 59: Hoare triple {12170#false} assume !false; {12170#false} is VALID [2018-11-18 23:13:05,450 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 0 proven. 46 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-18 23:13:05,468 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:13:05,469 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 16] total 26 [2018-11-18 23:13:05,470 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 60 [2018-11-18 23:13:05,470 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:13:05,471 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states. [2018-11-18 23:13:05,610 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:13:05,610 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2018-11-18 23:13:05,610 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2018-11-18 23:13:05,611 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=106, Invalid=544, Unknown=0, NotChecked=0, Total=650 [2018-11-18 23:13:05,611 INFO L87 Difference]: Start difference. First operand 276 states and 317 transitions. Second operand 26 states. [2018-11-18 23:13:14,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:13:14,451 INFO L93 Difference]: Finished difference Result 436 states and 507 transitions. [2018-11-18 23:13:14,451 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 46 states. [2018-11-18 23:13:14,451 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 60 [2018-11-18 23:13:14,451 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:13:14,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-18 23:13:14,454 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 254 transitions. [2018-11-18 23:13:14,454 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-18 23:13:14,457 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 254 transitions. [2018-11-18 23:13:14,457 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 46 states and 254 transitions. [2018-11-18 23:13:14,872 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 254 edges. 254 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:13:14,885 INFO L225 Difference]: With dead ends: 436 [2018-11-18 23:13:14,885 INFO L226 Difference]: Without dead ends: 434 [2018-11-18 23:13:14,886 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 44 SyntacticMatches, 7 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 972 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=465, Invalid=2841, Unknown=0, NotChecked=0, Total=3306 [2018-11-18 23:13:14,887 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 434 states. [2018-11-18 23:13:16,759 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 434 to 335. [2018-11-18 23:13:16,760 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:13:16,760 INFO L82 GeneralOperation]: Start isEquivalent. First operand 434 states. Second operand 335 states. [2018-11-18 23:13:16,760 INFO L74 IsIncluded]: Start isIncluded. First operand 434 states. Second operand 335 states. [2018-11-18 23:13:16,760 INFO L87 Difference]: Start difference. First operand 434 states. Second operand 335 states. [2018-11-18 23:13:16,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:13:16,775 INFO L93 Difference]: Finished difference Result 434 states and 503 transitions. [2018-11-18 23:13:16,775 INFO L276 IsEmpty]: Start isEmpty. Operand 434 states and 503 transitions. [2018-11-18 23:13:16,776 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:13:16,777 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:13:16,777 INFO L74 IsIncluded]: Start isIncluded. First operand 335 states. Second operand 434 states. [2018-11-18 23:13:16,777 INFO L87 Difference]: Start difference. First operand 335 states. Second operand 434 states. [2018-11-18 23:13:16,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:13:16,790 INFO L93 Difference]: Finished difference Result 434 states and 503 transitions. [2018-11-18 23:13:16,790 INFO L276 IsEmpty]: Start isEmpty. Operand 434 states and 503 transitions. [2018-11-18 23:13:16,792 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:13:16,792 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:13:16,792 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:13:16,792 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:13:16,792 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 335 states. [2018-11-18 23:13:16,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 335 states to 335 states and 390 transitions. [2018-11-18 23:13:16,802 INFO L78 Accepts]: Start accepts. Automaton has 335 states and 390 transitions. Word has length 60 [2018-11-18 23:13:16,802 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:13:16,802 INFO L480 AbstractCegarLoop]: Abstraction has 335 states and 390 transitions. [2018-11-18 23:13:16,802 INFO L481 AbstractCegarLoop]: Interpolant automaton has 26 states. [2018-11-18 23:13:16,802 INFO L276 IsEmpty]: Start isEmpty. Operand 335 states and 390 transitions. [2018-11-18 23:13:16,804 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 71 [2018-11-18 23:13:16,804 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:13:16,804 INFO L375 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:13:16,804 INFO L423 AbstractCegarLoop]: === Iteration 18 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:13:16,804 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:13:16,804 INFO L82 PathProgramCache]: Analyzing trace with hash 21736893, now seen corresponding path program 3 times [2018-11-18 23:13:16,804 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:13:16,805 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:13:16,805 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:13:16,805 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:13:16,805 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:13:16,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:13:17,233 INFO L256 TraceCheckUtils]: 0: Hoare triple {14309#true} call ULTIMATE.init(); {14309#true} is VALID [2018-11-18 23:13:17,233 INFO L273 TraceCheckUtils]: 1: Hoare triple {14309#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {14309#true} is VALID [2018-11-18 23:13:17,234 INFO L273 TraceCheckUtils]: 2: Hoare triple {14309#true} assume true; {14309#true} is VALID [2018-11-18 23:13:17,234 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14309#true} {14309#true} #85#return; {14309#true} is VALID [2018-11-18 23:13:17,234 INFO L256 TraceCheckUtils]: 4: Hoare triple {14309#true} call #t~ret7 := main(); {14309#true} is VALID [2018-11-18 23:13:17,234 INFO L273 TraceCheckUtils]: 5: Hoare triple {14309#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {14309#true} is VALID [2018-11-18 23:13:17,234 INFO L273 TraceCheckUtils]: 6: Hoare triple {14309#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {14309#true} is VALID [2018-11-18 23:13:17,234 INFO L273 TraceCheckUtils]: 7: Hoare triple {14309#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {14311#(= main_~i~0 1)} is VALID [2018-11-18 23:13:17,235 INFO L273 TraceCheckUtils]: 8: Hoare triple {14311#(= main_~i~0 1)} assume true; {14311#(= main_~i~0 1)} is VALID [2018-11-18 23:13:17,235 INFO L273 TraceCheckUtils]: 9: Hoare triple {14311#(= main_~i~0 1)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {14311#(= main_~i~0 1)} is VALID [2018-11-18 23:13:17,235 INFO L273 TraceCheckUtils]: 10: Hoare triple {14311#(= main_~i~0 1)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {14311#(= main_~i~0 1)} is VALID [2018-11-18 23:13:17,236 INFO L273 TraceCheckUtils]: 11: Hoare triple {14311#(= main_~i~0 1)} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {14311#(= main_~i~0 1)} is VALID [2018-11-18 23:13:17,236 INFO L273 TraceCheckUtils]: 12: Hoare triple {14311#(= main_~i~0 1)} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {14311#(= main_~i~0 1)} is VALID [2018-11-18 23:13:17,236 INFO L273 TraceCheckUtils]: 13: Hoare triple {14311#(= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {14312#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-18 23:13:17,237 INFO L273 TraceCheckUtils]: 14: Hoare triple {14312#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume true; {14312#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-18 23:13:17,237 INFO L273 TraceCheckUtils]: 15: Hoare triple {14312#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {14312#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-18 23:13:17,238 INFO L273 TraceCheckUtils]: 16: Hoare triple {14312#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {14312#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-18 23:13:17,239 INFO L273 TraceCheckUtils]: 17: Hoare triple {14312#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {14313#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,240 INFO L273 TraceCheckUtils]: 18: Hoare triple {14313#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {14313#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,241 INFO L273 TraceCheckUtils]: 19: Hoare triple {14313#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {14314#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,242 INFO L273 TraceCheckUtils]: 20: Hoare triple {14314#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} assume true; {14314#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,242 INFO L273 TraceCheckUtils]: 21: Hoare triple {14314#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {14314#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,243 INFO L273 TraceCheckUtils]: 22: Hoare triple {14314#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8)))))} ~i~0 := 0; {14315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:17,244 INFO L273 TraceCheckUtils]: 23: Hoare triple {14315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} assume true; {14315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:17,245 INFO L273 TraceCheckUtils]: 24: Hoare triple {14315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {14315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:17,245 INFO L273 TraceCheckUtils]: 25: Hoare triple {14315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} assume #t~short6; {14315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:17,246 INFO L256 TraceCheckUtils]: 26: Hoare triple {14315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14309#true} is VALID [2018-11-18 23:13:17,246 INFO L273 TraceCheckUtils]: 27: Hoare triple {14309#true} ~cond := #in~cond; {14309#true} is VALID [2018-11-18 23:13:17,246 INFO L273 TraceCheckUtils]: 28: Hoare triple {14309#true} assume !(0 == ~cond); {14309#true} is VALID [2018-11-18 23:13:17,246 INFO L273 TraceCheckUtils]: 29: Hoare triple {14309#true} assume true; {14309#true} is VALID [2018-11-18 23:13:17,264 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {14309#true} {14315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} #89#return; {14315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:17,270 INFO L273 TraceCheckUtils]: 31: Hoare triple {14315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {14315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:17,270 INFO L273 TraceCheckUtils]: 32: Hoare triple {14315#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14316#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,271 INFO L273 TraceCheckUtils]: 33: Hoare triple {14316#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} assume true; {14316#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,271 INFO L273 TraceCheckUtils]: 34: Hoare triple {14316#(= 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; {14316#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,271 INFO L273 TraceCheckUtils]: 35: Hoare triple {14316#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} assume #t~short6; {14316#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,272 INFO L256 TraceCheckUtils]: 36: Hoare triple {14316#(= 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)); {14309#true} is VALID [2018-11-18 23:13:17,272 INFO L273 TraceCheckUtils]: 37: Hoare triple {14309#true} ~cond := #in~cond; {14309#true} is VALID [2018-11-18 23:13:17,272 INFO L273 TraceCheckUtils]: 38: Hoare triple {14309#true} assume !(0 == ~cond); {14309#true} is VALID [2018-11-18 23:13:17,272 INFO L273 TraceCheckUtils]: 39: Hoare triple {14309#true} assume true; {14309#true} is VALID [2018-11-18 23:13:17,272 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {14309#true} {14316#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} #89#return; {14316#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,273 INFO L273 TraceCheckUtils]: 41: Hoare triple {14316#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {14316#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,273 INFO L273 TraceCheckUtils]: 42: Hoare triple {14316#(= 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; {14317#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,274 INFO L273 TraceCheckUtils]: 43: Hoare triple {14317#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} assume true; {14317#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,274 INFO L273 TraceCheckUtils]: 44: Hoare triple {14317#(= 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; {14317#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,275 INFO L273 TraceCheckUtils]: 45: Hoare triple {14317#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} assume #t~short6; {14317#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,275 INFO L256 TraceCheckUtils]: 46: Hoare triple {14317#(= 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)); {14309#true} is VALID [2018-11-18 23:13:17,275 INFO L273 TraceCheckUtils]: 47: Hoare triple {14309#true} ~cond := #in~cond; {14309#true} is VALID [2018-11-18 23:13:17,276 INFO L273 TraceCheckUtils]: 48: Hoare triple {14309#true} assume !(0 == ~cond); {14309#true} is VALID [2018-11-18 23:13:17,276 INFO L273 TraceCheckUtils]: 49: Hoare triple {14309#true} assume true; {14309#true} is VALID [2018-11-18 23:13:17,277 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {14309#true} {14317#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} #89#return; {14317#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,277 INFO L273 TraceCheckUtils]: 51: Hoare triple {14317#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {14317#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 4)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,278 INFO L273 TraceCheckUtils]: 52: Hoare triple {14317#(= 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; {14318#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,279 INFO L273 TraceCheckUtils]: 53: Hoare triple {14318#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} assume true; {14318#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,279 INFO L273 TraceCheckUtils]: 54: Hoare triple {14318#(= 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; {14318#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,280 INFO L273 TraceCheckUtils]: 55: Hoare triple {14318#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} assume #t~short6; {14318#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,280 INFO L256 TraceCheckUtils]: 56: Hoare triple {14318#(= 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)); {14309#true} is VALID [2018-11-18 23:13:17,280 INFO L273 TraceCheckUtils]: 57: Hoare triple {14309#true} ~cond := #in~cond; {14309#true} is VALID [2018-11-18 23:13:17,280 INFO L273 TraceCheckUtils]: 58: Hoare triple {14309#true} assume !(0 == ~cond); {14309#true} is VALID [2018-11-18 23:13:17,281 INFO L273 TraceCheckUtils]: 59: Hoare triple {14309#true} assume true; {14309#true} is VALID [2018-11-18 23:13:17,281 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {14309#true} {14318#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} #89#return; {14318#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,282 INFO L273 TraceCheckUtils]: 61: Hoare triple {14318#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {14318#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:17,283 INFO L273 TraceCheckUtils]: 62: Hoare triple {14318#(= 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; {14319#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-18 23:13:17,284 INFO L273 TraceCheckUtils]: 63: Hoare triple {14319#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume true; {14319#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-18 23:13:17,284 INFO L273 TraceCheckUtils]: 64: Hoare triple {14319#(= 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; {14319#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-18 23:13:17,285 INFO L273 TraceCheckUtils]: 65: Hoare triple {14319#(= 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; {14320#|main_#t~short6|} is VALID [2018-11-18 23:13:17,286 INFO L256 TraceCheckUtils]: 66: Hoare triple {14320#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14321#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2018-11-18 23:13:17,286 INFO L273 TraceCheckUtils]: 67: Hoare triple {14321#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {14322#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2018-11-18 23:13:17,287 INFO L273 TraceCheckUtils]: 68: Hoare triple {14322#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {14310#false} is VALID [2018-11-18 23:13:17,287 INFO L273 TraceCheckUtils]: 69: Hoare triple {14310#false} assume !false; {14310#false} is VALID [2018-11-18 23:13:17,298 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 8 proven. 62 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-18 23:13:17,298 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:13:17,298 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-18 23:13:17,306 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-18 23:13:17,344 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2018-11-18 23:13:17,344 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:13:17,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:13:17,361 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:13:17,401 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-18 23:13:17,406 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-18 23:13:17,408 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:13:17,411 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:13:17,419 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:13:17,419 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-18 23:13:17,444 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 32 [2018-11-18 23:13:17,466 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:13:17,467 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-18 23:13:17,471 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:13:17,478 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:13:17,490 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-18 23:13:17,490 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:43, output treesize:31 [2018-11-18 23:13:24,143 INFO L256 TraceCheckUtils]: 0: Hoare triple {14309#true} call ULTIMATE.init(); {14309#true} is VALID [2018-11-18 23:13:24,143 INFO L273 TraceCheckUtils]: 1: Hoare triple {14309#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {14309#true} is VALID [2018-11-18 23:13:24,144 INFO L273 TraceCheckUtils]: 2: Hoare triple {14309#true} assume true; {14309#true} is VALID [2018-11-18 23:13:24,144 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14309#true} {14309#true} #85#return; {14309#true} is VALID [2018-11-18 23:13:24,144 INFO L256 TraceCheckUtils]: 4: Hoare triple {14309#true} call #t~ret7 := main(); {14309#true} is VALID [2018-11-18 23:13:24,144 INFO L273 TraceCheckUtils]: 5: Hoare triple {14309#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {14309#true} is VALID [2018-11-18 23:13:24,144 INFO L273 TraceCheckUtils]: 6: Hoare triple {14309#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {14309#true} is VALID [2018-11-18 23:13:24,144 INFO L273 TraceCheckUtils]: 7: Hoare triple {14309#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) then 1 else 0);~i~0 := 1; {14311#(= main_~i~0 1)} is VALID [2018-11-18 23:13:24,145 INFO L273 TraceCheckUtils]: 8: Hoare triple {14311#(= main_~i~0 1)} assume true; {14311#(= main_~i~0 1)} is VALID [2018-11-18 23:13:24,145 INFO L273 TraceCheckUtils]: 9: Hoare triple {14311#(= main_~i~0 1)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {14311#(= main_~i~0 1)} is VALID [2018-11-18 23:13:24,145 INFO L273 TraceCheckUtils]: 10: Hoare triple {14311#(= main_~i~0 1)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {14311#(= main_~i~0 1)} is VALID [2018-11-18 23:13:24,146 INFO L273 TraceCheckUtils]: 11: Hoare triple {14311#(= main_~i~0 1)} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {14311#(= main_~i~0 1)} is VALID [2018-11-18 23:13:24,146 INFO L273 TraceCheckUtils]: 12: Hoare triple {14311#(= main_~i~0 1)} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {14311#(= main_~i~0 1)} is VALID [2018-11-18 23:13:24,146 INFO L273 TraceCheckUtils]: 13: Hoare triple {14311#(= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {14312#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-18 23:13:24,147 INFO L273 TraceCheckUtils]: 14: Hoare triple {14312#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume true; {14312#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-18 23:13:24,147 INFO L273 TraceCheckUtils]: 15: Hoare triple {14312#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {14312#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-18 23:13:24,148 INFO L273 TraceCheckUtils]: 16: Hoare triple {14312#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 3), 4); {14312#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-18 23:13:24,149 INFO L273 TraceCheckUtils]: 17: Hoare triple {14312#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 2), 4); {14313#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} is VALID [2018-11-18 23:13:24,152 INFO L273 TraceCheckUtils]: 18: Hoare triple {14313#(and (<= 2 main_~i~0) (<= main_~i~0 2) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4)) 0) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8)))))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (3 * ~i~0 - 1), 4); {14380#(exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4))) 0) (<= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8))) 0)))} is VALID [2018-11-18 23:13:24,152 INFO L273 TraceCheckUtils]: 19: Hoare triple {14380#(exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4))) 0) (<= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8))) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {14380#(exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4))) 0) (<= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8))) 0)))} is VALID [2018-11-18 23:13:24,153 INFO L273 TraceCheckUtils]: 20: Hoare triple {14380#(exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4))) 0) (<= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8))) 0)))} assume true; {14380#(exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4))) 0) (<= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8))) 0)))} is VALID [2018-11-18 23:13:24,153 INFO L273 TraceCheckUtils]: 21: Hoare triple {14380#(exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4))) 0) (<= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8))) 0)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 3 then 1 + ~CELLCOUNT~0 / 3 else ~CELLCOUNT~0 / 3)); {14380#(exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4))) 0) (<= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8))) 0)))} is VALID [2018-11-18 23:13:24,154 INFO L273 TraceCheckUtils]: 22: Hoare triple {14380#(exists ((main_~i~0 Int)) (and (<= 2 main_~i~0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 main_~i~0) (- 4))) 0) (<= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 main_~i~0) |main_~#volArray~0.offset| (- 8))) 0)))} ~i~0 := 0; {14393#(and (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:24,154 INFO L273 TraceCheckUtils]: 23: Hoare triple {14393#(and (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))) (= main_~i~0 0))} assume true; {14393#(and (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:24,155 INFO L273 TraceCheckUtils]: 24: Hoare triple {14393#(and (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |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; {14393#(and (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:24,156 INFO L273 TraceCheckUtils]: 25: Hoare triple {14393#(and (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))) (= main_~i~0 0))} assume #t~short6; {14393#(and (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:24,158 INFO L256 TraceCheckUtils]: 26: Hoare triple {14393#(and (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} is VALID [2018-11-18 23:13:24,158 INFO L273 TraceCheckUtils]: 27: Hoare triple {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} ~cond := #in~cond; {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} is VALID [2018-11-18 23:13:24,159 INFO L273 TraceCheckUtils]: 28: Hoare triple {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} assume !(0 == ~cond); {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} is VALID [2018-11-18 23:13:24,159 INFO L273 TraceCheckUtils]: 29: Hoare triple {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} assume true; {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} is VALID [2018-11-18 23:13:24,160 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} {14393#(and (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))) (= main_~i~0 0))} #89#return; {14393#(and (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:24,161 INFO L273 TraceCheckUtils]: 31: Hoare triple {14393#(and (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))) (= main_~i~0 0))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {14393#(and (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))) (= main_~i~0 0))} is VALID [2018-11-18 23:13:24,162 INFO L273 TraceCheckUtils]: 32: Hoare triple {14393#(and (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14425#(and (= main_~i~0 1) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} is VALID [2018-11-18 23:13:24,163 INFO L273 TraceCheckUtils]: 33: Hoare triple {14425#(and (= main_~i~0 1) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} assume true; {14425#(and (= main_~i~0 1) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} is VALID [2018-11-18 23:13:24,164 INFO L273 TraceCheckUtils]: 34: Hoare triple {14425#(and (= main_~i~0 1) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |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; {14425#(and (= main_~i~0 1) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} is VALID [2018-11-18 23:13:24,165 INFO L273 TraceCheckUtils]: 35: Hoare triple {14425#(and (= main_~i~0 1) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} assume #t~short6; {14425#(and (= main_~i~0 1) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} is VALID [2018-11-18 23:13:24,167 INFO L256 TraceCheckUtils]: 36: Hoare triple {14425#(and (= main_~i~0 1) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} is VALID [2018-11-18 23:13:24,168 INFO L273 TraceCheckUtils]: 37: Hoare triple {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} ~cond := #in~cond; {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} is VALID [2018-11-18 23:13:24,168 INFO L273 TraceCheckUtils]: 38: Hoare triple {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} assume !(0 == ~cond); {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} is VALID [2018-11-18 23:13:24,169 INFO L273 TraceCheckUtils]: 39: Hoare triple {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} assume true; {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} is VALID [2018-11-18 23:13:24,170 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} {14425#(and (= main_~i~0 1) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} #89#return; {14425#(and (= main_~i~0 1) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} is VALID [2018-11-18 23:13:24,171 INFO L273 TraceCheckUtils]: 41: Hoare triple {14425#(and (= main_~i~0 1) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {14425#(and (= main_~i~0 1) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} is VALID [2018-11-18 23:13:24,172 INFO L273 TraceCheckUtils]: 42: Hoare triple {14425#(and (= main_~i~0 1) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14456#(and (= main_~i~0 2) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} is VALID [2018-11-18 23:13:24,173 INFO L273 TraceCheckUtils]: 43: Hoare triple {14456#(and (= main_~i~0 2) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} assume true; {14456#(and (= main_~i~0 2) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} is VALID [2018-11-18 23:13:24,174 INFO L273 TraceCheckUtils]: 44: Hoare triple {14456#(and (= main_~i~0 2) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |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; {14456#(and (= main_~i~0 2) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} is VALID [2018-11-18 23:13:24,175 INFO L273 TraceCheckUtils]: 45: Hoare triple {14456#(and (= main_~i~0 2) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} assume #t~short6; {14456#(and (= main_~i~0 2) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} is VALID [2018-11-18 23:13:24,177 INFO L256 TraceCheckUtils]: 46: Hoare triple {14456#(and (= main_~i~0 2) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} is VALID [2018-11-18 23:13:24,177 INFO L273 TraceCheckUtils]: 47: Hoare triple {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} ~cond := #in~cond; {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} is VALID [2018-11-18 23:13:24,178 INFO L273 TraceCheckUtils]: 48: Hoare triple {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} assume !(0 == ~cond); {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} is VALID [2018-11-18 23:13:24,178 INFO L273 TraceCheckUtils]: 49: Hoare triple {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} assume true; {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} is VALID [2018-11-18 23:13:24,179 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {14406#(exists ((v_prenex_1 Int) (|v_main_~#volArray~0.base_BEFORE_CALL_13| Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_13| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 4)))) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_13| (- 8))) 0) (<= 2 v_prenex_1) (<= v_prenex_1 2)))} {14456#(and (= main_~i~0 2) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} #89#return; {14456#(and (= main_~i~0 2) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} is VALID [2018-11-18 23:13:24,180 INFO L273 TraceCheckUtils]: 51: Hoare triple {14456#(and (= main_~i~0 2) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {14456#(and (= main_~i~0 2) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} is VALID [2018-11-18 23:13:24,181 INFO L273 TraceCheckUtils]: 52: Hoare triple {14456#(and (= main_~i~0 2) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14487#(and (= main_~i~0 3) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} is VALID [2018-11-18 23:13:24,182 INFO L273 TraceCheckUtils]: 53: Hoare triple {14487#(and (= main_~i~0 3) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} assume true; {14487#(and (= main_~i~0 3) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} is VALID [2018-11-18 23:13:24,183 INFO L273 TraceCheckUtils]: 54: Hoare triple {14487#(and (= main_~i~0 3) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |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; {14487#(and (= main_~i~0 3) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} is VALID [2018-11-18 23:13:24,184 INFO L273 TraceCheckUtils]: 55: Hoare triple {14487#(and (= main_~i~0 3) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} assume #t~short6; {14487#(and (= main_~i~0 3) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} is VALID [2018-11-18 23:13:24,186 INFO L256 TraceCheckUtils]: 56: Hoare triple {14487#(and (= main_~i~0 3) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14500#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int) (v_prenex_1 Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_16| Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_16| (- 4)))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_16| (- 8))))))} is VALID [2018-11-18 23:13:24,187 INFO L273 TraceCheckUtils]: 57: Hoare triple {14500#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int) (v_prenex_1 Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_16| Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_16| (- 4)))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_16| (- 8))))))} ~cond := #in~cond; {14500#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int) (v_prenex_1 Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_16| Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_16| (- 4)))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_16| (- 8))))))} is VALID [2018-11-18 23:13:24,187 INFO L273 TraceCheckUtils]: 58: Hoare triple {14500#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int) (v_prenex_1 Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_16| Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_16| (- 4)))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_16| (- 8))))))} assume !(0 == ~cond); {14500#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int) (v_prenex_1 Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_16| Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_16| (- 4)))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_16| (- 8))))))} is VALID [2018-11-18 23:13:24,188 INFO L273 TraceCheckUtils]: 59: Hoare triple {14500#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int) (v_prenex_1 Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_16| Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_16| (- 4)))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_16| (- 8))))))} assume true; {14500#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int) (v_prenex_1 Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_16| Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_16| (- 4)))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_16| (- 8))))))} is VALID [2018-11-18 23:13:24,189 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {14500#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int) (v_prenex_1 Int) (|v_main_~#volArray~0.offset_BEFORE_CALL_16| Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_16| (- 4)))) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) (+ (* 12 v_prenex_1) |v_main_~#volArray~0.offset_BEFORE_CALL_16| (- 8))))))} {14487#(and (= main_~i~0 3) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} #89#return; {14487#(and (= main_~i~0 3) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} is VALID [2018-11-18 23:13:24,190 INFO L273 TraceCheckUtils]: 61: Hoare triple {14487#(and (= main_~i~0 3) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} havoc #t~short6;havoc #t~mem5;havoc #t~mem4; {14487#(and (= main_~i~0 3) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} is VALID [2018-11-18 23:13:24,191 INFO L273 TraceCheckUtils]: 62: Hoare triple {14487#(and (= main_~i~0 3) (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14519#(and (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))) (= main_~i~0 4))} is VALID [2018-11-18 23:13:24,192 INFO L273 TraceCheckUtils]: 63: Hoare triple {14519#(and (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))) (= main_~i~0 4))} assume true; {14519#(and (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))) (= main_~i~0 4))} is VALID [2018-11-18 23:13:24,193 INFO L273 TraceCheckUtils]: 64: Hoare triple {14519#(and (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 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; {14519#(and (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))) (= main_~i~0 4))} is VALID [2018-11-18 23:13:24,194 INFO L273 TraceCheckUtils]: 65: Hoare triple {14519#(and (exists ((v_prenex_1 Int)) (and (<= 2 v_prenex_1) (<= v_prenex_1 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 12 v_prenex_1) (- 4))) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 12 v_prenex_1) |main_~#volArray~0.offset| (- 8))) 0))) (= 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; {14320#|main_#t~short6|} is VALID [2018-11-18 23:13:24,195 INFO L256 TraceCheckUtils]: 66: Hoare triple {14320#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {14532#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-18 23:13:24,195 INFO L273 TraceCheckUtils]: 67: Hoare triple {14532#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {14536#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-18 23:13:24,196 INFO L273 TraceCheckUtils]: 68: Hoare triple {14536#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14310#false} is VALID [2018-11-18 23:13:24,196 INFO L273 TraceCheckUtils]: 69: Hoare triple {14310#false} assume !false; {14310#false} is VALID [2018-11-18 23:13:24,219 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 0 proven. 70 refuted. 12 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-18 23:13:24,237 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:13:24,237 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 16] total 24 [2018-11-18 23:13:24,238 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 70 [2018-11-18 23:13:24,238 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:13:24,238 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-18 23:13:32,463 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 102 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2018-11-18 23:13:32,463 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-18 23:13:32,463 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-18 23:13:32,464 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=85, Invalid=465, Unknown=2, NotChecked=0, Total=552 [2018-11-18 23:13:32,464 INFO L87 Difference]: Start difference. First operand 335 states and 390 transitions. Second operand 24 states.