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-370d6ab [2018-11-14 17:05:08,798 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-14 17:05:08,800 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-14 17:05:08,818 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-14 17:05:08,819 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-14 17:05:08,822 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-14 17:05:08,824 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-14 17:05:08,827 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-14 17:05:08,830 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-14 17:05:08,831 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-14 17:05:08,833 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-14 17:05:08,833 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-14 17:05:08,834 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-14 17:05:08,836 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-14 17:05:08,844 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-14 17:05:08,845 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-14 17:05:08,850 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-14 17:05:08,852 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-14 17:05:08,855 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-14 17:05:08,860 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-14 17:05:08,861 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-14 17:05:08,862 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-14 17:05:08,867 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-14 17:05:08,867 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-14 17:05:08,867 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-14 17:05:08,870 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-14 17:05:08,871 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-14 17:05:08,872 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-14 17:05:08,874 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-14 17:05:08,877 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-14 17:05:08,878 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-14 17:05:08,879 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-14 17:05:08,880 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-14 17:05:08,880 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-14 17:05:08,882 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-14 17:05:08,882 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-14 17:05:08,883 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-14 17:05:08,909 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-14 17:05:08,910 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-14 17:05:08,911 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-14 17:05:08,911 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-11-14 17:05:08,912 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-14 17:05:08,912 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-14 17:05:08,912 INFO L133 SettingsManager]: * Use SBE=true [2018-11-14 17:05:08,913 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-14 17:05:08,913 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-14 17:05:08,913 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-14 17:05:08,913 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-14 17:05:08,914 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-14 17:05:08,914 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-14 17:05:08,914 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-14 17:05:08,914 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-14 17:05:08,914 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-14 17:05:08,915 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-14 17:05:08,915 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-14 17:05:08,915 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-14 17:05:08,915 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-14 17:05:08,916 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-14 17:05:08,916 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-14 17:05:08,916 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-14 17:05:08,916 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-14 17:05:08,916 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-14 17:05:08,917 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-14 17:05:08,917 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-14 17:05:08,917 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-14 17:05:08,917 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-14 17:05:08,917 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-14 17:05:08,963 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-14 17:05:08,980 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-14 17:05:08,984 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-14 17:05:08,986 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-14 17:05:08,987 INFO L276 PluginConnector]: CDTParser initialized [2018-11-14 17:05:08,987 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-14 17:05:09,054 INFO L218 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bbb1237ed/b26a975b35cf459282fcd69192ac2048/FLAGee15125af [2018-11-14 17:05:09,513 INFO L298 CDTParser]: Found 1 translation units. [2018-11-14 17:05:09,513 INFO L158 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-tiling/pr3_true-unreach-call.i [2018-11-14 17:05:09,521 INFO L346 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bbb1237ed/b26a975b35cf459282fcd69192ac2048/FLAGee15125af [2018-11-14 17:05:09,538 INFO L354 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bbb1237ed/b26a975b35cf459282fcd69192ac2048 [2018-11-14 17:05:09,549 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-14 17:05:09,550 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-11-14 17:05:09,551 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-14 17:05:09,552 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-14 17:05:09,556 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-14 17:05:09,557 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 05:05:09" (1/1) ... [2018-11-14 17:05:09,560 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@39b8652e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:05:09, skipping insertion in model container [2018-11-14 17:05:09,561 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 05:05:09" (1/1) ... [2018-11-14 17:05:09,572 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-14 17:05:09,601 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-14 17:05:09,866 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 17:05:09,877 INFO L191 MainTranslator]: Completed pre-run [2018-11-14 17:05:09,920 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 17:05:09,951 INFO L195 MainTranslator]: Completed translation [2018-11-14 17:05:09,952 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:05:09 WrapperNode [2018-11-14 17:05:09,952 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-14 17:05:09,953 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-14 17:05:09,953 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-14 17:05:09,953 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-14 17:05:09,971 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:05:09" (1/1) ... [2018-11-14 17:05:09,972 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:05:09" (1/1) ... [2018-11-14 17:05:09,984 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:05:09" (1/1) ... [2018-11-14 17:05:09,985 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:05:09" (1/1) ... [2018-11-14 17:05:10,004 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:05:09" (1/1) ... [2018-11-14 17:05:10,018 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:05:09" (1/1) ... [2018-11-14 17:05:10,021 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:05:09" (1/1) ... [2018-11-14 17:05:10,027 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-14 17:05:10,028 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-14 17:05:10,028 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-14 17:05:10,028 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-14 17:05:10,032 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:05:09" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-14 17:05:10,235 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-14 17:05:10,236 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-14 17:05:10,236 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-14 17:05:10,236 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-14 17:05:10,236 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-11-14 17:05:10,236 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assume [2018-11-14 17:05:10,238 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-14 17:05:10,238 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2018-11-14 17:05:10,238 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-14 17:05:10,239 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-14 17:05:10,239 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-14 17:05:10,239 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-14 17:05:10,239 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-14 17:05:10,239 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-14 17:05:10,239 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-14 17:05:10,240 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-11-14 17:05:11,043 INFO L278 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-14 17:05:11,044 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 05:05:11 BoogieIcfgContainer [2018-11-14 17:05:11,044 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-14 17:05:11,045 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-14 17:05:11,045 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-14 17:05:11,048 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-14 17:05:11,049 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.11 05:05:09" (1/3) ... [2018-11-14 17:05:11,049 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3486d795 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 05:05:11, skipping insertion in model container [2018-11-14 17:05:11,050 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:05:09" (2/3) ... [2018-11-14 17:05:11,050 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3486d795 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 05:05:11, skipping insertion in model container [2018-11-14 17:05:11,050 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 05:05:11" (3/3) ... [2018-11-14 17:05:11,052 INFO L112 eAbstractionObserver]: Analyzing ICFG pr3_true-unreach-call.i [2018-11-14 17:05:11,060 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-14 17:05:11,070 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-14 17:05:11,085 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-14 17:05:11,118 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-14 17:05:11,119 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-14 17:05:11,119 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-14 17:05:11,120 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-14 17:05:11,120 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-14 17:05:11,120 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-14 17:05:11,120 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-14 17:05:11,121 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-14 17:05:11,121 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-14 17:05:11,140 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states. [2018-11-14 17:05:11,146 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2018-11-14 17:05:11,147 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:05:11,148 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 17:05:11,151 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:05:11,157 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:05:11,157 INFO L82 PathProgramCache]: Analyzing trace with hash 1823049264, now seen corresponding path program 1 times [2018-11-14 17:05:11,160 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:05:11,160 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:05:11,206 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:11,207 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:05:11,207 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:11,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:11,405 INFO L256 TraceCheckUtils]: 0: Hoare triple {36#true} call ULTIMATE.init(); {36#true} is VALID [2018-11-14 17:05:11,409 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-14 17:05:11,409 INFO L273 TraceCheckUtils]: 2: Hoare triple {36#true} assume true; {36#true} is VALID [2018-11-14 17:05:11,410 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {36#true} {36#true} #85#return; {36#true} is VALID [2018-11-14 17:05:11,410 INFO L256 TraceCheckUtils]: 4: Hoare triple {36#true} call #t~ret7 := main(); {36#true} is VALID [2018-11-14 17:05:11,411 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-14 17:05:11,411 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {36#true} is VALID [2018-11-14 17:05:11,411 INFO L273 TraceCheckUtils]: 7: Hoare triple {36#true} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 0;~i~0 := 1; {36#true} is VALID [2018-11-14 17:05:11,413 INFO L273 TraceCheckUtils]: 8: Hoare triple {36#true} assume !true; {37#false} is VALID [2018-11-14 17:05:11,413 INFO L273 TraceCheckUtils]: 9: Hoare triple {37#false} ~i~0 := 0; {37#false} is VALID [2018-11-14 17:05:11,413 INFO L273 TraceCheckUtils]: 10: Hoare triple {37#false} assume true; {37#false} is VALID [2018-11-14 17:05:11,414 INFO L273 TraceCheckUtils]: 11: Hoare triple {37#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {37#false} is VALID [2018-11-14 17:05:11,414 INFO L273 TraceCheckUtils]: 12: Hoare triple {37#false} assume #t~short6; {37#false} is VALID [2018-11-14 17:05:11,414 INFO L256 TraceCheckUtils]: 13: Hoare triple {37#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {37#false} is VALID [2018-11-14 17:05:11,415 INFO L273 TraceCheckUtils]: 14: Hoare triple {37#false} ~cond := #in~cond; {37#false} is VALID [2018-11-14 17:05:11,415 INFO L273 TraceCheckUtils]: 15: Hoare triple {37#false} assume ~cond == 0; {37#false} is VALID [2018-11-14 17:05:11,416 INFO L273 TraceCheckUtils]: 16: Hoare triple {37#false} assume !false; {37#false} is VALID [2018-11-14 17:05:11,419 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:05:11,422 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:05:11,422 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-14 17:05:11,427 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 17 [2018-11-14 17:05:11,431 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:05:11,434 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-14 17:05:11,627 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-14 17:05:11,627 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-14 17:05:11,635 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-14 17:05:11,636 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-14 17:05:11,638 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 2 states. [2018-11-14 17:05:11,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:11,973 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2018-11-14 17:05:11,973 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-14 17:05:11,974 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 17 [2018-11-14 17:05:11,974 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:05:11,975 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 17:05:11,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 66 transitions. [2018-11-14 17:05:11,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 17:05:11,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 66 transitions. [2018-11-14 17:05:11,992 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 66 transitions. [2018-11-14 17:05:12,258 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-14 17:05:12,270 INFO L225 Difference]: With dead ends: 52 [2018-11-14 17:05:12,270 INFO L226 Difference]: Without dead ends: 27 [2018-11-14 17:05:12,274 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-14 17:05:12,291 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2018-11-14 17:05:12,320 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2018-11-14 17:05:12,320 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:05:12,321 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 27 states. [2018-11-14 17:05:12,321 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2018-11-14 17:05:12,321 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2018-11-14 17:05:12,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:12,326 INFO L93 Difference]: Finished difference Result 27 states and 32 transitions. [2018-11-14 17:05:12,326 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 32 transitions. [2018-11-14 17:05:12,327 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:12,327 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:12,327 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2018-11-14 17:05:12,327 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2018-11-14 17:05:12,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:12,332 INFO L93 Difference]: Finished difference Result 27 states and 32 transitions. [2018-11-14 17:05:12,332 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 32 transitions. [2018-11-14 17:05:12,332 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:12,333 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:12,333 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:05:12,333 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:05:12,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-14 17:05:12,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 32 transitions. [2018-11-14 17:05:12,338 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 32 transitions. Word has length 17 [2018-11-14 17:05:12,338 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:05:12,338 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 32 transitions. [2018-11-14 17:05:12,338 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-14 17:05:12,338 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 32 transitions. [2018-11-14 17:05:12,339 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-14 17:05:12,339 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:05:12,340 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-14 17:05:12,340 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:05:12,340 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:05:12,341 INFO L82 PathProgramCache]: Analyzing trace with hash 797203505, now seen corresponding path program 1 times [2018-11-14 17:05:12,341 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:05:12,341 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:05:12,342 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:12,342 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:05:12,342 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:12,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:12,556 INFO L256 TraceCheckUtils]: 0: Hoare triple {192#true} call ULTIMATE.init(); {192#true} is VALID [2018-11-14 17:05:12,556 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-14 17:05:12,557 INFO L273 TraceCheckUtils]: 2: Hoare triple {192#true} assume true; {192#true} is VALID [2018-11-14 17:05:12,557 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {192#true} {192#true} #85#return; {192#true} is VALID [2018-11-14 17:05:12,557 INFO L256 TraceCheckUtils]: 4: Hoare triple {192#true} call #t~ret7 := main(); {192#true} is VALID [2018-11-14 17:05:12,557 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-14 17:05:12,558 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {192#true} is VALID [2018-11-14 17:05:12,558 INFO L273 TraceCheckUtils]: 7: Hoare triple {192#true} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 0;~i~0 := 1; {192#true} is VALID [2018-11-14 17:05:12,558 INFO L273 TraceCheckUtils]: 8: Hoare triple {192#true} assume true; {192#true} is VALID [2018-11-14 17:05:12,559 INFO L273 TraceCheckUtils]: 9: Hoare triple {192#true} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {192#true} is VALID [2018-11-14 17:05:12,559 INFO L273 TraceCheckUtils]: 10: Hoare triple {192#true} ~i~0 := 0; {192#true} is VALID [2018-11-14 17:05:12,560 INFO L273 TraceCheckUtils]: 11: Hoare triple {192#true} assume true; {192#true} is VALID [2018-11-14 17:05:12,560 INFO L273 TraceCheckUtils]: 12: Hoare triple {192#true} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {192#true} is VALID [2018-11-14 17:05:12,563 INFO L273 TraceCheckUtils]: 13: Hoare triple {192#true} assume #t~short6; {194#|main_#t~short6|} is VALID [2018-11-14 17:05:12,566 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-14 17:05:12,567 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-14 17:05:12,568 INFO L273 TraceCheckUtils]: 16: Hoare triple {196#(not (= 0 __VERIFIER_assert_~cond))} assume ~cond == 0; {193#false} is VALID [2018-11-14 17:05:12,568 INFO L273 TraceCheckUtils]: 17: Hoare triple {193#false} assume !false; {193#false} is VALID [2018-11-14 17:05:12,570 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:05:12,570 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:05:12,571 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-14 17:05:12,572 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 18 [2018-11-14 17:05:12,573 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:05:12,573 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-14 17:05:12,627 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-14 17:05:12,627 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-14 17:05:12,627 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-14 17:05:12,628 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-14 17:05:12,628 INFO L87 Difference]: Start difference. First operand 27 states and 32 transitions. Second operand 5 states. [2018-11-14 17:05:13,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:13,064 INFO L93 Difference]: Finished difference Result 35 states and 40 transitions. [2018-11-14 17:05:13,064 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-14 17:05:13,065 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 18 [2018-11-14 17:05:13,066 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:05:13,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 17:05:13,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2018-11-14 17:05:13,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 17:05:13,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2018-11-14 17:05:13,072 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 40 transitions. [2018-11-14 17:05:13,434 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-14 17:05:13,437 INFO L225 Difference]: With dead ends: 35 [2018-11-14 17:05:13,438 INFO L226 Difference]: Without dead ends: 33 [2018-11-14 17:05:13,439 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-14 17:05:13,440 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2018-11-14 17:05:13,456 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2018-11-14 17:05:13,456 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:05:13,456 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand 32 states. [2018-11-14 17:05:13,456 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 32 states. [2018-11-14 17:05:13,456 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 32 states. [2018-11-14 17:05:13,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:13,460 INFO L93 Difference]: Finished difference Result 33 states and 38 transitions. [2018-11-14 17:05:13,460 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 38 transitions. [2018-11-14 17:05:13,461 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:13,461 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:13,461 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 33 states. [2018-11-14 17:05:13,462 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 33 states. [2018-11-14 17:05:13,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:13,465 INFO L93 Difference]: Finished difference Result 33 states and 38 transitions. [2018-11-14 17:05:13,465 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 38 transitions. [2018-11-14 17:05:13,466 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:13,466 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:13,466 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:05:13,466 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:05:13,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-14 17:05:13,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 37 transitions. [2018-11-14 17:05:13,469 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 37 transitions. Word has length 18 [2018-11-14 17:05:13,469 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:05:13,470 INFO L480 AbstractCegarLoop]: Abstraction has 32 states and 37 transitions. [2018-11-14 17:05:13,470 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-14 17:05:13,470 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2018-11-14 17:05:13,471 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-14 17:05:13,471 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:05:13,471 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-14 17:05:13,471 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:05:13,472 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:05:13,472 INFO L82 PathProgramCache]: Analyzing trace with hash 799050547, now seen corresponding path program 1 times [2018-11-14 17:05:13,472 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:05:13,472 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:05:13,473 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:13,473 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:05:13,474 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:13,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:13,693 INFO L256 TraceCheckUtils]: 0: Hoare triple {354#true} call ULTIMATE.init(); {354#true} is VALID [2018-11-14 17:05:13,694 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-14 17:05:13,694 INFO L273 TraceCheckUtils]: 2: Hoare triple {354#true} assume true; {354#true} is VALID [2018-11-14 17:05:13,695 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {354#true} {354#true} #85#return; {354#true} is VALID [2018-11-14 17:05:13,695 INFO L256 TraceCheckUtils]: 4: Hoare triple {354#true} call #t~ret7 := main(); {354#true} is VALID [2018-11-14 17:05:13,695 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-14 17:05:13,711 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {356#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-14 17:05:13,720 INFO L273 TraceCheckUtils]: 7: Hoare triple {356#(<= 2 ~CELLCOUNT~0)} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 0;~i~0 := 1; {357#(and (<= 2 ~CELLCOUNT~0) (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))))} is VALID [2018-11-14 17:05:13,734 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-14 17:05:13,747 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {355#false} is VALID [2018-11-14 17:05:13,747 INFO L273 TraceCheckUtils]: 10: Hoare triple {355#false} ~i~0 := 0; {355#false} is VALID [2018-11-14 17:05:13,748 INFO L273 TraceCheckUtils]: 11: Hoare triple {355#false} assume true; {355#false} is VALID [2018-11-14 17:05:13,748 INFO L273 TraceCheckUtils]: 12: Hoare triple {355#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {355#false} is VALID [2018-11-14 17:05:13,748 INFO L273 TraceCheckUtils]: 13: Hoare triple {355#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {355#false} is VALID [2018-11-14 17:05:13,748 INFO L256 TraceCheckUtils]: 14: Hoare triple {355#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {355#false} is VALID [2018-11-14 17:05:13,749 INFO L273 TraceCheckUtils]: 15: Hoare triple {355#false} ~cond := #in~cond; {355#false} is VALID [2018-11-14 17:05:13,749 INFO L273 TraceCheckUtils]: 16: Hoare triple {355#false} assume ~cond == 0; {355#false} is VALID [2018-11-14 17:05:13,749 INFO L273 TraceCheckUtils]: 17: Hoare triple {355#false} assume !false; {355#false} is VALID [2018-11-14 17:05:13,751 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:05:13,751 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:05:13,751 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-14 17:05:13,755 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 18 [2018-11-14 17:05:13,756 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:05:13,756 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-14 17:05:13,793 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-14 17:05:13,793 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-14 17:05:13,794 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-14 17:05:13,794 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-14 17:05:13,794 INFO L87 Difference]: Start difference. First operand 32 states and 37 transitions. Second operand 4 states. [2018-11-14 17:05:14,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:14,059 INFO L93 Difference]: Finished difference Result 56 states and 66 transitions. [2018-11-14 17:05:14,059 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-14 17:05:14,059 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 18 [2018-11-14 17:05:14,062 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:05:14,062 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 17:05:14,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2018-11-14 17:05:14,067 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 17:05:14,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2018-11-14 17:05:14,073 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 56 transitions. [2018-11-14 17:05:14,194 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-14 17:05:14,196 INFO L225 Difference]: With dead ends: 56 [2018-11-14 17:05:14,196 INFO L226 Difference]: Without dead ends: 38 [2018-11-14 17:05:14,197 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-14 17:05:14,197 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2018-11-14 17:05:14,226 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 34. [2018-11-14 17:05:14,226 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:05:14,226 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 34 states. [2018-11-14 17:05:14,226 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 34 states. [2018-11-14 17:05:14,227 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 34 states. [2018-11-14 17:05:14,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:14,230 INFO L93 Difference]: Finished difference Result 38 states and 46 transitions. [2018-11-14 17:05:14,230 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 46 transitions. [2018-11-14 17:05:14,231 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:14,231 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:14,231 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 38 states. [2018-11-14 17:05:14,232 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 38 states. [2018-11-14 17:05:14,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:14,235 INFO L93 Difference]: Finished difference Result 38 states and 46 transitions. [2018-11-14 17:05:14,235 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 46 transitions. [2018-11-14 17:05:14,236 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:14,236 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:14,236 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:05:14,237 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:05:14,237 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-14 17:05:14,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 39 transitions. [2018-11-14 17:05:14,244 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 39 transitions. Word has length 18 [2018-11-14 17:05:14,245 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:05:14,245 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 39 transitions. [2018-11-14 17:05:14,245 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-14 17:05:14,245 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 39 transitions. [2018-11-14 17:05:14,246 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-14 17:05:14,246 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:05:14,246 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-14 17:05:14,247 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:05:14,247 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:05:14,247 INFO L82 PathProgramCache]: Analyzing trace with hash -493897724, now seen corresponding path program 1 times [2018-11-14 17:05:14,247 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:05:14,248 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:05:14,249 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:14,249 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:05:14,249 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:14,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:14,394 INFO L256 TraceCheckUtils]: 0: Hoare triple {553#true} call ULTIMATE.init(); {553#true} is VALID [2018-11-14 17:05:14,395 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-14 17:05:14,395 INFO L273 TraceCheckUtils]: 2: Hoare triple {553#true} assume true; {553#true} is VALID [2018-11-14 17:05:14,396 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {553#true} {553#true} #85#return; {553#true} is VALID [2018-11-14 17:05:14,396 INFO L256 TraceCheckUtils]: 4: Hoare triple {553#true} call #t~ret7 := main(); {553#true} is VALID [2018-11-14 17:05:14,396 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-14 17:05:14,399 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {555#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-14 17:05:14,401 INFO L273 TraceCheckUtils]: 7: Hoare triple {555#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 0;~i~0 := 1; {555#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-14 17:05:14,402 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-14 17:05:14,404 INFO L273 TraceCheckUtils]: 9: Hoare triple {555#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {555#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-14 17:05:14,406 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 + (~i~0 * 3 - 3) * 4, 4); {555#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-14 17:05:14,407 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 + (~i~0 * 3 - 2) * 4, 4); {556#(<= (+ main_~CCCELVOL1~0 3) main_~MINVAL~0)} is VALID [2018-11-14 17:05:14,408 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 + (~i~0 * 3 - 1) * 4, 4); {554#false} is VALID [2018-11-14 17:05:14,408 INFO L273 TraceCheckUtils]: 13: Hoare triple {554#false} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {554#false} is VALID [2018-11-14 17:05:14,408 INFO L273 TraceCheckUtils]: 14: Hoare triple {554#false} assume true; {554#false} is VALID [2018-11-14 17:05:14,408 INFO L273 TraceCheckUtils]: 15: Hoare triple {554#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {554#false} is VALID [2018-11-14 17:05:14,409 INFO L273 TraceCheckUtils]: 16: Hoare triple {554#false} ~i~0 := 0; {554#false} is VALID [2018-11-14 17:05:14,409 INFO L273 TraceCheckUtils]: 17: Hoare triple {554#false} assume true; {554#false} is VALID [2018-11-14 17:05:14,409 INFO L273 TraceCheckUtils]: 18: Hoare triple {554#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {554#false} is VALID [2018-11-14 17:05:14,410 INFO L273 TraceCheckUtils]: 19: Hoare triple {554#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {554#false} is VALID [2018-11-14 17:05:14,410 INFO L256 TraceCheckUtils]: 20: Hoare triple {554#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {554#false} is VALID [2018-11-14 17:05:14,410 INFO L273 TraceCheckUtils]: 21: Hoare triple {554#false} ~cond := #in~cond; {554#false} is VALID [2018-11-14 17:05:14,411 INFO L273 TraceCheckUtils]: 22: Hoare triple {554#false} assume ~cond == 0; {554#false} is VALID [2018-11-14 17:05:14,411 INFO L273 TraceCheckUtils]: 23: Hoare triple {554#false} assume !false; {554#false} is VALID [2018-11-14 17:05:14,413 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:05:14,413 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:05:14,413 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-14 17:05:14,414 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 24 [2018-11-14 17:05:14,414 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:05:14,414 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-14 17:05:14,502 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-14 17:05:14,502 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-14 17:05:14,503 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-14 17:05:14,503 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-14 17:05:14,503 INFO L87 Difference]: Start difference. First operand 34 states and 39 transitions. Second operand 4 states. [2018-11-14 17:05:14,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:14,756 INFO L93 Difference]: Finished difference Result 72 states and 89 transitions. [2018-11-14 17:05:14,756 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-14 17:05:14,756 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 24 [2018-11-14 17:05:14,756 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:05:14,757 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 17:05:14,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 75 transitions. [2018-11-14 17:05:14,760 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 17:05:14,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 75 transitions. [2018-11-14 17:05:14,764 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 75 transitions. [2018-11-14 17:05:14,904 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:05:14,908 INFO L225 Difference]: With dead ends: 72 [2018-11-14 17:05:14,908 INFO L226 Difference]: Without dead ends: 48 [2018-11-14 17:05:14,909 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-14 17:05:14,909 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2018-11-14 17:05:14,963 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 40. [2018-11-14 17:05:14,963 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:05:14,963 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand 40 states. [2018-11-14 17:05:14,964 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 40 states. [2018-11-14 17:05:14,964 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 40 states. [2018-11-14 17:05:14,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:14,969 INFO L93 Difference]: Finished difference Result 48 states and 59 transitions. [2018-11-14 17:05:14,969 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2018-11-14 17:05:14,970 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:14,970 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:14,971 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 48 states. [2018-11-14 17:05:14,971 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 48 states. [2018-11-14 17:05:14,974 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:14,975 INFO L93 Difference]: Finished difference Result 48 states and 59 transitions. [2018-11-14 17:05:14,975 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2018-11-14 17:05:14,976 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:14,976 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:14,976 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:05:14,976 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:05:14,976 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2018-11-14 17:05:14,979 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 48 transitions. [2018-11-14 17:05:14,979 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 48 transitions. Word has length 24 [2018-11-14 17:05:14,979 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:05:14,979 INFO L480 AbstractCegarLoop]: Abstraction has 40 states and 48 transitions. [2018-11-14 17:05:14,980 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-14 17:05:14,980 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 48 transitions. [2018-11-14 17:05:14,981 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-14 17:05:14,981 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:05:14,981 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-14 17:05:14,981 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:05:14,982 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:05:14,982 INFO L82 PathProgramCache]: Analyzing trace with hash -235732286, now seen corresponding path program 1 times [2018-11-14 17:05:14,982 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:05:14,982 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:05:14,983 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:14,983 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:05:14,983 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:15,021 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:15,939 INFO L256 TraceCheckUtils]: 0: Hoare triple {802#true} call ULTIMATE.init(); {802#true} is VALID [2018-11-14 17:05:15,939 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-14 17:05:15,940 INFO L273 TraceCheckUtils]: 2: Hoare triple {802#true} assume true; {802#true} is VALID [2018-11-14 17:05:15,940 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {802#true} {802#true} #85#return; {802#true} is VALID [2018-11-14 17:05:15,940 INFO L256 TraceCheckUtils]: 4: Hoare triple {802#true} call #t~ret7 := main(); {802#true} is VALID [2018-11-14 17:05:15,941 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-14 17:05:15,942 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {804#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:05:15,943 INFO L273 TraceCheckUtils]: 7: Hoare triple {804#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 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-14 17:05:15,944 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-14 17:05:15,946 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:05:15,947 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 + (~i~0 * 3 - 3) * 4, 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-14 17:05:15,948 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 + (~i~0 * 3 - 2) * 4, 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-14 17:05:15,949 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 + (~i~0 * 3 - 1) * 4, 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-14 17:05:15,951 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 := #t~post2 + 1;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-14 17:05:15,954 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-14 17:05:15,956 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:05:15,956 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-14 17:05:15,958 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-14 17:05:15,966 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 + ~i~0 * 4, 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-14 17:05:15,967 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 + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {803#false} is VALID [2018-11-14 17:05:15,967 INFO L256 TraceCheckUtils]: 20: Hoare triple {803#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {803#false} is VALID [2018-11-14 17:05:15,967 INFO L273 TraceCheckUtils]: 21: Hoare triple {803#false} ~cond := #in~cond; {803#false} is VALID [2018-11-14 17:05:15,967 INFO L273 TraceCheckUtils]: 22: Hoare triple {803#false} assume ~cond == 0; {803#false} is VALID [2018-11-14 17:05:15,968 INFO L273 TraceCheckUtils]: 23: Hoare triple {803#false} assume !false; {803#false} is VALID [2018-11-14 17:05:15,971 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-14 17:05:15,972 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:05:15,972 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 17:05:15,989 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:05:16,021 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:16,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:16,041 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:05:16,275 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-14 17:05:16,334 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-14 17:05:16,358 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:05:16,397 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:16,450 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:16,451 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:19 [2018-11-14 17:05:16,455 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 17:05:16,609 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-14 17:05:16,622 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:05:16,626 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-14 17:05:16,629 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:05:16,640 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:16,652 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:16,652 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-14 17:05:16,761 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-14 17:05:16,787 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:05:16,788 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:05:16,789 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:05:16,795 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-14 17:05:16,805 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:05:16,821 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:16,832 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:16,833 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:33, output treesize:29 [2018-11-14 17:05:17,098 INFO L256 TraceCheckUtils]: 0: Hoare triple {802#true} call ULTIMATE.init(); {802#true} is VALID [2018-11-14 17:05:17,099 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-14 17:05:17,099 INFO L273 TraceCheckUtils]: 2: Hoare triple {802#true} assume true; {802#true} is VALID [2018-11-14 17:05:17,099 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {802#true} {802#true} #85#return; {802#true} is VALID [2018-11-14 17:05:17,099 INFO L256 TraceCheckUtils]: 4: Hoare triple {802#true} call #t~ret7 := main(); {802#true} is VALID [2018-11-14 17:05:17,100 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-14 17:05:17,106 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {832#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-14 17:05:17,107 INFO L273 TraceCheckUtils]: 7: Hoare triple {832#(= |main_~#volArray~0.offset| 0)} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 0;~i~0 := 1; {836#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:05:17,107 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-14 17:05:17,108 INFO L273 TraceCheckUtils]: 9: Hoare triple {836#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {836#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:05:17,109 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 + (~i~0 * 3 - 3) * 4, 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-14 17:05:17,110 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 + (~i~0 * 3 - 2) * 4, 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-14 17:05:17,112 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 + (~i~0 * 3 - 1) * 4, 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-14 17:05:17,113 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 := #t~post2 + 1;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-14 17:05:17,114 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-14 17:05:17,118 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:05:17,118 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-14 17:05:17,119 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-14 17:05:17,121 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 + ~i~0 * 4, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {874#|main_#t~short6|} is VALID [2018-11-14 17:05:17,124 INFO L273 TraceCheckUtils]: 19: Hoare triple {874#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {803#false} is VALID [2018-11-14 17:05:17,124 INFO L256 TraceCheckUtils]: 20: Hoare triple {803#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {803#false} is VALID [2018-11-14 17:05:17,124 INFO L273 TraceCheckUtils]: 21: Hoare triple {803#false} ~cond := #in~cond; {803#false} is VALID [2018-11-14 17:05:17,125 INFO L273 TraceCheckUtils]: 22: Hoare triple {803#false} assume ~cond == 0; {803#false} is VALID [2018-11-14 17:05:17,125 INFO L273 TraceCheckUtils]: 23: Hoare triple {803#false} assume !false; {803#false} is VALID [2018-11-14 17:05:17,128 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-14 17:05:17,152 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:05:17,152 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2018-11-14 17:05:17,153 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 24 [2018-11-14 17:05:17,153 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:05:17,153 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-14 17:05:17,221 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-14 17:05:17,221 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-14 17:05:17,222 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-14 17:05:17,222 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=182, Unknown=0, NotChecked=0, Total=240 [2018-11-14 17:05:17,223 INFO L87 Difference]: Start difference. First operand 40 states and 48 transitions. Second operand 16 states. [2018-11-14 17:05:20,841 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:20,841 INFO L93 Difference]: Finished difference Result 132 states and 172 transitions. [2018-11-14 17:05:20,842 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-14 17:05:20,842 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 24 [2018-11-14 17:05:20,842 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:05:20,842 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-14 17:05:20,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 142 transitions. [2018-11-14 17:05:20,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-14 17:05:20,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 142 transitions. [2018-11-14 17:05:20,856 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 142 transitions. [2018-11-14 17:05:21,085 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-14 17:05:21,090 INFO L225 Difference]: With dead ends: 132 [2018-11-14 17:05:21,090 INFO L226 Difference]: Without dead ends: 115 [2018-11-14 17:05:21,091 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-14 17:05:21,091 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-11-14 17:05:21,196 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 56. [2018-11-14 17:05:21,196 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:05:21,197 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand 56 states. [2018-11-14 17:05:21,197 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand 56 states. [2018-11-14 17:05:21,197 INFO L87 Difference]: Start difference. First operand 115 states. Second operand 56 states. [2018-11-14 17:05:21,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:21,205 INFO L93 Difference]: Finished difference Result 115 states and 152 transitions. [2018-11-14 17:05:21,205 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 152 transitions. [2018-11-14 17:05:21,207 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:21,207 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:21,207 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 115 states. [2018-11-14 17:05:21,207 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 115 states. [2018-11-14 17:05:21,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:21,214 INFO L93 Difference]: Finished difference Result 115 states and 152 transitions. [2018-11-14 17:05:21,214 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 152 transitions. [2018-11-14 17:05:21,216 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:21,216 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:21,216 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:05:21,216 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:05:21,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 56 states. [2018-11-14 17:05:21,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 71 transitions. [2018-11-14 17:05:21,219 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 71 transitions. Word has length 24 [2018-11-14 17:05:21,219 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:05:21,219 INFO L480 AbstractCegarLoop]: Abstraction has 56 states and 71 transitions. [2018-11-14 17:05:21,220 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-14 17:05:21,220 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 71 transitions. [2018-11-14 17:05:21,221 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-14 17:05:21,221 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:05:21,221 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-14 17:05:21,221 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:05:21,221 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:05:21,222 INFO L82 PathProgramCache]: Analyzing trace with hash -1246849536, now seen corresponding path program 1 times [2018-11-14 17:05:21,222 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:05:21,222 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:05:21,223 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:21,223 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:05:21,223 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:21,242 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:21,997 INFO L256 TraceCheckUtils]: 0: Hoare triple {1390#true} call ULTIMATE.init(); {1390#true} is VALID [2018-11-14 17:05:21,998 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-14 17:05:21,998 INFO L273 TraceCheckUtils]: 2: Hoare triple {1390#true} assume true; {1390#true} is VALID [2018-11-14 17:05:21,998 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1390#true} {1390#true} #85#return; {1390#true} is VALID [2018-11-14 17:05:21,998 INFO L256 TraceCheckUtils]: 4: Hoare triple {1390#true} call #t~ret7 := main(); {1390#true} is VALID [2018-11-14 17:05:21,999 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-14 17:05:22,004 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {1392#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:05:22,005 INFO L273 TraceCheckUtils]: 7: Hoare triple {1392#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 0;~i~0 := 1; {1393#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-14 17:05:22,006 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-14 17:05:22,006 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {1393#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-14 17:05:22,007 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 + (~i~0 * 3 - 3) * 4, 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-14 17:05:22,008 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 + (~i~0 * 3 - 2) * 4, 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-14 17:05:22,009 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 + (~i~0 * 3 - 1) * 4, 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-14 17:05:22,010 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 := #t~post2 + 1;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-14 17:05:22,011 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-14 17:05:22,012 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:05:22,013 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-14 17:05:22,014 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-14 17:05:22,016 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 + ~i~0 * 4, 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-14 17:05:22,017 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 + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {1398#|main_#t~short6|} is VALID [2018-11-14 17:05:22,018 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-14 17:05:22,018 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-14 17:05:22,019 INFO L273 TraceCheckUtils]: 22: Hoare triple {1400#(not (= 0 __VERIFIER_assert_~cond))} assume ~cond == 0; {1391#false} is VALID [2018-11-14 17:05:22,019 INFO L273 TraceCheckUtils]: 23: Hoare triple {1391#false} assume !false; {1391#false} is VALID [2018-11-14 17:05:22,023 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-14 17:05:22,023 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:05:22,024 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 17:05:22,034 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:05:22,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:22,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:22,079 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:05:22,145 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-14 17:05:22,148 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-14 17:05:22,151 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:05:22,155 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:22,164 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:22,165 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-14 17:05:22,201 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-14 17:05:22,206 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:05:22,207 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-14 17:05:22,209 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:05:22,217 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:22,227 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:22,227 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-14 17:05:22,269 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-14 17:05:22,276 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:05:22,277 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:05:22,278 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:05:22,280 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-14 17:05:22,282 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:05:22,293 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:22,301 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:22,301 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:33, output treesize:29 [2018-11-14 17:05:22,608 INFO L256 TraceCheckUtils]: 0: Hoare triple {1390#true} call ULTIMATE.init(); {1390#true} is VALID [2018-11-14 17:05:22,609 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-14 17:05:22,609 INFO L273 TraceCheckUtils]: 2: Hoare triple {1390#true} assume true; {1390#true} is VALID [2018-11-14 17:05:22,610 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1390#true} {1390#true} #85#return; {1390#true} is VALID [2018-11-14 17:05:22,610 INFO L256 TraceCheckUtils]: 4: Hoare triple {1390#true} call #t~ret7 := main(); {1390#true} is VALID [2018-11-14 17:05:22,610 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-14 17:05:22,611 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {1422#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-14 17:05:22,612 INFO L273 TraceCheckUtils]: 7: Hoare triple {1422#(= |main_~#volArray~0.offset| 0)} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 0;~i~0 := 1; {1426#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:05:22,612 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-14 17:05:22,613 INFO L273 TraceCheckUtils]: 9: Hoare triple {1426#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {1426#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:05:22,614 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 + (~i~0 * 3 - 3) * 4, 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-14 17:05:22,615 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 + (~i~0 * 3 - 2) * 4, 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-14 17:05:22,616 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 + (~i~0 * 3 - 1) * 4, 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-14 17:05:22,617 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 := #t~post2 + 1;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-14 17:05:22,618 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-14 17:05:22,619 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:05:22,621 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-14 17:05:22,622 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-14 17:05:22,623 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 + ~i~0 * 4, 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-14 17:05:22,624 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 + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {1398#|main_#t~short6|} is VALID [2018-11-14 17:05:22,625 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-14 17:05:22,627 INFO L273 TraceCheckUtils]: 21: Hoare triple {1470#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1474#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 17:05:22,628 INFO L273 TraceCheckUtils]: 22: Hoare triple {1474#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {1391#false} is VALID [2018-11-14 17:05:22,628 INFO L273 TraceCheckUtils]: 23: Hoare triple {1391#false} assume !false; {1391#false} is VALID [2018-11-14 17:05:22,631 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-14 17:05:22,651 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:05:22,651 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 19 [2018-11-14 17:05:22,652 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 24 [2018-11-14 17:05:22,652 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:05:22,652 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-14 17:05:22,709 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-14 17:05:22,709 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-14 17:05:22,710 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-14 17:05:22,710 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=278, Unknown=0, NotChecked=0, Total=342 [2018-11-14 17:05:22,710 INFO L87 Difference]: Start difference. First operand 56 states and 71 transitions. Second operand 19 states. [2018-11-14 17:05:25,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:25,967 INFO L93 Difference]: Finished difference Result 139 states and 186 transitions. [2018-11-14 17:05:25,968 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2018-11-14 17:05:25,968 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 24 [2018-11-14 17:05:25,968 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:05:25,968 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-14 17:05:25,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 134 transitions. [2018-11-14 17:05:25,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-14 17:05:25,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 134 transitions. [2018-11-14 17:05:25,977 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 134 transitions. [2018-11-14 17:05:26,206 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-14 17:05:26,211 INFO L225 Difference]: With dead ends: 139 [2018-11-14 17:05:26,211 INFO L226 Difference]: Without dead ends: 137 [2018-11-14 17:05:26,212 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-14 17:05:26,213 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2018-11-14 17:05:26,343 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 87. [2018-11-14 17:05:26,343 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:05:26,343 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand 87 states. [2018-11-14 17:05:26,344 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 87 states. [2018-11-14 17:05:26,344 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 87 states. [2018-11-14 17:05:26,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:26,351 INFO L93 Difference]: Finished difference Result 137 states and 184 transitions. [2018-11-14 17:05:26,351 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 184 transitions. [2018-11-14 17:05:26,352 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:26,352 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:26,352 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand 137 states. [2018-11-14 17:05:26,353 INFO L87 Difference]: Start difference. First operand 87 states. Second operand 137 states. [2018-11-14 17:05:26,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:26,360 INFO L93 Difference]: Finished difference Result 137 states and 184 transitions. [2018-11-14 17:05:26,360 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 184 transitions. [2018-11-14 17:05:26,361 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:26,361 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:26,361 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:05:26,361 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:05:26,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 87 states. [2018-11-14 17:05:26,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 117 transitions. [2018-11-14 17:05:26,365 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 117 transitions. Word has length 24 [2018-11-14 17:05:26,365 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:05:26,365 INFO L480 AbstractCegarLoop]: Abstraction has 87 states and 117 transitions. [2018-11-14 17:05:26,365 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-14 17:05:26,366 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 117 transitions. [2018-11-14 17:05:26,366 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-14 17:05:26,366 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:05:26,367 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-14 17:05:26,367 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:05:26,367 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:05:26,367 INFO L82 PathProgramCache]: Analyzing trace with hash -2069436849, now seen corresponding path program 1 times [2018-11-14 17:05:26,367 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:05:26,368 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:05:26,368 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:26,368 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:05:26,369 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:26,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:26,456 INFO L256 TraceCheckUtils]: 0: Hoare triple {2072#true} call ULTIMATE.init(); {2072#true} is VALID [2018-11-14 17:05:26,456 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-14 17:05:26,456 INFO L273 TraceCheckUtils]: 2: Hoare triple {2072#true} assume true; {2072#true} is VALID [2018-11-14 17:05:26,456 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2072#true} {2072#true} #85#return; {2072#true} is VALID [2018-11-14 17:05:26,457 INFO L256 TraceCheckUtils]: 4: Hoare triple {2072#true} call #t~ret7 := main(); {2072#true} is VALID [2018-11-14 17:05:26,457 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-14 17:05:26,457 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {2072#true} is VALID [2018-11-14 17:05:26,457 INFO L273 TraceCheckUtils]: 7: Hoare triple {2072#true} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 0;~i~0 := 1; {2072#true} is VALID [2018-11-14 17:05:26,458 INFO L273 TraceCheckUtils]: 8: Hoare triple {2072#true} assume true; {2072#true} is VALID [2018-11-14 17:05:26,458 INFO L273 TraceCheckUtils]: 9: Hoare triple {2072#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {2072#true} is VALID [2018-11-14 17:05:26,467 INFO L273 TraceCheckUtils]: 10: Hoare triple {2072#true} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + (~i~0 * 3 - 3) * 4, 4); {2074#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-14 17:05:26,468 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 + (~i~0 * 3 - 2) * 4, 4); {2074#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-14 17:05:26,469 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 + (~i~0 * 3 - 1) * 4, 4); {2074#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-14 17:05:26,469 INFO L273 TraceCheckUtils]: 13: Hoare triple {2074#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {2074#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-14 17:05:26,471 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-14 17:05:26,472 INFO L273 TraceCheckUtils]: 15: Hoare triple {2074#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {2074#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-14 17:05:26,474 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 + (~i~0 * 3 - 3) * 4, 4); {2073#false} is VALID [2018-11-14 17:05:26,474 INFO L273 TraceCheckUtils]: 17: Hoare triple {2073#false} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + (~i~0 * 3 - 2) * 4, 4); {2073#false} is VALID [2018-11-14 17:05:26,474 INFO L273 TraceCheckUtils]: 18: Hoare triple {2073#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + (~i~0 * 3 - 1) * 4, 4); {2073#false} is VALID [2018-11-14 17:05:26,475 INFO L273 TraceCheckUtils]: 19: Hoare triple {2073#false} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {2073#false} is VALID [2018-11-14 17:05:26,475 INFO L273 TraceCheckUtils]: 20: Hoare triple {2073#false} assume true; {2073#false} is VALID [2018-11-14 17:05:26,475 INFO L273 TraceCheckUtils]: 21: Hoare triple {2073#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {2073#false} is VALID [2018-11-14 17:05:26,475 INFO L273 TraceCheckUtils]: 22: Hoare triple {2073#false} ~i~0 := 0; {2073#false} is VALID [2018-11-14 17:05:26,475 INFO L273 TraceCheckUtils]: 23: Hoare triple {2073#false} assume true; {2073#false} is VALID [2018-11-14 17:05:26,475 INFO L273 TraceCheckUtils]: 24: Hoare triple {2073#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {2073#false} is VALID [2018-11-14 17:05:26,475 INFO L273 TraceCheckUtils]: 25: Hoare triple {2073#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {2073#false} is VALID [2018-11-14 17:05:26,476 INFO L256 TraceCheckUtils]: 26: Hoare triple {2073#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2073#false} is VALID [2018-11-14 17:05:26,476 INFO L273 TraceCheckUtils]: 27: Hoare triple {2073#false} ~cond := #in~cond; {2073#false} is VALID [2018-11-14 17:05:26,476 INFO L273 TraceCheckUtils]: 28: Hoare triple {2073#false} assume ~cond == 0; {2073#false} is VALID [2018-11-14 17:05:26,476 INFO L273 TraceCheckUtils]: 29: Hoare triple {2073#false} assume !false; {2073#false} is VALID [2018-11-14 17:05:26,477 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-14 17:05:26,478 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:05:26,478 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-14 17:05:26,478 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 30 [2018-11-14 17:05:26,478 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:05:26,479 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-14 17:05:26,523 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-14 17:05:26,523 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-14 17:05:26,523 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-14 17:05:26,523 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 17:05:26,524 INFO L87 Difference]: Start difference. First operand 87 states and 117 transitions. Second operand 3 states. [2018-11-14 17:05:27,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:27,041 INFO L93 Difference]: Finished difference Result 124 states and 165 transitions. [2018-11-14 17:05:27,041 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 17:05:27,042 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 30 [2018-11-14 17:05:27,042 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:05:27,042 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 17:05:27,044 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 75 transitions. [2018-11-14 17:05:27,044 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 17:05:27,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 75 transitions. [2018-11-14 17:05:27,045 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 75 transitions. [2018-11-14 17:05:27,189 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:05:27,191 INFO L225 Difference]: With dead ends: 124 [2018-11-14 17:05:27,191 INFO L226 Difference]: Without dead ends: 94 [2018-11-14 17:05:27,191 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 17:05:27,191 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2018-11-14 17:05:27,316 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 87. [2018-11-14 17:05:27,316 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:05:27,316 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand 87 states. [2018-11-14 17:05:27,316 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand 87 states. [2018-11-14 17:05:27,316 INFO L87 Difference]: Start difference. First operand 94 states. Second operand 87 states. [2018-11-14 17:05:27,321 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:27,321 INFO L93 Difference]: Finished difference Result 94 states and 123 transitions. [2018-11-14 17:05:27,322 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 123 transitions. [2018-11-14 17:05:27,322 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:27,322 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:27,322 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand 94 states. [2018-11-14 17:05:27,323 INFO L87 Difference]: Start difference. First operand 87 states. Second operand 94 states. [2018-11-14 17:05:27,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:27,327 INFO L93 Difference]: Finished difference Result 94 states and 123 transitions. [2018-11-14 17:05:27,327 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 123 transitions. [2018-11-14 17:05:27,327 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:27,328 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:27,328 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:05:27,328 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:05:27,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 87 states. [2018-11-14 17:05:27,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 113 transitions. [2018-11-14 17:05:27,331 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 113 transitions. Word has length 30 [2018-11-14 17:05:27,332 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:05:27,332 INFO L480 AbstractCegarLoop]: Abstraction has 87 states and 113 transitions. [2018-11-14 17:05:27,332 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-14 17:05:27,332 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 113 transitions. [2018-11-14 17:05:27,333 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-14 17:05:27,333 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:05:27,333 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-14 17:05:27,333 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:05:27,333 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:05:27,334 INFO L82 PathProgramCache]: Analyzing trace with hash -1875968049, now seen corresponding path program 2 times [2018-11-14 17:05:27,334 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:05:27,334 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:05:27,335 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:27,335 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:05:27,335 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:27,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:27,464 INFO L256 TraceCheckUtils]: 0: Hoare triple {2528#true} call ULTIMATE.init(); {2528#true} is VALID [2018-11-14 17:05:27,465 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-14 17:05:27,465 INFO L273 TraceCheckUtils]: 2: Hoare triple {2528#true} assume true; {2528#true} is VALID [2018-11-14 17:05:27,465 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2528#true} {2528#true} #85#return; {2528#true} is VALID [2018-11-14 17:05:27,465 INFO L256 TraceCheckUtils]: 4: Hoare triple {2528#true} call #t~ret7 := main(); {2528#true} is VALID [2018-11-14 17:05:27,465 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-14 17:05:27,465 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {2528#true} is VALID [2018-11-14 17:05:27,465 INFO L273 TraceCheckUtils]: 7: Hoare triple {2528#true} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 0;~i~0 := 1; {2528#true} is VALID [2018-11-14 17:05:27,466 INFO L273 TraceCheckUtils]: 8: Hoare triple {2528#true} assume true; {2528#true} is VALID [2018-11-14 17:05:27,466 INFO L273 TraceCheckUtils]: 9: Hoare triple {2528#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {2528#true} is VALID [2018-11-14 17:05:27,466 INFO L273 TraceCheckUtils]: 10: Hoare triple {2528#true} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + (~i~0 * 3 - 3) * 4, 4); {2530#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-14 17:05:27,467 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 + (~i~0 * 3 - 2) * 4, 4); {2530#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-14 17:05:27,467 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 + (~i~0 * 3 - 1) * 4, 4); {2530#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-14 17:05:27,467 INFO L273 TraceCheckUtils]: 13: Hoare triple {2530#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {2530#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-14 17:05:27,468 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-14 17:05:27,468 INFO L273 TraceCheckUtils]: 15: Hoare triple {2530#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {2530#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-14 17:05:27,469 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 + (~i~0 * 3 - 3) * 4, 4); {2529#false} is VALID [2018-11-14 17:05:27,469 INFO L273 TraceCheckUtils]: 17: Hoare triple {2529#false} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + (~i~0 * 3 - 2) * 4, 4); {2529#false} is VALID [2018-11-14 17:05:27,469 INFO L273 TraceCheckUtils]: 18: Hoare triple {2529#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + (~i~0 * 3 - 1) * 4, 4); {2529#false} is VALID [2018-11-14 17:05:27,469 INFO L273 TraceCheckUtils]: 19: Hoare triple {2529#false} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {2529#false} is VALID [2018-11-14 17:05:27,470 INFO L273 TraceCheckUtils]: 20: Hoare triple {2529#false} assume true; {2529#false} is VALID [2018-11-14 17:05:27,470 INFO L273 TraceCheckUtils]: 21: Hoare triple {2529#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {2529#false} is VALID [2018-11-14 17:05:27,470 INFO L273 TraceCheckUtils]: 22: Hoare triple {2529#false} ~i~0 := 0; {2529#false} is VALID [2018-11-14 17:05:27,470 INFO L273 TraceCheckUtils]: 23: Hoare triple {2529#false} assume true; {2529#false} is VALID [2018-11-14 17:05:27,471 INFO L273 TraceCheckUtils]: 24: Hoare triple {2529#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {2529#false} is VALID [2018-11-14 17:05:27,471 INFO L273 TraceCheckUtils]: 25: Hoare triple {2529#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {2529#false} is VALID [2018-11-14 17:05:27,471 INFO L256 TraceCheckUtils]: 26: Hoare triple {2529#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2529#false} is VALID [2018-11-14 17:05:27,471 INFO L273 TraceCheckUtils]: 27: Hoare triple {2529#false} ~cond := #in~cond; {2529#false} is VALID [2018-11-14 17:05:27,472 INFO L273 TraceCheckUtils]: 28: Hoare triple {2529#false} assume ~cond == 0; {2529#false} is VALID [2018-11-14 17:05:27,472 INFO L273 TraceCheckUtils]: 29: Hoare triple {2529#false} assume !false; {2529#false} is VALID [2018-11-14 17:05:27,473 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-14 17:05:27,473 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:05:27,473 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-14 17:05:27,473 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 30 [2018-11-14 17:05:27,474 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:05:27,474 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-14 17:05:27,499 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-14 17:05:27,499 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-14 17:05:27,500 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-14 17:05:27,500 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 17:05:27,500 INFO L87 Difference]: Start difference. First operand 87 states and 113 transitions. Second operand 3 states. [2018-11-14 17:05:27,832 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:27,832 INFO L93 Difference]: Finished difference Result 111 states and 141 transitions. [2018-11-14 17:05:27,832 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 17:05:27,832 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 30 [2018-11-14 17:05:27,832 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:05:27,832 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 17:05:27,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2018-11-14 17:05:27,834 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 17:05:27,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2018-11-14 17:05:27,836 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2018-11-14 17:05:27,947 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:05:27,949 INFO L225 Difference]: With dead ends: 111 [2018-11-14 17:05:27,950 INFO L226 Difference]: Without dead ends: 81 [2018-11-14 17:05:27,950 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 17:05:27,950 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2018-11-14 17:05:28,083 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 74. [2018-11-14 17:05:28,083 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:05:28,083 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand 74 states. [2018-11-14 17:05:28,083 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 74 states. [2018-11-14 17:05:28,084 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 74 states. [2018-11-14 17:05:28,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:28,087 INFO L93 Difference]: Finished difference Result 81 states and 102 transitions. [2018-11-14 17:05:28,088 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 102 transitions. [2018-11-14 17:05:28,088 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:28,088 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:28,088 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 81 states. [2018-11-14 17:05:28,088 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 81 states. [2018-11-14 17:05:28,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:28,091 INFO L93 Difference]: Finished difference Result 81 states and 102 transitions. [2018-11-14 17:05:28,091 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 102 transitions. [2018-11-14 17:05:28,091 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:28,092 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:28,092 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:05:28,092 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:05:28,092 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2018-11-14 17:05:28,094 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 92 transitions. [2018-11-14 17:05:28,094 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 92 transitions. Word has length 30 [2018-11-14 17:05:28,095 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:05:28,095 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 92 transitions. [2018-11-14 17:05:28,095 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-14 17:05:28,095 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 92 transitions. [2018-11-14 17:05:28,096 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-14 17:05:28,096 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:05:28,096 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-14 17:05:28,096 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:05:28,096 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:05:28,096 INFO L82 PathProgramCache]: Analyzing trace with hash 1935151821, now seen corresponding path program 1 times [2018-11-14 17:05:28,097 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:05:28,097 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:05:28,097 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:28,098 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 17:05:28,098 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:28,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:28,679 INFO L256 TraceCheckUtils]: 0: Hoare triple {2928#true} call ULTIMATE.init(); {2928#true} is VALID [2018-11-14 17:05:28,679 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-14 17:05:28,680 INFO L273 TraceCheckUtils]: 2: Hoare triple {2928#true} assume true; {2928#true} is VALID [2018-11-14 17:05:28,680 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2928#true} {2928#true} #85#return; {2928#true} is VALID [2018-11-14 17:05:28,680 INFO L256 TraceCheckUtils]: 4: Hoare triple {2928#true} call #t~ret7 := main(); {2928#true} is VALID [2018-11-14 17:05:28,680 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-14 17:05:28,689 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {2930#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-14 17:05:28,693 INFO L273 TraceCheckUtils]: 7: Hoare triple {2930#(<= 2 ~CELLCOUNT~0)} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 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-14 17:05:28,694 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-14 17:05:28,694 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:05:28,695 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 + (~i~0 * 3 - 3) * 4, 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-14 17:05:28,696 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 + (~i~0 * 3 - 2) * 4, 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-14 17:05:28,697 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 + (~i~0 * 3 - 1) * 4, 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-14 17:05:28,698 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 := #t~post2 + 1;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-14 17:05:28,699 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-14 17:05:28,701 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:05:28,702 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-14 17:05:28,703 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-14 17:05:28,704 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 + ~i~0 * 4, 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-14 17:05:28,709 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-14 17:05:28,710 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-14 17:05:28,710 INFO L273 TraceCheckUtils]: 21: Hoare triple {2928#true} ~cond := #in~cond; {2928#true} is VALID [2018-11-14 17:05:28,710 INFO L273 TraceCheckUtils]: 22: Hoare triple {2928#true} assume !(~cond == 0); {2928#true} is VALID [2018-11-14 17:05:28,710 INFO L273 TraceCheckUtils]: 23: Hoare triple {2928#true} assume true; {2928#true} is VALID [2018-11-14 17:05:28,711 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-14 17:05:28,712 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~mem5;havoc #t~mem4;havoc #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-14 17:05:28,713 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 := #t~post3 + 1;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-14 17:05:28,715 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-14 17:05:28,715 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 + ~i~0 * 4, 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-14 17:05:28,716 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 + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {2937#|main_#t~short6|} is VALID [2018-11-14 17:05:28,716 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-14 17:05:28,717 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-14 17:05:28,718 INFO L273 TraceCheckUtils]: 32: Hoare triple {2939#(not (= 0 __VERIFIER_assert_~cond))} assume ~cond == 0; {2929#false} is VALID [2018-11-14 17:05:28,718 INFO L273 TraceCheckUtils]: 33: Hoare triple {2929#false} assume !false; {2929#false} is VALID [2018-11-14 17:05:28,722 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-14 17:05:28,723 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:05:28,723 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 17:05:28,739 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:05:28,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:28,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:28,773 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:05:28,870 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-14 17:05:28,874 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-14 17:05:28,875 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:05:28,878 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:28,885 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:28,886 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-14 17:05:28,921 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 18 [2018-11-14 17:05:28,932 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:05:28,933 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-14 17:05:28,935 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:05:28,939 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:28,946 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:28,946 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:26, output treesize:22 [2018-11-14 17:05:29,304 INFO L256 TraceCheckUtils]: 0: Hoare triple {2928#true} call ULTIMATE.init(); {2928#true} is VALID [2018-11-14 17:05:29,305 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-14 17:05:29,305 INFO L273 TraceCheckUtils]: 2: Hoare triple {2928#true} assume true; {2928#true} is VALID [2018-11-14 17:05:29,305 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2928#true} {2928#true} #85#return; {2928#true} is VALID [2018-11-14 17:05:29,306 INFO L256 TraceCheckUtils]: 4: Hoare triple {2928#true} call #t~ret7 := main(); {2928#true} is VALID [2018-11-14 17:05:29,306 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-14 17:05:29,307 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {2961#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-14 17:05:29,307 INFO L273 TraceCheckUtils]: 7: Hoare triple {2961#(= |main_~#volArray~0.offset| 0)} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 0;~i~0 := 1; {2965#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:05:29,308 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-14 17:05:29,308 INFO L273 TraceCheckUtils]: 9: Hoare triple {2965#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {2965#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:05:29,309 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 + (~i~0 * 3 - 3) * 4, 4); {2965#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:05:29,310 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 + (~i~0 * 3 - 2) * 4, 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-14 17:05:29,311 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 + (~i~0 * 3 - 1) * 4, 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-14 17:05:29,312 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 := #t~post2 + 1;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-14 17:05:29,319 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-14 17:05:29,322 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:05:29,323 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-14 17:05:29,323 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-14 17:05:29,324 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 + ~i~0 * 4, 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-14 17:05:29,324 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-14 17:05:29,325 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-14 17:05:29,326 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-14 17:05:29,326 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 !(~cond == 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-14 17:05:29,327 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-14 17:05:29,328 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-14 17:05:29,329 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~mem5;havoc #t~mem4;havoc #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-14 17:05:29,329 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 := #t~post3 + 1;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-14 17:05:29,330 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-14 17:05:29,331 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 + ~i~0 * 4, 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-14 17:05:29,332 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 + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {2937#|main_#t~short6|} is VALID [2018-11-14 17:05:29,333 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-14 17:05:29,334 INFO L273 TraceCheckUtils]: 31: Hoare triple {3040#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {3044#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 17:05:29,334 INFO L273 TraceCheckUtils]: 32: Hoare triple {3044#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {2929#false} is VALID [2018-11-14 17:05:29,335 INFO L273 TraceCheckUtils]: 33: Hoare triple {2929#false} assume !false; {2929#false} is VALID [2018-11-14 17:05:29,341 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-14 17:05:29,365 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:05:29,366 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 21 [2018-11-14 17:05:29,366 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 34 [2018-11-14 17:05:29,367 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:05:29,367 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-14 17:05:29,628 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-14 17:05:29,628 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-14 17:05:29,628 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-14 17:05:29,629 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=354, Unknown=0, NotChecked=0, Total=420 [2018-11-14 17:05:29,629 INFO L87 Difference]: Start difference. First operand 74 states and 92 transitions. Second operand 21 states. [2018-11-14 17:05:35,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:35,270 INFO L93 Difference]: Finished difference Result 206 states and 255 transitions. [2018-11-14 17:05:35,270 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2018-11-14 17:05:35,270 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 34 [2018-11-14 17:05:35,270 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:05:35,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-14 17:05:35,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 157 transitions. [2018-11-14 17:05:35,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-14 17:05:35,278 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 157 transitions. [2018-11-14 17:05:35,278 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states and 157 transitions. [2018-11-14 17:05:35,573 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-14 17:05:35,578 INFO L225 Difference]: With dead ends: 206 [2018-11-14 17:05:35,578 INFO L226 Difference]: Without dead ends: 204 [2018-11-14 17:05:35,580 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 79 GetRequests, 27 SyntacticMatches, 3 SemanticMatches, 49 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 701 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=450, Invalid=2100, Unknown=0, NotChecked=0, Total=2550 [2018-11-14 17:05:35,580 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 204 states. [2018-11-14 17:05:36,589 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 204 to 126. [2018-11-14 17:05:36,589 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:05:36,589 INFO L82 GeneralOperation]: Start isEquivalent. First operand 204 states. Second operand 126 states. [2018-11-14 17:05:36,590 INFO L74 IsIncluded]: Start isIncluded. First operand 204 states. Second operand 126 states. [2018-11-14 17:05:36,590 INFO L87 Difference]: Start difference. First operand 204 states. Second operand 126 states. [2018-11-14 17:05:36,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:36,598 INFO L93 Difference]: Finished difference Result 204 states and 253 transitions. [2018-11-14 17:05:36,598 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 253 transitions. [2018-11-14 17:05:36,599 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:36,599 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:36,600 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand 204 states. [2018-11-14 17:05:36,600 INFO L87 Difference]: Start difference. First operand 126 states. Second operand 204 states. [2018-11-14 17:05:36,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:36,606 INFO L93 Difference]: Finished difference Result 204 states and 253 transitions. [2018-11-14 17:05:36,607 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 253 transitions. [2018-11-14 17:05:36,607 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:36,608 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:36,608 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:05:36,608 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:05:36,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 126 states. [2018-11-14 17:05:36,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 155 transitions. [2018-11-14 17:05:36,612 INFO L78 Accepts]: Start accepts. Automaton has 126 states and 155 transitions. Word has length 34 [2018-11-14 17:05:36,612 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:05:36,612 INFO L480 AbstractCegarLoop]: Abstraction has 126 states and 155 transitions. [2018-11-14 17:05:36,612 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-14 17:05:36,612 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 155 transitions. [2018-11-14 17:05:36,613 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-14 17:05:36,613 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:05:36,613 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-14 17:05:36,613 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:05:36,614 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:05:36,614 INFO L82 PathProgramCache]: Analyzing trace with hash -773231859, now seen corresponding path program 1 times [2018-11-14 17:05:36,614 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:05:36,614 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:05:36,615 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:36,615 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:05:36,615 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:36,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:37,358 INFO L256 TraceCheckUtils]: 0: Hoare triple {3944#true} call ULTIMATE.init(); {3944#true} is VALID [2018-11-14 17:05:37,359 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-14 17:05:37,359 INFO L273 TraceCheckUtils]: 2: Hoare triple {3944#true} assume true; {3944#true} is VALID [2018-11-14 17:05:37,359 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3944#true} {3944#true} #85#return; {3944#true} is VALID [2018-11-14 17:05:37,360 INFO L256 TraceCheckUtils]: 4: Hoare triple {3944#true} call #t~ret7 := main(); {3944#true} is VALID [2018-11-14 17:05:37,360 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-14 17:05:37,361 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(~CELLCOUNT~0 * 4);~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-14 17:05:37,363 INFO L273 TraceCheckUtils]: 7: Hoare triple {3946#(and (<= 2 ~CELLCOUNT~0) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 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-14 17:05:37,365 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-14 17:05:37,366 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:05:37,368 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 + (~i~0 * 3 - 3) * 4, 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-14 17:05:37,369 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 + (~i~0 * 3 - 2) * 4, 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-14 17:05:37,379 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 + (~i~0 * 3 - 1) * 4, 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-14 17:05:37,380 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 := #t~post2 + 1;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-14 17:05:37,381 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-14 17:05:37,383 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:05:37,384 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-14 17:05:37,384 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-14 17:05:37,385 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 + ~i~0 * 4, 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-14 17:05:37,386 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-14 17:05:37,386 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-14 17:05:37,386 INFO L273 TraceCheckUtils]: 21: Hoare triple {3944#true} ~cond := #in~cond; {3944#true} is VALID [2018-11-14 17:05:37,386 INFO L273 TraceCheckUtils]: 22: Hoare triple {3944#true} assume !(~cond == 0); {3944#true} is VALID [2018-11-14 17:05:37,387 INFO L273 TraceCheckUtils]: 23: Hoare triple {3944#true} assume true; {3944#true} is VALID [2018-11-14 17:05:37,388 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-14 17:05:37,389 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~mem5;havoc #t~mem4;havoc #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-14 17:05:37,390 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 := #t~post3 + 1;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-14 17:05:37,390 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-14 17:05:37,391 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 + ~i~0 * 4, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {3954#|main_#t~short6|} is VALID [2018-11-14 17:05:37,391 INFO L273 TraceCheckUtils]: 29: Hoare triple {3954#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {3945#false} is VALID [2018-11-14 17:05:37,392 INFO L256 TraceCheckUtils]: 30: Hoare triple {3945#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3945#false} is VALID [2018-11-14 17:05:37,392 INFO L273 TraceCheckUtils]: 31: Hoare triple {3945#false} ~cond := #in~cond; {3945#false} is VALID [2018-11-14 17:05:37,392 INFO L273 TraceCheckUtils]: 32: Hoare triple {3945#false} assume ~cond == 0; {3945#false} is VALID [2018-11-14 17:05:37,393 INFO L273 TraceCheckUtils]: 33: Hoare triple {3945#false} assume !false; {3945#false} is VALID [2018-11-14 17:05:37,399 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-14 17:05:37,400 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:05:37,400 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 17:05:37,409 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:05:37,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:37,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:37,471 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:05:37,724 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-14 17:05:37,730 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-14 17:05:37,733 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:05:37,737 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:37,752 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:37,752 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:19 [2018-11-14 17:05:37,756 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 17:05:37,808 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 18 [2018-11-14 17:05:37,844 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:05:37,847 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-14 17:05:37,850 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:05:37,857 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:37,867 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:37,868 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:13 [2018-11-14 17:05:37,873 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 17:05:38,137 INFO L256 TraceCheckUtils]: 0: Hoare triple {3944#true} call ULTIMATE.init(); {3944#true} is VALID [2018-11-14 17:05:38,137 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-14 17:05:38,138 INFO L273 TraceCheckUtils]: 2: Hoare triple {3944#true} assume true; {3944#true} is VALID [2018-11-14 17:05:38,138 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3944#true} {3944#true} #85#return; {3944#true} is VALID [2018-11-14 17:05:38,138 INFO L256 TraceCheckUtils]: 4: Hoare triple {3944#true} call #t~ret7 := main(); {3944#true} is VALID [2018-11-14 17:05:38,139 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-14 17:05:38,140 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {3976#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-14 17:05:38,140 INFO L273 TraceCheckUtils]: 7: Hoare triple {3976#(= |main_~#volArray~0.offset| 0)} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 0;~i~0 := 1; {3980#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:05:38,141 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-14 17:05:38,141 INFO L273 TraceCheckUtils]: 9: Hoare triple {3980#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {3980#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:05:38,142 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 + (~i~0 * 3 - 3) * 4, 4); {3980#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:05:38,143 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 + (~i~0 * 3 - 2) * 4, 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-14 17:05:38,144 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 + (~i~0 * 3 - 1) * 4, 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-14 17:05:38,145 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 := #t~post2 + 1;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-14 17:05:38,146 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-14 17:05:38,147 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:05:38,147 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-14 17:05:38,148 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-14 17:05:38,149 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 + ~i~0 * 4, 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-14 17:05:38,150 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-14 17:05:38,150 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-14 17:05:38,151 INFO L273 TraceCheckUtils]: 21: Hoare triple {3944#true} ~cond := #in~cond; {3944#true} is VALID [2018-11-14 17:05:38,151 INFO L273 TraceCheckUtils]: 22: Hoare triple {3944#true} assume !(~cond == 0); {3944#true} is VALID [2018-11-14 17:05:38,151 INFO L273 TraceCheckUtils]: 23: Hoare triple {3944#true} assume true; {3944#true} is VALID [2018-11-14 17:05:38,160 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-14 17:05:38,160 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~mem5;havoc #t~mem4;havoc #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-14 17:05:38,162 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 := #t~post3 + 1;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-14 17:05:38,162 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-14 17:05:38,163 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 + ~i~0 * 4, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {3954#|main_#t~short6|} is VALID [2018-11-14 17:05:38,163 INFO L273 TraceCheckUtils]: 29: Hoare triple {3954#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {3945#false} is VALID [2018-11-14 17:05:38,164 INFO L256 TraceCheckUtils]: 30: Hoare triple {3945#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3945#false} is VALID [2018-11-14 17:05:38,164 INFO L273 TraceCheckUtils]: 31: Hoare triple {3945#false} ~cond := #in~cond; {3945#false} is VALID [2018-11-14 17:05:38,164 INFO L273 TraceCheckUtils]: 32: Hoare triple {3945#false} assume ~cond == 0; {3945#false} is VALID [2018-11-14 17:05:38,164 INFO L273 TraceCheckUtils]: 33: Hoare triple {3945#false} assume !false; {3945#false} is VALID [2018-11-14 17:05:38,167 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-14 17:05:38,188 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:05:38,188 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 16 [2018-11-14 17:05:38,189 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 34 [2018-11-14 17:05:38,189 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:05:38,189 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-14 17:05:38,257 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-14 17:05:38,258 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-14 17:05:38,258 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-14 17:05:38,258 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=198, Unknown=0, NotChecked=0, Total=240 [2018-11-14 17:05:38,258 INFO L87 Difference]: Start difference. First operand 126 states and 155 transitions. Second operand 16 states. [2018-11-14 17:05:43,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:43,365 INFO L93 Difference]: Finished difference Result 237 states and 296 transitions. [2018-11-14 17:05:43,365 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2018-11-14 17:05:43,365 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 34 [2018-11-14 17:05:43,365 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:05:43,365 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-14 17:05:43,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 154 transitions. [2018-11-14 17:05:43,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-14 17:05:43,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 154 transitions. [2018-11-14 17:05:43,372 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 154 transitions. [2018-11-14 17:05:43,643 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-14 17:05:43,649 INFO L225 Difference]: With dead ends: 237 [2018-11-14 17:05:43,649 INFO L226 Difference]: Without dead ends: 220 [2018-11-14 17:05:43,650 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 29 SyntacticMatches, 1 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 239 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=303, Invalid=1029, Unknown=0, NotChecked=0, Total=1332 [2018-11-14 17:05:43,651 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 220 states. [2018-11-14 17:05:44,917 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 220 to 137. [2018-11-14 17:05:44,917 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:05:44,917 INFO L82 GeneralOperation]: Start isEquivalent. First operand 220 states. Second operand 137 states. [2018-11-14 17:05:44,918 INFO L74 IsIncluded]: Start isIncluded. First operand 220 states. Second operand 137 states. [2018-11-14 17:05:44,918 INFO L87 Difference]: Start difference. First operand 220 states. Second operand 137 states. [2018-11-14 17:05:44,925 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:44,925 INFO L93 Difference]: Finished difference Result 220 states and 276 transitions. [2018-11-14 17:05:44,926 INFO L276 IsEmpty]: Start isEmpty. Operand 220 states and 276 transitions. [2018-11-14 17:05:44,927 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:44,927 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:44,927 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 220 states. [2018-11-14 17:05:44,927 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 220 states. [2018-11-14 17:05:44,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:44,934 INFO L93 Difference]: Finished difference Result 220 states and 276 transitions. [2018-11-14 17:05:44,934 INFO L276 IsEmpty]: Start isEmpty. Operand 220 states and 276 transitions. [2018-11-14 17:05:44,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:44,936 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:44,936 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:05:44,936 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:05:44,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2018-11-14 17:05:44,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 168 transitions. [2018-11-14 17:05:44,940 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 168 transitions. Word has length 34 [2018-11-14 17:05:44,940 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:05:44,940 INFO L480 AbstractCegarLoop]: Abstraction has 137 states and 168 transitions. [2018-11-14 17:05:44,940 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-14 17:05:44,940 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 168 transitions. [2018-11-14 17:05:44,941 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-14 17:05:44,941 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:05:44,941 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-14 17:05:44,942 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:05:44,942 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:05:44,942 INFO L82 PathProgramCache]: Analyzing trace with hash -1034135078, now seen corresponding path program 1 times [2018-11-14 17:05:44,942 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:05:44,942 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:05:44,943 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:44,943 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:05:44,943 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:44,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:45,186 INFO L256 TraceCheckUtils]: 0: Hoare triple {5022#true} call ULTIMATE.init(); {5022#true} is VALID [2018-11-14 17:05:45,186 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-14 17:05:45,186 INFO L273 TraceCheckUtils]: 2: Hoare triple {5022#true} assume true; {5022#true} is VALID [2018-11-14 17:05:45,187 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5022#true} {5022#true} #85#return; {5022#true} is VALID [2018-11-14 17:05:45,187 INFO L256 TraceCheckUtils]: 4: Hoare triple {5022#true} call #t~ret7 := main(); {5022#true} is VALID [2018-11-14 17:05:45,187 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-14 17:05:45,187 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {5022#true} is VALID [2018-11-14 17:05:45,188 INFO L273 TraceCheckUtils]: 7: Hoare triple {5022#true} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 0;~i~0 := 1; {5022#true} is VALID [2018-11-14 17:05:45,188 INFO L273 TraceCheckUtils]: 8: Hoare triple {5022#true} assume true; {5022#true} is VALID [2018-11-14 17:05:45,188 INFO L273 TraceCheckUtils]: 9: Hoare triple {5022#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {5022#true} is VALID [2018-11-14 17:05:45,188 INFO L273 TraceCheckUtils]: 10: Hoare triple {5022#true} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + (~i~0 * 3 - 3) * 4, 4); {5022#true} is VALID [2018-11-14 17:05:45,201 INFO L273 TraceCheckUtils]: 11: Hoare triple {5022#true} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + (~i~0 * 3 - 2) * 4, 4); {5024#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-14 17:05:45,213 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 + (~i~0 * 3 - 1) * 4, 4); {5024#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-14 17:05:45,226 INFO L273 TraceCheckUtils]: 13: Hoare triple {5024#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {5024#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-14 17:05:45,239 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-14 17:05:45,252 INFO L273 TraceCheckUtils]: 15: Hoare triple {5024#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {5024#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-14 17:05:45,265 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 + (~i~0 * 3 - 3) * 4, 4); {5024#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-14 17:05:45,278 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 + (~i~0 * 3 - 2) * 4, 4); {5023#false} is VALID [2018-11-14 17:05:45,278 INFO L273 TraceCheckUtils]: 18: Hoare triple {5023#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + (~i~0 * 3 - 1) * 4, 4); {5023#false} is VALID [2018-11-14 17:05:45,278 INFO L273 TraceCheckUtils]: 19: Hoare triple {5023#false} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {5023#false} is VALID [2018-11-14 17:05:45,279 INFO L273 TraceCheckUtils]: 20: Hoare triple {5023#false} assume true; {5023#false} is VALID [2018-11-14 17:05:45,279 INFO L273 TraceCheckUtils]: 21: Hoare triple {5023#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {5023#false} is VALID [2018-11-14 17:05:45,279 INFO L273 TraceCheckUtils]: 22: Hoare triple {5023#false} ~i~0 := 0; {5023#false} is VALID [2018-11-14 17:05:45,279 INFO L273 TraceCheckUtils]: 23: Hoare triple {5023#false} assume true; {5023#false} is VALID [2018-11-14 17:05:45,279 INFO L273 TraceCheckUtils]: 24: Hoare triple {5023#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {5023#false} is VALID [2018-11-14 17:05:45,280 INFO L273 TraceCheckUtils]: 25: Hoare triple {5023#false} assume #t~short6; {5023#false} is VALID [2018-11-14 17:05:45,280 INFO L256 TraceCheckUtils]: 26: Hoare triple {5023#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5022#true} is VALID [2018-11-14 17:05:45,280 INFO L273 TraceCheckUtils]: 27: Hoare triple {5022#true} ~cond := #in~cond; {5022#true} is VALID [2018-11-14 17:05:45,280 INFO L273 TraceCheckUtils]: 28: Hoare triple {5022#true} assume !(~cond == 0); {5022#true} is VALID [2018-11-14 17:05:45,281 INFO L273 TraceCheckUtils]: 29: Hoare triple {5022#true} assume true; {5022#true} is VALID [2018-11-14 17:05:45,281 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {5022#true} {5023#false} #89#return; {5023#false} is VALID [2018-11-14 17:05:45,281 INFO L273 TraceCheckUtils]: 31: Hoare triple {5023#false} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {5023#false} is VALID [2018-11-14 17:05:45,281 INFO L273 TraceCheckUtils]: 32: Hoare triple {5023#false} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {5023#false} is VALID [2018-11-14 17:05:45,281 INFO L273 TraceCheckUtils]: 33: Hoare triple {5023#false} assume true; {5023#false} is VALID [2018-11-14 17:05:45,282 INFO L273 TraceCheckUtils]: 34: Hoare triple {5023#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {5023#false} is VALID [2018-11-14 17:05:45,282 INFO L273 TraceCheckUtils]: 35: Hoare triple {5023#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {5023#false} is VALID [2018-11-14 17:05:45,282 INFO L256 TraceCheckUtils]: 36: Hoare triple {5023#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5023#false} is VALID [2018-11-14 17:05:45,282 INFO L273 TraceCheckUtils]: 37: Hoare triple {5023#false} ~cond := #in~cond; {5023#false} is VALID [2018-11-14 17:05:45,282 INFO L273 TraceCheckUtils]: 38: Hoare triple {5023#false} assume ~cond == 0; {5023#false} is VALID [2018-11-14 17:05:45,283 INFO L273 TraceCheckUtils]: 39: Hoare triple {5023#false} assume !false; {5023#false} is VALID [2018-11-14 17:05:45,284 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-14 17:05:45,284 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:05:45,284 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-14 17:05:45,285 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 40 [2018-11-14 17:05:45,285 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:05:45,285 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-14 17:05:45,757 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-14 17:05:45,758 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-14 17:05:45,758 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-14 17:05:45,758 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 17:05:45,758 INFO L87 Difference]: Start difference. First operand 137 states and 168 transitions. Second operand 3 states. [2018-11-14 17:05:47,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:47,018 INFO L93 Difference]: Finished difference Result 184 states and 224 transitions. [2018-11-14 17:05:47,018 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 17:05:47,018 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 40 [2018-11-14 17:05:47,018 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:05:47,019 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 17:05:47,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 73 transitions. [2018-11-14 17:05:47,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 17:05:47,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 73 transitions. [2018-11-14 17:05:47,021 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 73 transitions. [2018-11-14 17:05:47,527 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-14 17:05:47,531 INFO L225 Difference]: With dead ends: 184 [2018-11-14 17:05:47,532 INFO L226 Difference]: Without dead ends: 147 [2018-11-14 17:05:47,532 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-14 17:05:47,533 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 147 states. [2018-11-14 17:05:48,170 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 147 to 137. [2018-11-14 17:05:48,170 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:05:48,170 INFO L82 GeneralOperation]: Start isEquivalent. First operand 147 states. Second operand 137 states. [2018-11-14 17:05:48,170 INFO L74 IsIncluded]: Start isIncluded. First operand 147 states. Second operand 137 states. [2018-11-14 17:05:48,170 INFO L87 Difference]: Start difference. First operand 147 states. Second operand 137 states. [2018-11-14 17:05:48,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:48,174 INFO L93 Difference]: Finished difference Result 147 states and 177 transitions. [2018-11-14 17:05:48,174 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 177 transitions. [2018-11-14 17:05:48,175 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:48,175 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:48,175 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 147 states. [2018-11-14 17:05:48,175 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 147 states. [2018-11-14 17:05:48,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:48,180 INFO L93 Difference]: Finished difference Result 147 states and 177 transitions. [2018-11-14 17:05:48,180 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 177 transitions. [2018-11-14 17:05:48,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:48,181 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:48,181 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:05:48,181 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:05:48,181 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2018-11-14 17:05:48,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 164 transitions. [2018-11-14 17:05:48,185 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 164 transitions. Word has length 40 [2018-11-14 17:05:48,185 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:05:48,186 INFO L480 AbstractCegarLoop]: Abstraction has 137 states and 164 transitions. [2018-11-14 17:05:48,186 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-14 17:05:48,186 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 164 transitions. [2018-11-14 17:05:48,187 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-14 17:05:48,187 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:05:48,187 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-14 17:05:48,187 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:05:48,187 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:05:48,188 INFO L82 PathProgramCache]: Analyzing trace with hash 578663580, now seen corresponding path program 1 times [2018-11-14 17:05:48,188 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:05:48,188 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:05:48,188 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:48,189 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:05:48,189 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:48,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:48,427 INFO L256 TraceCheckUtils]: 0: Hoare triple {5733#true} call ULTIMATE.init(); {5733#true} is VALID [2018-11-14 17:05:48,427 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-14 17:05:48,428 INFO L273 TraceCheckUtils]: 2: Hoare triple {5733#true} assume true; {5733#true} is VALID [2018-11-14 17:05:48,428 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5733#true} {5733#true} #85#return; {5733#true} is VALID [2018-11-14 17:05:48,428 INFO L256 TraceCheckUtils]: 4: Hoare triple {5733#true} call #t~ret7 := main(); {5733#true} is VALID [2018-11-14 17:05:48,428 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-14 17:05:48,428 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {5733#true} is VALID [2018-11-14 17:05:48,429 INFO L273 TraceCheckUtils]: 7: Hoare triple {5733#true} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 0;~i~0 := 1; {5733#true} is VALID [2018-11-14 17:05:48,429 INFO L273 TraceCheckUtils]: 8: Hoare triple {5733#true} assume true; {5733#true} is VALID [2018-11-14 17:05:48,429 INFO L273 TraceCheckUtils]: 9: Hoare triple {5733#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {5733#true} is VALID [2018-11-14 17:05:48,429 INFO L273 TraceCheckUtils]: 10: Hoare triple {5733#true} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + (~i~0 * 3 - 3) * 4, 4); {5733#true} is VALID [2018-11-14 17:05:48,438 INFO L273 TraceCheckUtils]: 11: Hoare triple {5733#true} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + (~i~0 * 3 - 2) * 4, 4); {5735#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-14 17:05:48,451 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 + (~i~0 * 3 - 1) * 4, 4); {5735#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-14 17:05:48,464 INFO L273 TraceCheckUtils]: 13: Hoare triple {5735#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {5735#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-14 17:05:48,475 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-14 17:05:48,484 INFO L273 TraceCheckUtils]: 15: Hoare triple {5735#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {5735#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-14 17:05:48,496 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 + (~i~0 * 3 - 3) * 4, 4); {5735#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-14 17:05:48,509 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 + (~i~0 * 3 - 2) * 4, 4); {5734#false} is VALID [2018-11-14 17:05:48,510 INFO L273 TraceCheckUtils]: 18: Hoare triple {5734#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + (~i~0 * 3 - 1) * 4, 4); {5734#false} is VALID [2018-11-14 17:05:48,510 INFO L273 TraceCheckUtils]: 19: Hoare triple {5734#false} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {5734#false} is VALID [2018-11-14 17:05:48,510 INFO L273 TraceCheckUtils]: 20: Hoare triple {5734#false} assume true; {5734#false} is VALID [2018-11-14 17:05:48,510 INFO L273 TraceCheckUtils]: 21: Hoare triple {5734#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {5734#false} is VALID [2018-11-14 17:05:48,511 INFO L273 TraceCheckUtils]: 22: Hoare triple {5734#false} ~i~0 := 0; {5734#false} is VALID [2018-11-14 17:05:48,511 INFO L273 TraceCheckUtils]: 23: Hoare triple {5734#false} assume true; {5734#false} is VALID [2018-11-14 17:05:48,511 INFO L273 TraceCheckUtils]: 24: Hoare triple {5734#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {5734#false} is VALID [2018-11-14 17:05:48,511 INFO L273 TraceCheckUtils]: 25: Hoare triple {5734#false} assume #t~short6; {5734#false} is VALID [2018-11-14 17:05:48,511 INFO L256 TraceCheckUtils]: 26: Hoare triple {5734#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5733#true} is VALID [2018-11-14 17:05:48,512 INFO L273 TraceCheckUtils]: 27: Hoare triple {5733#true} ~cond := #in~cond; {5733#true} is VALID [2018-11-14 17:05:48,512 INFO L273 TraceCheckUtils]: 28: Hoare triple {5733#true} assume !(~cond == 0); {5733#true} is VALID [2018-11-14 17:05:48,512 INFO L273 TraceCheckUtils]: 29: Hoare triple {5733#true} assume true; {5733#true} is VALID [2018-11-14 17:05:48,512 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {5733#true} {5734#false} #89#return; {5734#false} is VALID [2018-11-14 17:05:48,512 INFO L273 TraceCheckUtils]: 31: Hoare triple {5734#false} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {5734#false} is VALID [2018-11-14 17:05:48,513 INFO L273 TraceCheckUtils]: 32: Hoare triple {5734#false} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {5734#false} is VALID [2018-11-14 17:05:48,513 INFO L273 TraceCheckUtils]: 33: Hoare triple {5734#false} assume true; {5734#false} is VALID [2018-11-14 17:05:48,513 INFO L273 TraceCheckUtils]: 34: Hoare triple {5734#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {5734#false} is VALID [2018-11-14 17:05:48,513 INFO L273 TraceCheckUtils]: 35: Hoare triple {5734#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {5734#false} is VALID [2018-11-14 17:05:48,514 INFO L256 TraceCheckUtils]: 36: Hoare triple {5734#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5734#false} is VALID [2018-11-14 17:05:48,514 INFO L273 TraceCheckUtils]: 37: Hoare triple {5734#false} ~cond := #in~cond; {5734#false} is VALID [2018-11-14 17:05:48,514 INFO L273 TraceCheckUtils]: 38: Hoare triple {5734#false} assume ~cond == 0; {5734#false} is VALID [2018-11-14 17:05:48,515 INFO L273 TraceCheckUtils]: 39: Hoare triple {5734#false} assume !false; {5734#false} is VALID [2018-11-14 17:05:48,516 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-14 17:05:48,516 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:05:48,516 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-14 17:05:48,517 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 40 [2018-11-14 17:05:48,517 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:05:48,517 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-14 17:05:48,922 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-14 17:05:48,922 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-14 17:05:48,922 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-14 17:05:48,923 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 17:05:48,923 INFO L87 Difference]: Start difference. First operand 137 states and 164 transitions. Second operand 3 states. [2018-11-14 17:05:49,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:49,665 INFO L93 Difference]: Finished difference Result 157 states and 185 transitions. [2018-11-14 17:05:49,665 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 17:05:49,665 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 40 [2018-11-14 17:05:49,665 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:05:49,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 17:05:49,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 72 transitions. [2018-11-14 17:05:49,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 17:05:49,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 72 transitions. [2018-11-14 17:05:49,667 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 72 transitions. [2018-11-14 17:05:49,836 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-14 17:05:49,839 INFO L225 Difference]: With dead ends: 157 [2018-11-14 17:05:49,839 INFO L226 Difference]: Without dead ends: 120 [2018-11-14 17:05:49,840 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-14 17:05:49,840 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 120 states. [2018-11-14 17:05:50,652 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 120 to 120. [2018-11-14 17:05:50,652 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:05:50,652 INFO L82 GeneralOperation]: Start isEquivalent. First operand 120 states. Second operand 120 states. [2018-11-14 17:05:50,653 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand 120 states. [2018-11-14 17:05:50,653 INFO L87 Difference]: Start difference. First operand 120 states. Second operand 120 states. [2018-11-14 17:05:50,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:50,656 INFO L93 Difference]: Finished difference Result 120 states and 142 transitions. [2018-11-14 17:05:50,656 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 142 transitions. [2018-11-14 17:05:50,657 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:50,657 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:50,657 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand 120 states. [2018-11-14 17:05:50,657 INFO L87 Difference]: Start difference. First operand 120 states. Second operand 120 states. [2018-11-14 17:05:50,661 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:50,661 INFO L93 Difference]: Finished difference Result 120 states and 142 transitions. [2018-11-14 17:05:50,661 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 142 transitions. [2018-11-14 17:05:50,662 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:50,662 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:50,662 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:05:50,662 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:05:50,662 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 120 states. [2018-11-14 17:05:50,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 142 transitions. [2018-11-14 17:05:50,665 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 142 transitions. Word has length 40 [2018-11-14 17:05:50,666 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:05:50,666 INFO L480 AbstractCegarLoop]: Abstraction has 120 states and 142 transitions. [2018-11-14 17:05:50,666 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-14 17:05:50,666 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 142 transitions. [2018-11-14 17:05:50,667 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-14 17:05:50,667 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:05:50,667 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-14 17:05:50,667 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:05:50,667 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:05:50,668 INFO L82 PathProgramCache]: Analyzing trace with hash -546514600, now seen corresponding path program 2 times [2018-11-14 17:05:50,668 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:05:50,668 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:05:50,669 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:50,669 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:05:50,669 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:50,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:51,285 WARN L179 SmtUtils]: Spent 176.00 ms on a formula simplification. DAG size of input: 18 DAG size of output: 13 [2018-11-14 17:05:51,626 INFO L256 TraceCheckUtils]: 0: Hoare triple {6336#true} call ULTIMATE.init(); {6336#true} is VALID [2018-11-14 17:05:51,627 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-14 17:05:51,627 INFO L273 TraceCheckUtils]: 2: Hoare triple {6336#true} assume true; {6336#true} is VALID [2018-11-14 17:05:51,628 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6336#true} {6336#true} #85#return; {6336#true} is VALID [2018-11-14 17:05:51,628 INFO L256 TraceCheckUtils]: 4: Hoare triple {6336#true} call #t~ret7 := main(); {6336#true} is VALID [2018-11-14 17:05:51,628 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-14 17:05:51,630 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {6338#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-14 17:05:51,631 INFO L273 TraceCheckUtils]: 7: Hoare triple {6338#(<= 2 ~CELLCOUNT~0)} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 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-14 17:05:51,631 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-14 17:05:51,632 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:05:51,633 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 + (~i~0 * 3 - 3) * 4, 4); {6339#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-14 17:05:51,634 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 + (~i~0 * 3 - 2) * 4, 4); {6339#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-14 17:05:51,635 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 + (~i~0 * 3 - 1) * 4, 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-14 17:05:51,637 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 := #t~post2 + 1;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-14 17:05:51,638 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-14 17:05:51,640 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:05:51,641 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-14 17:05:51,641 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-14 17:05:51,643 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 + ~i~0 * 4, 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-14 17:05:51,644 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-14 17:05:51,644 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-14 17:05:51,644 INFO L273 TraceCheckUtils]: 21: Hoare triple {6336#true} ~cond := #in~cond; {6336#true} is VALID [2018-11-14 17:05:51,645 INFO L273 TraceCheckUtils]: 22: Hoare triple {6336#true} assume !(~cond == 0); {6336#true} is VALID [2018-11-14 17:05:51,645 INFO L273 TraceCheckUtils]: 23: Hoare triple {6336#true} assume true; {6336#true} is VALID [2018-11-14 17:05:51,646 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-14 17:05:51,647 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~mem5;havoc #t~mem4;havoc #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-14 17:05:51,648 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 := #t~post3 + 1;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-14 17:05:51,649 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-14 17:05:51,650 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 + ~i~0 * 4, 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-14 17:05:51,651 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-14 17:05:51,651 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-14 17:05:51,651 INFO L273 TraceCheckUtils]: 31: Hoare triple {6336#true} ~cond := #in~cond; {6336#true} is VALID [2018-11-14 17:05:51,652 INFO L273 TraceCheckUtils]: 32: Hoare triple {6336#true} assume !(~cond == 0); {6336#true} is VALID [2018-11-14 17:05:51,652 INFO L273 TraceCheckUtils]: 33: Hoare triple {6336#true} assume true; {6336#true} is VALID [2018-11-14 17:05:51,653 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-14 17:05:51,654 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~mem5;havoc #t~mem4;havoc #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-14 17:05:51,656 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 := #t~post3 + 1;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-14 17:05:51,656 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-14 17:05:51,657 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 + ~i~0 * 4, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {6346#|main_#t~short6|} is VALID [2018-11-14 17:05:51,658 INFO L273 TraceCheckUtils]: 39: Hoare triple {6346#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {6337#false} is VALID [2018-11-14 17:05:51,658 INFO L256 TraceCheckUtils]: 40: Hoare triple {6337#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6337#false} is VALID [2018-11-14 17:05:51,659 INFO L273 TraceCheckUtils]: 41: Hoare triple {6337#false} ~cond := #in~cond; {6337#false} is VALID [2018-11-14 17:05:51,659 INFO L273 TraceCheckUtils]: 42: Hoare triple {6337#false} assume ~cond == 0; {6337#false} is VALID [2018-11-14 17:05:51,659 INFO L273 TraceCheckUtils]: 43: Hoare triple {6337#false} assume !false; {6337#false} is VALID [2018-11-14 17:05:51,670 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-14 17:05:51,671 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:05:51,671 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 17:05:51,690 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 17:05:51,715 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 17:05:51,715 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 17:05:51,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:05:51,734 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:05:51,837 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-14 17:05:51,846 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-14 17:05:51,853 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:05:51,856 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:51,868 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:05:51,869 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:20, output treesize:16 [2018-11-14 17:05:52,432 INFO L256 TraceCheckUtils]: 0: Hoare triple {6336#true} call ULTIMATE.init(); {6336#true} is VALID [2018-11-14 17:05:52,432 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-14 17:05:52,432 INFO L273 TraceCheckUtils]: 2: Hoare triple {6336#true} assume true; {6336#true} is VALID [2018-11-14 17:05:52,433 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6336#true} {6336#true} #85#return; {6336#true} is VALID [2018-11-14 17:05:52,433 INFO L256 TraceCheckUtils]: 4: Hoare triple {6336#true} call #t~ret7 := main(); {6336#true} is VALID [2018-11-14 17:05:52,433 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-14 17:05:52,434 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {6368#(and (= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:05:52,434 INFO L273 TraceCheckUtils]: 7: Hoare triple {6368#(and (= 1 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 0;~i~0 := 1; {6372#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:05:52,436 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-14 17:05:52,438 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {6372#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:05:52,441 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 + (~i~0 * 3 - 3) * 4, 4); {6372#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:05:52,441 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 + (~i~0 * 3 - 2) * 4, 4); {6372#(and (= 1 main_~CCCELVOL1~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:05:52,443 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 + (~i~0 * 3 - 1) * 4, 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-14 17:05:52,443 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 := #t~post2 + 1;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-14 17:05:52,445 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-14 17:05:52,446 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:05:52,447 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-14 17:05:52,447 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-14 17:05:52,449 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 + ~i~0 * 4, 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-14 17:05:52,464 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-14 17:05:52,469 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-14 17:05:52,469 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-14 17:05:52,471 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 !(~cond == 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-14 17:05:52,471 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-14 17:05:52,472 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-14 17:05:52,472 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~mem5;havoc #t~mem4;havoc #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-14 17:05:52,473 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 := #t~post3 + 1;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-14 17:05:52,474 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-14 17:05:52,487 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 + ~i~0 * 4, 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-14 17:05:52,499 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-14 17:05:52,512 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-14 17:05:52,514 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-14 17:05:52,514 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 !(~cond == 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-14 17:05:52,516 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-14 17:05:52,518 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-14 17:05:52,518 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~mem5;havoc #t~mem4;havoc #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-14 17:05:52,520 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 := #t~post3 + 1;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-14 17:05:52,520 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-14 17:05:52,521 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 + ~i~0 * 4, 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-14 17:05:52,522 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 + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {6337#false} is VALID [2018-11-14 17:05:52,522 INFO L256 TraceCheckUtils]: 40: Hoare triple {6337#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6337#false} is VALID [2018-11-14 17:05:52,522 INFO L273 TraceCheckUtils]: 41: Hoare triple {6337#false} ~cond := #in~cond; {6337#false} is VALID [2018-11-14 17:05:52,522 INFO L273 TraceCheckUtils]: 42: Hoare triple {6337#false} assume ~cond == 0; {6337#false} is VALID [2018-11-14 17:05:52,522 INFO L273 TraceCheckUtils]: 43: Hoare triple {6337#false} assume !false; {6337#false} is VALID [2018-11-14 17:05:52,528 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-14 17:05:52,548 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:05:52,549 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 19 [2018-11-14 17:05:52,549 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 44 [2018-11-14 17:05:52,549 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:05:52,550 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-14 17:05:52,657 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-14 17:05:52,658 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-14 17:05:52,658 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-14 17:05:52,658 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=292, Unknown=0, NotChecked=0, Total=342 [2018-11-14 17:05:52,659 INFO L87 Difference]: Start difference. First operand 120 states and 142 transitions. Second operand 19 states. [2018-11-14 17:05:58,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:58,159 INFO L93 Difference]: Finished difference Result 278 states and 334 transitions. [2018-11-14 17:05:58,160 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2018-11-14 17:05:58,160 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 44 [2018-11-14 17:05:58,160 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:05:58,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-14 17:05:58,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 166 transitions. [2018-11-14 17:05:58,165 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-14 17:05:58,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 166 transitions. [2018-11-14 17:05:58,168 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 166 transitions. [2018-11-14 17:05:58,803 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-14 17:05:58,810 INFO L225 Difference]: With dead ends: 278 [2018-11-14 17:05:58,811 INFO L226 Difference]: Without dead ends: 204 [2018-11-14 17:05:58,812 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 35 SyntacticMatches, 3 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 357 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=352, Invalid=1370, Unknown=0, NotChecked=0, Total=1722 [2018-11-14 17:05:58,813 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 204 states. [2018-11-14 17:05:59,718 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 204 to 175. [2018-11-14 17:05:59,719 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:05:59,719 INFO L82 GeneralOperation]: Start isEquivalent. First operand 204 states. Second operand 175 states. [2018-11-14 17:05:59,719 INFO L74 IsIncluded]: Start isIncluded. First operand 204 states. Second operand 175 states. [2018-11-14 17:05:59,719 INFO L87 Difference]: Start difference. First operand 204 states. Second operand 175 states. [2018-11-14 17:05:59,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:59,726 INFO L93 Difference]: Finished difference Result 204 states and 238 transitions. [2018-11-14 17:05:59,726 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 238 transitions. [2018-11-14 17:05:59,727 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:59,727 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:59,727 INFO L74 IsIncluded]: Start isIncluded. First operand 175 states. Second operand 204 states. [2018-11-14 17:05:59,727 INFO L87 Difference]: Start difference. First operand 175 states. Second operand 204 states. [2018-11-14 17:05:59,733 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:05:59,733 INFO L93 Difference]: Finished difference Result 204 states and 238 transitions. [2018-11-14 17:05:59,733 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 238 transitions. [2018-11-14 17:05:59,734 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:05:59,734 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:05:59,734 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:05:59,735 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:05:59,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 175 states. [2018-11-14 17:05:59,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 175 states to 175 states and 206 transitions. [2018-11-14 17:05:59,739 INFO L78 Accepts]: Start accepts. Automaton has 175 states and 206 transitions. Word has length 44 [2018-11-14 17:05:59,739 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:05:59,740 INFO L480 AbstractCegarLoop]: Abstraction has 175 states and 206 transitions. [2018-11-14 17:05:59,740 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-14 17:05:59,740 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 206 transitions. [2018-11-14 17:05:59,741 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-14 17:05:59,741 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:05:59,741 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-14 17:05:59,741 INFO L423 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:05:59,741 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:05:59,741 INFO L82 PathProgramCache]: Analyzing trace with hash -271754986, now seen corresponding path program 1 times [2018-11-14 17:05:59,742 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:05:59,742 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:05:59,742 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:59,743 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 17:05:59,743 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:05:59,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:06:00,478 WARN L179 SmtUtils]: Spent 340.00 ms on a formula simplification. DAG size of input: 18 DAG size of output: 13 [2018-11-14 17:06:00,933 INFO L256 TraceCheckUtils]: 0: Hoare triple {7521#true} call ULTIMATE.init(); {7521#true} is VALID [2018-11-14 17:06:00,933 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-14 17:06:00,934 INFO L273 TraceCheckUtils]: 2: Hoare triple {7521#true} assume true; {7521#true} is VALID [2018-11-14 17:06:00,934 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7521#true} {7521#true} #85#return; {7521#true} is VALID [2018-11-14 17:06:00,934 INFO L256 TraceCheckUtils]: 4: Hoare triple {7521#true} call #t~ret7 := main(); {7521#true} is VALID [2018-11-14 17:06:00,934 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-14 17:06:00,935 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {7523#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-14 17:06:00,937 INFO L273 TraceCheckUtils]: 7: Hoare triple {7523#(<= 2 ~CELLCOUNT~0)} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 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-14 17:06:00,937 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-14 17:06:00,937 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:06:00,938 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 + (~i~0 * 3 - 3) * 4, 4); {7524#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-14 17:06:00,939 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 + (~i~0 * 3 - 2) * 4, 4); {7524#(and (= main_~i~0 1) (= ~CELLCOUNT~0 (* 3 (div ~CELLCOUNT~0 3))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-14 17:06:00,940 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 + (~i~0 * 3 - 1) * 4, 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-14 17:06:00,941 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 := #t~post2 + 1;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-14 17:06:00,942 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-14 17:06:00,944 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:06:00,944 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-14 17:06:00,945 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-14 17:06:00,946 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 + ~i~0 * 4, 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-14 17:06:00,947 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-14 17:06:00,947 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-14 17:06:00,947 INFO L273 TraceCheckUtils]: 21: Hoare triple {7521#true} ~cond := #in~cond; {7521#true} is VALID [2018-11-14 17:06:00,948 INFO L273 TraceCheckUtils]: 22: Hoare triple {7521#true} assume !(~cond == 0); {7521#true} is VALID [2018-11-14 17:06:00,948 INFO L273 TraceCheckUtils]: 23: Hoare triple {7521#true} assume true; {7521#true} is VALID [2018-11-14 17:06:00,949 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-14 17:06:00,950 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~mem5;havoc #t~mem4;havoc #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-14 17:06:00,962 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 := #t~post3 + 1;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-14 17:06:00,963 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-14 17:06:00,963 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 + ~i~0 * 4, 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-14 17:06:00,964 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-14 17:06:00,964 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-14 17:06:00,964 INFO L273 TraceCheckUtils]: 31: Hoare triple {7521#true} ~cond := #in~cond; {7521#true} is VALID [2018-11-14 17:06:00,964 INFO L273 TraceCheckUtils]: 32: Hoare triple {7521#true} assume !(~cond == 0); {7521#true} is VALID [2018-11-14 17:06:00,964 INFO L273 TraceCheckUtils]: 33: Hoare triple {7521#true} assume true; {7521#true} is VALID [2018-11-14 17:06:00,965 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-14 17:06:00,966 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~mem5;havoc #t~mem4;havoc #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-14 17:06:00,967 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 := #t~post3 + 1;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-14 17:06:00,967 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-14 17:06:00,968 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 + ~i~0 * 4, 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-14 17:06:00,969 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 + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {7532#|main_#t~short6|} is VALID [2018-11-14 17:06:00,970 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-14 17:06:00,971 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-14 17:06:00,971 INFO L273 TraceCheckUtils]: 42: Hoare triple {7534#(not (= 0 __VERIFIER_assert_~cond))} assume ~cond == 0; {7522#false} is VALID [2018-11-14 17:06:00,971 INFO L273 TraceCheckUtils]: 43: Hoare triple {7522#false} assume !false; {7522#false} is VALID [2018-11-14 17:06:00,979 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-14 17:06:00,979 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:06:00,979 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 17:06:00,988 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:06:01,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:06:01,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:06:01,024 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:06:01,153 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-14 17:06:01,157 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-14 17:06:01,159 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:06:01,162 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:06:01,166 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:06:01,167 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-14 17:06:01,543 INFO L256 TraceCheckUtils]: 0: Hoare triple {7521#true} call ULTIMATE.init(); {7521#true} is VALID [2018-11-14 17:06:01,543 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-14 17:06:01,544 INFO L273 TraceCheckUtils]: 2: Hoare triple {7521#true} assume true; {7521#true} is VALID [2018-11-14 17:06:01,544 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7521#true} {7521#true} #85#return; {7521#true} is VALID [2018-11-14 17:06:01,544 INFO L256 TraceCheckUtils]: 4: Hoare triple {7521#true} call #t~ret7 := main(); {7521#true} is VALID [2018-11-14 17:06:01,544 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-14 17:06:01,545 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {7556#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-14 17:06:01,546 INFO L273 TraceCheckUtils]: 7: Hoare triple {7556#(= |main_~#volArray~0.offset| 0)} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 0;~i~0 := 1; {7560#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:06:01,546 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-14 17:06:01,546 INFO L273 TraceCheckUtils]: 9: Hoare triple {7560#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {7560#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:06:01,547 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 + (~i~0 * 3 - 3) * 4, 4); {7560#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:06:01,547 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 + (~i~0 * 3 - 2) * 4, 4); {7560#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:06:01,551 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 + (~i~0 * 3 - 1) * 4, 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-14 17:06:01,552 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 := #t~post2 + 1;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-14 17:06:01,552 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-14 17:06:01,553 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:06:01,553 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-14 17:06:01,554 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-14 17:06:01,565 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 + ~i~0 * 4, 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-14 17:06:01,566 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-14 17:06:01,567 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-14 17:06:01,567 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-14 17:06:01,567 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 !(~cond == 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-14 17:06:01,568 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-14 17:06:01,568 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-14 17:06:01,569 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~mem5;havoc #t~mem4;havoc #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-14 17:06:01,569 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 := #t~post3 + 1;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-14 17:06:01,570 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-14 17:06:01,570 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 + ~i~0 * 4, 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-14 17:06:01,571 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-14 17:06:01,573 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-14 17:06:01,573 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-14 17:06:01,574 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 !(~cond == 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-14 17:06:01,574 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-14 17:06:01,575 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-14 17:06:01,576 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~mem5;havoc #t~mem4;havoc #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-14 17:06:01,577 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 := #t~post3 + 1;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-14 17:06:01,578 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-14 17:06:01,578 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 + ~i~0 * 4, 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-14 17:06:01,579 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 + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {7532#|main_#t~short6|} is VALID [2018-11-14 17:06:01,580 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-14 17:06:01,581 INFO L273 TraceCheckUtils]: 41: Hoare triple {7665#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {7669#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 17:06:01,582 INFO L273 TraceCheckUtils]: 42: Hoare triple {7669#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {7522#false} is VALID [2018-11-14 17:06:01,582 INFO L273 TraceCheckUtils]: 43: Hoare triple {7522#false} assume !false; {7522#false} is VALID [2018-11-14 17:06:01,587 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-14 17:06:01,606 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:06:01,607 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 12] total 23 [2018-11-14 17:06:01,607 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 44 [2018-11-14 17:06:01,609 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:06:01,609 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-14 17:06:01,697 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:06:01,698 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-14 17:06:01,698 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-14 17:06:01,699 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=441, Unknown=0, NotChecked=0, Total=506 [2018-11-14 17:06:01,699 INFO L87 Difference]: Start difference. First operand 175 states and 206 transitions. Second operand 23 states. [2018-11-14 17:06:08,422 WARN L179 SmtUtils]: Spent 131.00 ms on a formula simplification that was a NOOP. DAG size: 17 [2018-11-14 17:06:10,844 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:06:10,845 INFO L93 Difference]: Finished difference Result 379 states and 451 transitions. [2018-11-14 17:06:10,845 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2018-11-14 17:06:10,845 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 44 [2018-11-14 17:06:10,845 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:06:10,845 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-14 17:06:10,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 160 transitions. [2018-11-14 17:06:10,848 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-14 17:06:10,850 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 160 transitions. [2018-11-14 17:06:10,850 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 35 states and 160 transitions. [2018-11-14 17:06:11,599 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-14 17:06:11,609 INFO L225 Difference]: With dead ends: 379 [2018-11-14 17:06:11,609 INFO L226 Difference]: Without dead ends: 298 [2018-11-14 17:06:11,611 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 35 SyntacticMatches, 3 SemanticMatches, 52 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 717 ImplicationChecksByTransitivity, 2.7s TimeCoverageRelationStatistics Valid=456, Invalid=2406, Unknown=0, NotChecked=0, Total=2862 [2018-11-14 17:06:11,612 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 298 states. [2018-11-14 17:06:12,581 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 298 to 260. [2018-11-14 17:06:12,581 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:06:12,582 INFO L82 GeneralOperation]: Start isEquivalent. First operand 298 states. Second operand 260 states. [2018-11-14 17:06:12,582 INFO L74 IsIncluded]: Start isIncluded. First operand 298 states. Second operand 260 states. [2018-11-14 17:06:12,582 INFO L87 Difference]: Start difference. First operand 298 states. Second operand 260 states. [2018-11-14 17:06:12,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:06:12,592 INFO L93 Difference]: Finished difference Result 298 states and 341 transitions. [2018-11-14 17:06:12,592 INFO L276 IsEmpty]: Start isEmpty. Operand 298 states and 341 transitions. [2018-11-14 17:06:12,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:06:12,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:06:12,593 INFO L74 IsIncluded]: Start isIncluded. First operand 260 states. Second operand 298 states. [2018-11-14 17:06:12,593 INFO L87 Difference]: Start difference. First operand 260 states. Second operand 298 states. [2018-11-14 17:06:12,602 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:06:12,603 INFO L93 Difference]: Finished difference Result 298 states and 341 transitions. [2018-11-14 17:06:12,603 INFO L276 IsEmpty]: Start isEmpty. Operand 298 states and 341 transitions. [2018-11-14 17:06:12,604 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:06:12,604 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:06:12,604 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:06:12,604 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:06:12,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 260 states. [2018-11-14 17:06:12,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 260 states to 260 states and 300 transitions. [2018-11-14 17:06:12,613 INFO L78 Accepts]: Start accepts. Automaton has 260 states and 300 transitions. Word has length 44 [2018-11-14 17:06:12,613 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:06:12,613 INFO L480 AbstractCegarLoop]: Abstraction has 260 states and 300 transitions. [2018-11-14 17:06:12,613 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-14 17:06:12,613 INFO L276 IsEmpty]: Start isEmpty. Operand 260 states and 300 transitions. [2018-11-14 17:06:12,614 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2018-11-14 17:06:12,614 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:06:12,615 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-14 17:06:12,615 INFO L423 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:06:12,615 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:06:12,615 INFO L82 PathProgramCache]: Analyzing trace with hash 916503284, now seen corresponding path program 1 times [2018-11-14 17:06:12,615 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:06:12,616 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:06:12,616 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:06:12,616 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:06:12,617 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:06:12,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:06:12,858 INFO L256 TraceCheckUtils]: 0: Hoare triple {9159#true} call ULTIMATE.init(); {9159#true} is VALID [2018-11-14 17:06:12,859 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-14 17:06:12,859 INFO L273 TraceCheckUtils]: 2: Hoare triple {9159#true} assume true; {9159#true} is VALID [2018-11-14 17:06:12,859 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9159#true} {9159#true} #85#return; {9159#true} is VALID [2018-11-14 17:06:12,859 INFO L256 TraceCheckUtils]: 4: Hoare triple {9159#true} call #t~ret7 := main(); {9159#true} is VALID [2018-11-14 17:06:12,859 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-14 17:06:12,860 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {9159#true} is VALID [2018-11-14 17:06:12,860 INFO L273 TraceCheckUtils]: 7: Hoare triple {9159#true} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 0;~i~0 := 1; {9159#true} is VALID [2018-11-14 17:06:12,860 INFO L273 TraceCheckUtils]: 8: Hoare triple {9159#true} assume true; {9159#true} is VALID [2018-11-14 17:06:12,860 INFO L273 TraceCheckUtils]: 9: Hoare triple {9159#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {9159#true} is VALID [2018-11-14 17:06:12,860 INFO L273 TraceCheckUtils]: 10: Hoare triple {9159#true} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + (~i~0 * 3 - 3) * 4, 4); {9159#true} is VALID [2018-11-14 17:06:12,860 INFO L273 TraceCheckUtils]: 11: Hoare triple {9159#true} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + (~i~0 * 3 - 2) * 4, 4); {9159#true} is VALID [2018-11-14 17:06:12,873 INFO L273 TraceCheckUtils]: 12: Hoare triple {9159#true} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + (~i~0 * 3 - 1) * 4, 4); {9161#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-14 17:06:12,886 INFO L273 TraceCheckUtils]: 13: Hoare triple {9161#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {9161#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-14 17:06:12,898 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-14 17:06:12,916 INFO L273 TraceCheckUtils]: 15: Hoare triple {9161#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {9161#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-14 17:06:12,925 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 + (~i~0 * 3 - 3) * 4, 4); {9161#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-14 17:06:12,937 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 + (~i~0 * 3 - 2) * 4, 4); {9161#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-14 17:06:12,950 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 + (~i~0 * 3 - 1) * 4, 4); {9160#false} is VALID [2018-11-14 17:06:12,951 INFO L273 TraceCheckUtils]: 19: Hoare triple {9160#false} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {9160#false} is VALID [2018-11-14 17:06:12,951 INFO L273 TraceCheckUtils]: 20: Hoare triple {9160#false} assume true; {9160#false} is VALID [2018-11-14 17:06:12,951 INFO L273 TraceCheckUtils]: 21: Hoare triple {9160#false} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {9160#false} is VALID [2018-11-14 17:06:12,951 INFO L273 TraceCheckUtils]: 22: Hoare triple {9160#false} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + (~i~0 * 3 - 3) * 4, 4); {9160#false} is VALID [2018-11-14 17:06:12,951 INFO L273 TraceCheckUtils]: 23: Hoare triple {9160#false} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + (~i~0 * 3 - 2) * 4, 4); {9160#false} is VALID [2018-11-14 17:06:12,951 INFO L273 TraceCheckUtils]: 24: Hoare triple {9160#false} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + (~i~0 * 3 - 1) * 4, 4); {9160#false} is VALID [2018-11-14 17:06:12,952 INFO L273 TraceCheckUtils]: 25: Hoare triple {9160#false} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {9160#false} is VALID [2018-11-14 17:06:12,952 INFO L273 TraceCheckUtils]: 26: Hoare triple {9160#false} assume true; {9160#false} is VALID [2018-11-14 17:06:12,952 INFO L273 TraceCheckUtils]: 27: Hoare triple {9160#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {9160#false} is VALID [2018-11-14 17:06:12,952 INFO L273 TraceCheckUtils]: 28: Hoare triple {9160#false} ~i~0 := 0; {9160#false} is VALID [2018-11-14 17:06:12,952 INFO L273 TraceCheckUtils]: 29: Hoare triple {9160#false} assume true; {9160#false} is VALID [2018-11-14 17:06:12,953 INFO L273 TraceCheckUtils]: 30: Hoare triple {9160#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {9160#false} is VALID [2018-11-14 17:06:12,953 INFO L273 TraceCheckUtils]: 31: Hoare triple {9160#false} assume #t~short6; {9160#false} is VALID [2018-11-14 17:06:12,953 INFO L256 TraceCheckUtils]: 32: Hoare triple {9160#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9159#true} is VALID [2018-11-14 17:06:12,953 INFO L273 TraceCheckUtils]: 33: Hoare triple {9159#true} ~cond := #in~cond; {9159#true} is VALID [2018-11-14 17:06:12,953 INFO L273 TraceCheckUtils]: 34: Hoare triple {9159#true} assume !(~cond == 0); {9159#true} is VALID [2018-11-14 17:06:12,953 INFO L273 TraceCheckUtils]: 35: Hoare triple {9159#true} assume true; {9159#true} is VALID [2018-11-14 17:06:12,954 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {9159#true} {9160#false} #89#return; {9160#false} is VALID [2018-11-14 17:06:12,954 INFO L273 TraceCheckUtils]: 37: Hoare triple {9160#false} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {9160#false} is VALID [2018-11-14 17:06:12,954 INFO L273 TraceCheckUtils]: 38: Hoare triple {9160#false} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {9160#false} is VALID [2018-11-14 17:06:12,954 INFO L273 TraceCheckUtils]: 39: Hoare triple {9160#false} assume true; {9160#false} is VALID [2018-11-14 17:06:12,954 INFO L273 TraceCheckUtils]: 40: Hoare triple {9160#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {9160#false} is VALID [2018-11-14 17:06:12,955 INFO L273 TraceCheckUtils]: 41: Hoare triple {9160#false} assume #t~short6; {9160#false} is VALID [2018-11-14 17:06:12,955 INFO L256 TraceCheckUtils]: 42: Hoare triple {9160#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9159#true} is VALID [2018-11-14 17:06:12,955 INFO L273 TraceCheckUtils]: 43: Hoare triple {9159#true} ~cond := #in~cond; {9159#true} is VALID [2018-11-14 17:06:12,955 INFO L273 TraceCheckUtils]: 44: Hoare triple {9159#true} assume !(~cond == 0); {9159#true} is VALID [2018-11-14 17:06:12,955 INFO L273 TraceCheckUtils]: 45: Hoare triple {9159#true} assume true; {9159#true} is VALID [2018-11-14 17:06:12,955 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {9159#true} {9160#false} #89#return; {9160#false} is VALID [2018-11-14 17:06:12,956 INFO L273 TraceCheckUtils]: 47: Hoare triple {9160#false} havoc #t~mem5;havoc #t~mem4;havoc #t~short6; {9160#false} is VALID [2018-11-14 17:06:12,956 INFO L273 TraceCheckUtils]: 48: Hoare triple {9160#false} #t~post3 := ~i~0;~i~0 := #t~post3 + 1;havoc #t~post3; {9160#false} is VALID [2018-11-14 17:06:12,956 INFO L273 TraceCheckUtils]: 49: Hoare triple {9160#false} assume true; {9160#false} is VALID [2018-11-14 17:06:12,956 INFO L273 TraceCheckUtils]: 50: Hoare triple {9160#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {9160#false} is VALID [2018-11-14 17:06:12,956 INFO L273 TraceCheckUtils]: 51: Hoare triple {9160#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {9160#false} is VALID [2018-11-14 17:06:12,956 INFO L256 TraceCheckUtils]: 52: Hoare triple {9160#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9160#false} is VALID [2018-11-14 17:06:12,957 INFO L273 TraceCheckUtils]: 53: Hoare triple {9160#false} ~cond := #in~cond; {9160#false} is VALID [2018-11-14 17:06:12,957 INFO L273 TraceCheckUtils]: 54: Hoare triple {9160#false} assume ~cond == 0; {9160#false} is VALID [2018-11-14 17:06:12,957 INFO L273 TraceCheckUtils]: 55: Hoare triple {9160#false} assume !false; {9160#false} is VALID [2018-11-14 17:06:12,959 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-14 17:06:12,959 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:06:12,960 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-14 17:06:12,960 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 56 [2018-11-14 17:06:12,960 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:06:12,960 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-14 17:06:13,071 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-14 17:06:13,072 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-14 17:06:13,072 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-14 17:06:13,072 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 17:06:13,072 INFO L87 Difference]: Start difference. First operand 260 states and 300 transitions. Second operand 3 states. [2018-11-14 17:06:14,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:06:14,221 INFO L93 Difference]: Finished difference Result 319 states and 368 transitions. [2018-11-14 17:06:14,221 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 17:06:14,222 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 56 [2018-11-14 17:06:14,222 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:06:14,222 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 17:06:14,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2018-11-14 17:06:14,223 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 17:06:14,224 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2018-11-14 17:06:14,224 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2018-11-14 17:06:14,322 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:06:14,327 INFO L225 Difference]: With dead ends: 319 [2018-11-14 17:06:14,328 INFO L226 Difference]: Without dead ends: 214 [2018-11-14 17:06:14,328 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-14 17:06:14,329 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 214 states. [2018-11-14 17:06:15,709 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 214 to 208. [2018-11-14 17:06:15,709 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:06:15,709 INFO L82 GeneralOperation]: Start isEquivalent. First operand 214 states. Second operand 208 states. [2018-11-14 17:06:15,710 INFO L74 IsIncluded]: Start isIncluded. First operand 214 states. Second operand 208 states. [2018-11-14 17:06:15,710 INFO L87 Difference]: Start difference. First operand 214 states. Second operand 208 states. [2018-11-14 17:06:15,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:06:15,716 INFO L93 Difference]: Finished difference Result 214 states and 242 transitions. [2018-11-14 17:06:15,716 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 242 transitions. [2018-11-14 17:06:15,717 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:06:15,717 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:06:15,717 INFO L74 IsIncluded]: Start isIncluded. First operand 208 states. Second operand 214 states. [2018-11-14 17:06:15,717 INFO L87 Difference]: Start difference. First operand 208 states. Second operand 214 states. [2018-11-14 17:06:15,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:06:15,723 INFO L93 Difference]: Finished difference Result 214 states and 242 transitions. [2018-11-14 17:06:15,723 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 242 transitions. [2018-11-14 17:06:15,723 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:06:15,724 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:06:15,724 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:06:15,724 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:06:15,724 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 208 states. [2018-11-14 17:06:15,729 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 236 transitions. [2018-11-14 17:06:15,729 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 236 transitions. Word has length 56 [2018-11-14 17:06:15,730 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:06:15,730 INFO L480 AbstractCegarLoop]: Abstraction has 208 states and 236 transitions. [2018-11-14 17:06:15,730 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-14 17:06:15,730 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 236 transitions. [2018-11-14 17:06:15,731 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2018-11-14 17:06:15,731 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:06:15,731 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-14 17:06:15,731 INFO L423 AbstractCegarLoop]: === Iteration 16 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:06:15,732 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:06:15,732 INFO L82 PathProgramCache]: Analyzing trace with hash 1638828466, now seen corresponding path program 2 times [2018-11-14 17:06:15,732 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:06:15,732 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:06:15,733 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:06:15,733 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:06:15,733 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:06:15,748 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:06:16,500 WARN L179 SmtUtils]: Spent 109.00 ms on a formula simplification that was a NOOP. DAG size: 8 [2018-11-14 17:06:16,920 WARN L179 SmtUtils]: Spent 146.00 ms on a formula simplification. DAG size of input: 23 DAG size of output: 20 [2018-11-14 17:06:17,137 INFO L256 TraceCheckUtils]: 0: Hoare triple {10273#true} call ULTIMATE.init(); {10273#true} is VALID [2018-11-14 17:06:17,137 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-14 17:06:17,138 INFO L273 TraceCheckUtils]: 2: Hoare triple {10273#true} assume true; {10273#true} is VALID [2018-11-14 17:06:17,138 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10273#true} {10273#true} #85#return; {10273#true} is VALID [2018-11-14 17:06:17,138 INFO L256 TraceCheckUtils]: 4: Hoare triple {10273#true} call #t~ret7 := main(); {10273#true} is VALID [2018-11-14 17:06:17,138 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-14 17:06:17,139 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {10273#true} is VALID [2018-11-14 17:06:17,139 INFO L273 TraceCheckUtils]: 7: Hoare triple {10273#true} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 0;~i~0 := 1; {10275#(= main_~i~0 1)} is VALID [2018-11-14 17:06:17,140 INFO L273 TraceCheckUtils]: 8: Hoare triple {10275#(= main_~i~0 1)} assume true; {10275#(= main_~i~0 1)} is VALID [2018-11-14 17:06:17,140 INFO L273 TraceCheckUtils]: 9: Hoare triple {10275#(= main_~i~0 1)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {10275#(= main_~i~0 1)} is VALID [2018-11-14 17:06:17,141 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 + (~i~0 * 3 - 3) * 4, 4); {10276#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} is VALID [2018-11-14 17:06:17,142 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 + (~i~0 * 3 - 2) * 4, 4); {10276#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} is VALID [2018-11-14 17:06:17,142 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 + (~i~0 * 3 - 1) * 4, 4); {10276#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} is VALID [2018-11-14 17:06:17,143 INFO L273 TraceCheckUtils]: 13: Hoare triple {10276#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {10277#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} is VALID [2018-11-14 17:06:17,143 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-14 17:06:17,144 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {10277#(and (<= 2 main_~i~0) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (<= main_~i~0 2))} is VALID [2018-11-14 17:06:17,145 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 + (~i~0 * 3 - 3) * 4, 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-14 17:06:17,146 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 + (~i~0 * 3 - 2) * 4, 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-14 17:06:17,148 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 + (~i~0 * 3 - 1) * 4, 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-14 17:06:17,149 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 := #t~post2 + 1;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-14 17:06:17,149 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-14 17:06:17,150 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:06:17,151 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-14 17:06:17,151 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-14 17:06:17,156 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 + ~i~0 * 4, 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-14 17:06:17,157 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-14 17:06:17,157 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-14 17:06:17,157 INFO L273 TraceCheckUtils]: 27: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2018-11-14 17:06:17,157 INFO L273 TraceCheckUtils]: 28: Hoare triple {10273#true} assume !(~cond == 0); {10273#true} is VALID [2018-11-14 17:06:17,157 INFO L273 TraceCheckUtils]: 29: Hoare triple {10273#true} assume true; {10273#true} is VALID [2018-11-14 17:06:17,158 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-14 17:06:17,158 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~mem5;havoc #t~mem4;havoc #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-14 17:06:17,159 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 := #t~post3 + 1;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-14 17:06:17,160 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-14 17:06:17,160 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 + ~i~0 * 4, 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-14 17:06:17,161 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-14 17:06:17,161 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-14 17:06:17,161 INFO L273 TraceCheckUtils]: 37: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2018-11-14 17:06:17,161 INFO L273 TraceCheckUtils]: 38: Hoare triple {10273#true} assume !(~cond == 0); {10273#true} is VALID [2018-11-14 17:06:17,162 INFO L273 TraceCheckUtils]: 39: Hoare triple {10273#true} assume true; {10273#true} is VALID [2018-11-14 17:06:17,163 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-14 17:06:17,163 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~mem5;havoc #t~mem4;havoc #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-14 17:06:17,164 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 := #t~post3 + 1;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-14 17:06:17,165 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-14 17:06:17,165 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 + ~i~0 * 4, 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-14 17:06:17,165 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-14 17:06:17,165 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-14 17:06:17,166 INFO L273 TraceCheckUtils]: 47: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2018-11-14 17:06:17,166 INFO L273 TraceCheckUtils]: 48: Hoare triple {10273#true} assume !(~cond == 0); {10273#true} is VALID [2018-11-14 17:06:17,166 INFO L273 TraceCheckUtils]: 49: Hoare triple {10273#true} assume true; {10273#true} is VALID [2018-11-14 17:06:17,167 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-14 17:06:17,167 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~mem5;havoc #t~mem4;havoc #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-14 17:06:17,168 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 := #t~post3 + 1;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-14 17:06:17,169 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-14 17:06:17,170 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 + ~i~0 * 4, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {10284#|main_#t~short6|} is VALID [2018-11-14 17:06:17,170 INFO L273 TraceCheckUtils]: 55: Hoare triple {10284#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {10274#false} is VALID [2018-11-14 17:06:17,170 INFO L256 TraceCheckUtils]: 56: Hoare triple {10274#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10274#false} is VALID [2018-11-14 17:06:17,171 INFO L273 TraceCheckUtils]: 57: Hoare triple {10274#false} ~cond := #in~cond; {10274#false} is VALID [2018-11-14 17:06:17,171 INFO L273 TraceCheckUtils]: 58: Hoare triple {10274#false} assume ~cond == 0; {10274#false} is VALID [2018-11-14 17:06:17,171 INFO L273 TraceCheckUtils]: 59: Hoare triple {10274#false} assume !false; {10274#false} is VALID [2018-11-14 17:06:17,180 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-14 17:06:17,180 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:06:17,180 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 17:06:17,189 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 17:06:17,212 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 17:06:17,212 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 17:06:17,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:06:17,229 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:06:17,395 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-14 17:06:17,410 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-14 17:06:17,414 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:06:17,417 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:06:17,432 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:06:17,433 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:19 [2018-11-14 17:06:17,437 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 17:06:17,490 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-14 17:06:17,499 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:06:17,505 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-14 17:06:17,510 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:06:17,519 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:06:17,529 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:06:17,529 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-14 17:06:17,593 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-14 17:06:17,603 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:06:17,604 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:06:17,605 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:06:17,609 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-14 17:06:17,614 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:06:17,628 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:06:17,640 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:06:17,640 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-14 17:06:18,571 INFO L256 TraceCheckUtils]: 0: Hoare triple {10273#true} call ULTIMATE.init(); {10273#true} is VALID [2018-11-14 17:06:18,571 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-14 17:06:18,572 INFO L273 TraceCheckUtils]: 2: Hoare triple {10273#true} assume true; {10273#true} is VALID [2018-11-14 17:06:18,572 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10273#true} {10273#true} #85#return; {10273#true} is VALID [2018-11-14 17:06:18,572 INFO L256 TraceCheckUtils]: 4: Hoare triple {10273#true} call #t~ret7 := main(); {10273#true} is VALID [2018-11-14 17:06:18,572 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-14 17:06:18,572 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {10306#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-14 17:06:18,573 INFO L273 TraceCheckUtils]: 7: Hoare triple {10306#(= |main_~#volArray~0.offset| 0)} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 0;~i~0 := 1; {10310#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:06:18,573 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-14 17:06:18,574 INFO L273 TraceCheckUtils]: 9: Hoare triple {10310#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {10310#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:06:18,574 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 + (~i~0 * 3 - 3) * 4, 4); {10320#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:06:18,575 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 + (~i~0 * 3 - 2) * 4, 4); {10320#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:06:18,575 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 + (~i~0 * 3 - 1) * 4, 4); {10320#(and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:06:18,576 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 := #t~post2 + 1;havoc #t~post2; {10330#(and (= main_~i~0 2) (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:06:18,577 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-14 17:06:18,578 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:06:18,579 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 + (~i~0 * 3 - 3) * 4, 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-14 17:06:18,580 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 + (~i~0 * 3 - 2) * 4, 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-14 17:06:18,581 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 + (~i~0 * 3 - 1) * 4, 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-14 17:06:18,582 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 := #t~post2 + 1;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-14 17:06:18,583 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-14 17:06:18,584 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:06:18,585 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-14 17:06:18,586 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-14 17:06:18,587 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 + ~i~0 * 4, 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-14 17:06:18,588 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-14 17:06:18,589 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-14 17:06:18,590 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-14 17:06:18,590 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 !(~cond == 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-14 17:06:18,591 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-14 17:06:18,592 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-14 17:06:18,593 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~mem5;havoc #t~mem4;havoc #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-14 17:06:18,594 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 := #t~post3 + 1;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-14 17:06:18,595 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-14 17:06:18,596 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 + ~i~0 * 4, 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-14 17:06:18,597 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-14 17:06:18,616 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-14 17:06:18,625 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-14 17:06:18,637 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 !(~cond == 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-14 17:06:18,652 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-14 17:06:18,666 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-14 17:06:18,681 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~mem5;havoc #t~mem4;havoc #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-14 17:06:18,695 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 := #t~post3 + 1;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-14 17:06:18,710 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-14 17:06:18,712 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 + ~i~0 * 4, 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-14 17:06:18,712 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-14 17:06:18,714 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-14 17:06:18,715 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-14 17:06:18,715 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 !(~cond == 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-14 17:06:18,717 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-14 17:06:18,718 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-14 17:06:18,719 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~mem5;havoc #t~mem4;havoc #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-14 17:06:18,719 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 := #t~post3 + 1;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-14 17:06:18,721 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-14 17:06:18,722 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 + ~i~0 * 4, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {10284#|main_#t~short6|} is VALID [2018-11-14 17:06:18,723 INFO L273 TraceCheckUtils]: 55: Hoare triple {10284#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {10274#false} is VALID [2018-11-14 17:06:18,723 INFO L256 TraceCheckUtils]: 56: Hoare triple {10274#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10274#false} is VALID [2018-11-14 17:06:18,723 INFO L273 TraceCheckUtils]: 57: Hoare triple {10274#false} ~cond := #in~cond; {10274#false} is VALID [2018-11-14 17:06:18,723 INFO L273 TraceCheckUtils]: 58: Hoare triple {10274#false} assume ~cond == 0; {10274#false} is VALID [2018-11-14 17:06:18,723 INFO L273 TraceCheckUtils]: 59: Hoare triple {10274#false} assume !false; {10274#false} is VALID [2018-11-14 17:06:18,737 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-14 17:06:18,757 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:06:18,758 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 15] total 24 [2018-11-14 17:06:18,758 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 60 [2018-11-14 17:06:18,759 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:06:18,759 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-14 17:06:18,880 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-14 17:06:18,881 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-14 17:06:18,881 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-14 17:06:18,881 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=94, Invalid=458, Unknown=0, NotChecked=0, Total=552 [2018-11-14 17:06:18,882 INFO L87 Difference]: Start difference. First operand 208 states and 236 transitions. Second operand 24 states. [2018-11-14 17:06:25,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:06:25,791 INFO L93 Difference]: Finished difference Result 417 states and 480 transitions. [2018-11-14 17:06:25,791 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2018-11-14 17:06:25,791 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 60 [2018-11-14 17:06:25,791 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:06:25,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-14 17:06:25,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 227 transitions. [2018-11-14 17:06:25,798 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-14 17:06:25,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 227 transitions. [2018-11-14 17:06:25,801 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 41 states and 227 transitions. [2018-11-14 17:06:26,115 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-14 17:06:26,126 INFO L225 Difference]: With dead ends: 417 [2018-11-14 17:06:26,127 INFO L226 Difference]: Without dead ends: 370 [2018-11-14 17:06:26,128 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 44 SyntacticMatches, 7 SemanticMatches, 50 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 783 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=404, Invalid=2248, Unknown=0, NotChecked=0, Total=2652 [2018-11-14 17:06:26,129 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 370 states. [2018-11-14 17:06:29,083 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 370 to 276. [2018-11-14 17:06:29,083 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:06:29,084 INFO L82 GeneralOperation]: Start isEquivalent. First operand 370 states. Second operand 276 states. [2018-11-14 17:06:29,084 INFO L74 IsIncluded]: Start isIncluded. First operand 370 states. Second operand 276 states. [2018-11-14 17:06:29,084 INFO L87 Difference]: Start difference. First operand 370 states. Second operand 276 states. [2018-11-14 17:06:29,095 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:06:29,095 INFO L93 Difference]: Finished difference Result 370 states and 425 transitions. [2018-11-14 17:06:29,095 INFO L276 IsEmpty]: Start isEmpty. Operand 370 states and 425 transitions. [2018-11-14 17:06:29,096 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:06:29,096 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:06:29,096 INFO L74 IsIncluded]: Start isIncluded. First operand 276 states. Second operand 370 states. [2018-11-14 17:06:29,097 INFO L87 Difference]: Start difference. First operand 276 states. Second operand 370 states. [2018-11-14 17:06:29,107 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:06:29,107 INFO L93 Difference]: Finished difference Result 370 states and 425 transitions. [2018-11-14 17:06:29,107 INFO L276 IsEmpty]: Start isEmpty. Operand 370 states and 425 transitions. [2018-11-14 17:06:29,108 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:06:29,109 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:06:29,109 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:06:29,109 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:06:29,109 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 276 states. [2018-11-14 17:06:29,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 276 states to 276 states and 317 transitions. [2018-11-14 17:06:29,116 INFO L78 Accepts]: Start accepts. Automaton has 276 states and 317 transitions. Word has length 60 [2018-11-14 17:06:29,116 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:06:29,116 INFO L480 AbstractCegarLoop]: Abstraction has 276 states and 317 transitions. [2018-11-14 17:06:29,117 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-14 17:06:29,117 INFO L276 IsEmpty]: Start isEmpty. Operand 276 states and 317 transitions. [2018-11-14 17:06:29,118 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2018-11-14 17:06:29,118 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:06:29,118 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-14 17:06:29,118 INFO L423 AbstractCegarLoop]: === Iteration 17 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:06:29,118 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:06:29,119 INFO L82 PathProgramCache]: Analyzing trace with hash -891639634, now seen corresponding path program 1 times [2018-11-14 17:06:29,119 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:06:29,119 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:06:29,120 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:06:29,120 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 17:06:29,120 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:06:29,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:06:29,603 INFO L256 TraceCheckUtils]: 0: Hoare triple {12169#true} call ULTIMATE.init(); {12169#true} is VALID [2018-11-14 17:06:29,604 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-14 17:06:29,604 INFO L273 TraceCheckUtils]: 2: Hoare triple {12169#true} assume true; {12169#true} is VALID [2018-11-14 17:06:29,604 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12169#true} {12169#true} #85#return; {12169#true} is VALID [2018-11-14 17:06:29,604 INFO L256 TraceCheckUtils]: 4: Hoare triple {12169#true} call #t~ret7 := main(); {12169#true} is VALID [2018-11-14 17:06:29,604 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-14 17:06:29,605 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {12169#true} is VALID [2018-11-14 17:06:29,605 INFO L273 TraceCheckUtils]: 7: Hoare triple {12169#true} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 0;~i~0 := 1; {12171#(= main_~i~0 1)} is VALID [2018-11-14 17:06:29,606 INFO L273 TraceCheckUtils]: 8: Hoare triple {12171#(= main_~i~0 1)} assume true; {12171#(= main_~i~0 1)} is VALID [2018-11-14 17:06:29,606 INFO L273 TraceCheckUtils]: 9: Hoare triple {12171#(= main_~i~0 1)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {12171#(= main_~i~0 1)} is VALID [2018-11-14 17:06:29,607 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 + (~i~0 * 3 - 3) * 4, 4); {12171#(= main_~i~0 1)} is VALID [2018-11-14 17:06:29,607 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 + (~i~0 * 3 - 2) * 4, 4); {12171#(= main_~i~0 1)} is VALID [2018-11-14 17:06:29,608 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 + (~i~0 * 3 - 1) * 4, 4); {12171#(= main_~i~0 1)} is VALID [2018-11-14 17:06:29,609 INFO L273 TraceCheckUtils]: 13: Hoare triple {12171#(= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {12172#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-14 17:06:29,609 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-14 17:06:29,610 INFO L273 TraceCheckUtils]: 15: Hoare triple {12172#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {12172#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-14 17:06:29,611 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 + (~i~0 * 3 - 3) * 4, 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-14 17:06:29,612 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 + (~i~0 * 3 - 2) * 4, 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-14 17:06:29,614 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 + (~i~0 * 3 - 1) * 4, 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-14 17:06:29,615 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 := #t~post2 + 1;havoc #t~post2; {12174#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 6) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-14 17:06:29,615 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-14 17:06:29,616 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:06:29,616 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-14 17:06:29,617 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-14 17:06:29,618 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 + ~i~0 * 4, 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-14 17:06:29,619 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-14 17:06:29,619 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-14 17:06:29,619 INFO L273 TraceCheckUtils]: 27: Hoare triple {12169#true} ~cond := #in~cond; {12169#true} is VALID [2018-11-14 17:06:29,619 INFO L273 TraceCheckUtils]: 28: Hoare triple {12169#true} assume !(~cond == 0); {12169#true} is VALID [2018-11-14 17:06:29,620 INFO L273 TraceCheckUtils]: 29: Hoare triple {12169#true} assume true; {12169#true} is VALID [2018-11-14 17:06:29,621 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-14 17:06:29,622 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~mem5;havoc #t~mem4;havoc #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-14 17:06:29,622 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 := #t~post3 + 1;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-14 17:06:29,623 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-14 17:06:29,624 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 + ~i~0 * 4, 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-14 17:06:29,624 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-14 17:06:29,624 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-14 17:06:29,625 INFO L273 TraceCheckUtils]: 37: Hoare triple {12169#true} ~cond := #in~cond; {12169#true} is VALID [2018-11-14 17:06:29,625 INFO L273 TraceCheckUtils]: 38: Hoare triple {12169#true} assume !(~cond == 0); {12169#true} is VALID [2018-11-14 17:06:29,625 INFO L273 TraceCheckUtils]: 39: Hoare triple {12169#true} assume true; {12169#true} is VALID [2018-11-14 17:06:29,626 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-14 17:06:29,627 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~mem5;havoc #t~mem4;havoc #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-14 17:06:29,628 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 := #t~post3 + 1;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-14 17:06:29,629 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-14 17:06:29,630 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 + ~i~0 * 4, 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-14 17:06:29,630 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-14 17:06:29,630 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-14 17:06:29,631 INFO L273 TraceCheckUtils]: 47: Hoare triple {12169#true} ~cond := #in~cond; {12169#true} is VALID [2018-11-14 17:06:29,631 INFO L273 TraceCheckUtils]: 48: Hoare triple {12169#true} assume !(~cond == 0); {12169#true} is VALID [2018-11-14 17:06:29,631 INFO L273 TraceCheckUtils]: 49: Hoare triple {12169#true} assume true; {12169#true} is VALID [2018-11-14 17:06:29,633 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-14 17:06:29,633 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~mem5;havoc #t~mem4;havoc #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-14 17:06:29,634 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 := #t~post3 + 1;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-14 17:06:29,635 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-14 17:06:29,636 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 + ~i~0 * 4, 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-14 17:06:29,637 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 + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {12179#|main_#t~short6|} is VALID [2018-11-14 17:06:29,638 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-14 17:06:29,639 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-14 17:06:29,639 INFO L273 TraceCheckUtils]: 58: Hoare triple {12181#(not (= 0 __VERIFIER_assert_~cond))} assume ~cond == 0; {12170#false} is VALID [2018-11-14 17:06:29,640 INFO L273 TraceCheckUtils]: 59: Hoare triple {12170#false} assume !false; {12170#false} is VALID [2018-11-14 17:06:29,650 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-14 17:06:29,651 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:06:29,651 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 17:06:29,700 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:06:29,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:06:29,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:06:29,744 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:06:29,842 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-14 17:06:29,844 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-14 17:06:29,845 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:06:29,848 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:06:29,855 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:06:29,856 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-14 17:06:29,895 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-14 17:06:29,900 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:06:29,902 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-14 17:06:29,904 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:06:29,910 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:06:29,920 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:06:29,921 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-14 17:06:29,967 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-14 17:06:29,973 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:06:29,974 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:06:29,975 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:06:29,976 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-14 17:06:29,980 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:06:29,990 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:06:29,999 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:06:29,999 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-14 17:06:30,635 INFO L256 TraceCheckUtils]: 0: Hoare triple {12169#true} call ULTIMATE.init(); {12169#true} is VALID [2018-11-14 17:06:30,636 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-14 17:06:30,636 INFO L273 TraceCheckUtils]: 2: Hoare triple {12169#true} assume true; {12169#true} is VALID [2018-11-14 17:06:30,636 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12169#true} {12169#true} #85#return; {12169#true} is VALID [2018-11-14 17:06:30,636 INFO L256 TraceCheckUtils]: 4: Hoare triple {12169#true} call #t~ret7 := main(); {12169#true} is VALID [2018-11-14 17:06:30,637 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-14 17:06:30,654 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(~CELLCOUNT~0 * 4);~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {12203#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-14 17:06:30,658 INFO L273 TraceCheckUtils]: 7: Hoare triple {12203#(= |main_~#volArray~0.offset| 0)} assume !((if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) != 0);assume (if (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 % 3 - 3 else ~CELLCOUNT~0 % 3) == 0 then 1 else 0) != 0;~i~0 := 1; {12207#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:06:30,659 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-14 17:06:30,659 INFO L273 TraceCheckUtils]: 9: Hoare triple {12207#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {12207#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:06:30,660 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 + (~i~0 * 3 - 3) * 4, 4); {12207#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:06:30,660 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 + (~i~0 * 3 - 2) * 4, 4); {12207#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:06:30,660 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 + (~i~0 * 3 - 1) * 4, 4); {12207#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:06:30,661 INFO L273 TraceCheckUtils]: 13: Hoare triple {12207#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {12226#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:06:30,661 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-14 17:06:30,662 INFO L273 TraceCheckUtils]: 15: Hoare triple {12226#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 else ~CELLCOUNT~0 / 3)); {12226#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-14 17:06:30,663 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 + (~i~0 * 3 - 3) * 4, 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-14 17:06:30,664 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 + (~i~0 * 3 - 2) * 4, 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-14 17:06:30,666 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 + (~i~0 * 3 - 1) * 4, 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-14 17:06:30,667 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 := #t~post2 + 1;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-14 17:06:30,667 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-14 17:06:30,668 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 && ~CELLCOUNT~0 % 3 != 0 then ~CELLCOUNT~0 / 3 + 1 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-14 17:06:30,669 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-14 17:06:30,670 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-14 17:06:30,671 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 + ~i~0 * 4, 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-14 17:06:30,672 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-14 17:06:30,674 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-14 17:06:30,674 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-14 17:06:30,675 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 !(~cond == 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-14 17:06:30,675 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-14 17:06:30,676 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-14 17:06:30,677 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~mem5;havoc #t~mem4;havoc #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-14 17:06:30,678 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 := #t~post3 + 1;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-14 17:06:30,679 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-14 17:06:30,680 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 + ~i~0 * 4, 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-14 17:06:30,681 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-14 17:06:30,683 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-14 17:06:30,684 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-14 17:06:30,684 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 !(~cond == 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-14 17:06:30,685 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-14 17:06:30,686 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-14 17:06:30,687 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~mem5;havoc #t~mem4;havoc #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-14 17:06:30,688 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 := #t~post3 + 1;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-14 17:06:30,689 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-14 17:06:30,690 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 + ~i~0 * 4, 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-14 17:06:30,691 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-14 17:06:30,693 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-14 17:06:30,693 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-14 17:06:30,694 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 !(~cond == 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-14 17:06:30,694 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-14 17:06:30,695 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-14 17:06:30,696 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~mem5;havoc #t~mem4;havoc #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-14 17:06:30,697 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 := #t~post3 + 1;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-14 17:06:30,698 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-14 17:06:30,699 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 + ~i~0 * 4, 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-14 17:06:30,700 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 + ~i~0 * 4, 4);#t~short6 := #t~mem5 == 0; {12179#|main_#t~short6|} is VALID [2018-11-14 17:06:30,701 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-14 17:06:30,702 INFO L273 TraceCheckUtils]: 57: Hoare triple {12364#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {12368#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 17:06:30,702 INFO L273 TraceCheckUtils]: 58: Hoare triple {12368#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {12170#false} is VALID [2018-11-14 17:06:30,703 INFO L273 TraceCheckUtils]: 59: Hoare triple {12170#false} assume !false; {12170#false} is VALID [2018-11-14 17:06:30,721 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-14 17:06:30,742 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:06:30,742 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 16] total 26 [2018-11-14 17:06:30,743 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 60 [2018-11-14 17:06:30,743 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:06:30,743 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states. [2018-11-14 17:06:30,871 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-14 17:06:30,871 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2018-11-14 17:06:30,871 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2018-11-14 17:06:30,872 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=106, Invalid=544, Unknown=0, NotChecked=0, Total=650 [2018-11-14 17:06:30,872 INFO L87 Difference]: Start difference. First operand 276 states and 317 transitions. Second operand 26 states.