java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerCInline_WitnessPrinter.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/array-tiling/pr4_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 12:21:05,977 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:21:05,980 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:21:05,991 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:21:05,992 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:21:05,993 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:21:05,994 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:21:05,996 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:21:05,997 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:21:05,998 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:21:05,999 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:21:06,000 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:21:06,001 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:21:06,002 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:21:06,003 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:21:06,004 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:21:06,005 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:21:06,007 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:21:06,009 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:21:06,010 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:21:06,012 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:21:06,013 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:21:06,015 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:21:06,016 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:21:06,016 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:21:06,017 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:21:06,018 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:21:06,019 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:21:06,020 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:21:06,021 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:21:06,021 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:21:06,022 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:21:06,022 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:21:06,022 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:21:06,023 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:21:06,024 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:21:06,025 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 12:21:06,045 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:21:06,046 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:21:06,046 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:21:06,047 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 12:21:06,047 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:21:06,047 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:21:06,048 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 12:21:06,048 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:21:06,048 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:21:06,048 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:21:06,049 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:21:06,049 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:21:06,049 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:21:06,049 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:21:06,049 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:21:06,049 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:21:06,050 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:21:06,050 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:21:06,050 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:21:06,050 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:21:06,050 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 12:21:06,050 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:21:06,051 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 12:21:06,051 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:21:06,051 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:21:06,051 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:21:06,051 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:21:06,052 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 12:21:06,052 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:21:06,052 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:21:06,052 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 12:21:06,102 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:21:06,123 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:21:06,128 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:21:06,130 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:21:06,130 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:21:06,131 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-tiling/pr4_true-unreach-call.i [2018-11-23 12:21:06,186 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/004f40116/af05e59c5171425b8695f14a7a50cf28/FLAG1022cfb7e [2018-11-23 12:21:06,609 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:21:06,610 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-tiling/pr4_true-unreach-call.i [2018-11-23 12:21:06,617 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/004f40116/af05e59c5171425b8695f14a7a50cf28/FLAG1022cfb7e [2018-11-23 12:21:06,981 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/004f40116/af05e59c5171425b8695f14a7a50cf28 [2018-11-23 12:21:06,990 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:21:06,991 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:21:06,992 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:21:06,993 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:21:06,996 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:21:06,998 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:21:06" (1/1) ... [2018-11-23 12:21:07,001 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@64cbf194 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:06, skipping insertion in model container [2018-11-23 12:21:07,001 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:21:06" (1/1) ... [2018-11-23 12:21:07,010 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:21:07,034 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:21:07,237 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:21:07,242 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:21:07,276 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:21:07,300 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:21:07,301 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:07 WrapperNode [2018-11-23 12:21:07,301 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:21:07,302 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:21:07,302 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:21:07,303 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:21:07,313 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:07" (1/1) ... [2018-11-23 12:21:07,323 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:07" (1/1) ... [2018-11-23 12:21:07,332 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:21:07,333 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:21:07,333 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:21:07,333 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:21:07,344 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:07" (1/1) ... [2018-11-23 12:21:07,344 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:07" (1/1) ... [2018-11-23 12:21:07,347 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:07" (1/1) ... [2018-11-23 12:21:07,347 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:07" (1/1) ... [2018-11-23 12:21:07,360 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:07" (1/1) ... [2018-11-23 12:21:07,372 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:07" (1/1) ... [2018-11-23 12:21:07,376 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:07" (1/1) ... [2018-11-23 12:21:07,383 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:21:07,384 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:21:07,384 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:21:07,384 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:21:07,388 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:07" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:21:07,567 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 12:21:07,567 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 12:21:07,567 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 12:21:07,568 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:21:07,568 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:21:07,568 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:21:07,568 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 12:21:07,568 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 12:21:07,568 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 12:21:07,569 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 12:21:07,570 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 12:21:07,570 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:21:08,297 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:21:08,298 INFO L280 CfgBuilder]: Removed 2 assue(true) statements. [2018-11-23 12:21:08,298 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:21:08 BoogieIcfgContainer [2018-11-23 12:21:08,298 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:21:08,299 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 12:21:08,300 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 12:21:08,303 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 12:21:08,304 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:21:06" (1/3) ... [2018-11-23 12:21:08,305 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3d4fcb02 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:21:08, skipping insertion in model container [2018-11-23 12:21:08,305 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:21:07" (2/3) ... [2018-11-23 12:21:08,305 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3d4fcb02 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:21:08, skipping insertion in model container [2018-11-23 12:21:08,305 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:21:08" (3/3) ... [2018-11-23 12:21:08,307 INFO L112 eAbstractionObserver]: Analyzing ICFG pr4_true-unreach-call.i [2018-11-23 12:21:08,317 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 12:21:08,324 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 12:21:08,340 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 12:21:08,372 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 12:21:08,373 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 12:21:08,373 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 12:21:08,374 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 12:21:08,375 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 12:21:08,375 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 12:21:08,375 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 12:21:08,376 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 12:21:08,376 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 12:21:08,396 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states. [2018-11-23 12:21:08,402 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 12:21:08,403 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:08,404 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:08,406 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:08,413 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:08,413 INFO L82 PathProgramCache]: Analyzing trace with hash -1387739323, now seen corresponding path program 1 times [2018-11-23 12:21:08,415 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:08,416 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:08,474 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:08,474 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:08,475 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:08,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:08,918 INFO L256 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {35#true} is VALID [2018-11-23 12:21:08,922 INFO L273 TraceCheckUtils]: 1: Hoare triple {35#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {35#true} is VALID [2018-11-23 12:21:08,923 INFO L273 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2018-11-23 12:21:08,923 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #89#return; {35#true} is VALID [2018-11-23 12:21:08,924 INFO L256 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret7 := main(); {35#true} is VALID [2018-11-23 12:21:08,924 INFO L273 TraceCheckUtils]: 5: Hoare triple {35#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {35#true} is VALID [2018-11-23 12:21:08,925 INFO L273 TraceCheckUtils]: 6: Hoare triple {35#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {35#true} is VALID [2018-11-23 12:21:08,925 INFO L273 TraceCheckUtils]: 7: Hoare triple {35#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {35#true} is VALID [2018-11-23 12:21:08,925 INFO L273 TraceCheckUtils]: 8: Hoare triple {35#true} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {35#true} is VALID [2018-11-23 12:21:08,926 INFO L273 TraceCheckUtils]: 9: Hoare triple {35#true} ~i~0 := 0; {35#true} is VALID [2018-11-23 12:21:08,926 INFO L273 TraceCheckUtils]: 10: Hoare triple {35#true} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {35#true} is VALID [2018-11-23 12:21:08,928 INFO L273 TraceCheckUtils]: 11: Hoare triple {35#true} assume #t~short6; {37#|main_#t~short6|} is VALID [2018-11-23 12:21:08,931 INFO L256 TraceCheckUtils]: 12: Hoare triple {37#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {38#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:21:08,934 INFO L273 TraceCheckUtils]: 13: Hoare triple {38#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {39#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:21:08,935 INFO L273 TraceCheckUtils]: 14: Hoare triple {39#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {36#false} is VALID [2018-11-23 12:21:08,935 INFO L273 TraceCheckUtils]: 15: Hoare triple {36#false} assume !false; {36#false} is VALID [2018-11-23 12:21:08,938 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:08,941 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:21:08,941 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 12:21:08,946 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 16 [2018-11-23 12:21:08,949 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:08,953 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 12:21:09,022 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:09,022 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 12:21:09,033 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 12:21:09,033 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:21:09,037 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 5 states. [2018-11-23 12:21:09,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:09,664 INFO L93 Difference]: Finished difference Result 56 states and 73 transitions. [2018-11-23 12:21:09,664 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 12:21:09,664 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 16 [2018-11-23 12:21:09,665 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:09,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:21:09,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2018-11-23 12:21:09,678 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:21:09,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2018-11-23 12:21:09,684 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 73 transitions. [2018-11-23 12:21:10,152 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-23 12:21:10,165 INFO L225 Difference]: With dead ends: 56 [2018-11-23 12:21:10,166 INFO L226 Difference]: Without dead ends: 32 [2018-11-23 12:21:10,169 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2018-11-23 12:21:10,187 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2018-11-23 12:21:10,216 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 31. [2018-11-23 12:21:10,216 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:10,217 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand 31 states. [2018-11-23 12:21:10,218 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 31 states. [2018-11-23 12:21:10,218 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 31 states. [2018-11-23 12:21:10,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:10,222 INFO L93 Difference]: Finished difference Result 32 states and 38 transitions. [2018-11-23 12:21:10,222 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 38 transitions. [2018-11-23 12:21:10,223 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:10,223 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:10,223 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 32 states. [2018-11-23 12:21:10,224 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 32 states. [2018-11-23 12:21:10,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:10,228 INFO L93 Difference]: Finished difference Result 32 states and 38 transitions. [2018-11-23 12:21:10,228 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 38 transitions. [2018-11-23 12:21:10,229 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:10,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:10,231 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:10,231 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:10,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 12:21:10,234 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 37 transitions. [2018-11-23 12:21:10,236 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 37 transitions. Word has length 16 [2018-11-23 12:21:10,237 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:10,237 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 37 transitions. [2018-11-23 12:21:10,237 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 12:21:10,237 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 37 transitions. [2018-11-23 12:21:10,238 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 12:21:10,238 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:10,239 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:10,239 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:10,239 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:10,240 INFO L82 PathProgramCache]: Analyzing trace with hash -1385892281, now seen corresponding path program 1 times [2018-11-23 12:21:10,240 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:10,240 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:10,241 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:10,241 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:10,242 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:10,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:10,453 INFO L256 TraceCheckUtils]: 0: Hoare triple {218#true} call ULTIMATE.init(); {218#true} is VALID [2018-11-23 12:21:10,453 INFO L273 TraceCheckUtils]: 1: Hoare triple {218#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {218#true} is VALID [2018-11-23 12:21:10,454 INFO L273 TraceCheckUtils]: 2: Hoare triple {218#true} assume true; {218#true} is VALID [2018-11-23 12:21:10,454 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {218#true} {218#true} #89#return; {218#true} is VALID [2018-11-23 12:21:10,454 INFO L256 TraceCheckUtils]: 4: Hoare triple {218#true} call #t~ret7 := main(); {218#true} is VALID [2018-11-23 12:21:10,455 INFO L273 TraceCheckUtils]: 5: Hoare triple {218#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {218#true} is VALID [2018-11-23 12:21:10,473 INFO L273 TraceCheckUtils]: 6: Hoare triple {218#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {220#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:21:10,482 INFO L273 TraceCheckUtils]: 7: Hoare triple {220#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {221#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1))} is VALID [2018-11-23 12:21:10,492 INFO L273 TraceCheckUtils]: 8: Hoare triple {221#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= 2 ~CELLCOUNT~0) (= main_~i~0 1))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {219#false} is VALID [2018-11-23 12:21:10,492 INFO L273 TraceCheckUtils]: 9: Hoare triple {219#false} ~i~0 := 0; {219#false} is VALID [2018-11-23 12:21:10,493 INFO L273 TraceCheckUtils]: 10: Hoare triple {219#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {219#false} is VALID [2018-11-23 12:21:10,493 INFO L273 TraceCheckUtils]: 11: Hoare triple {219#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {219#false} is VALID [2018-11-23 12:21:10,493 INFO L256 TraceCheckUtils]: 12: Hoare triple {219#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {219#false} is VALID [2018-11-23 12:21:10,494 INFO L273 TraceCheckUtils]: 13: Hoare triple {219#false} ~cond := #in~cond; {219#false} is VALID [2018-11-23 12:21:10,494 INFO L273 TraceCheckUtils]: 14: Hoare triple {219#false} assume 0 == ~cond; {219#false} is VALID [2018-11-23 12:21:10,494 INFO L273 TraceCheckUtils]: 15: Hoare triple {219#false} assume !false; {219#false} is VALID [2018-11-23 12:21:10,496 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:10,496 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:21:10,496 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:21:10,498 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 16 [2018-11-23 12:21:10,498 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:10,498 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:21:10,536 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:10,537 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:21:10,537 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:21:10,537 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:21:10,538 INFO L87 Difference]: Start difference. First operand 31 states and 37 transitions. Second operand 4 states. [2018-11-23 12:21:10,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:10,829 INFO L93 Difference]: Finished difference Result 54 states and 66 transitions. [2018-11-23 12:21:10,830 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:21:10,830 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 16 [2018-11-23 12:21:10,830 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:10,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:21:10,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2018-11-23 12:21:10,834 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:21:10,837 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2018-11-23 12:21:10,837 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 56 transitions. [2018-11-23 12:21:10,956 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-23 12:21:10,959 INFO L225 Difference]: With dead ends: 54 [2018-11-23 12:21:10,960 INFO L226 Difference]: Without dead ends: 37 [2018-11-23 12:21:10,961 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:21:10,961 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2018-11-23 12:21:10,988 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 32. [2018-11-23 12:21:10,988 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:10,988 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 32 states. [2018-11-23 12:21:10,988 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 32 states. [2018-11-23 12:21:10,989 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 32 states. [2018-11-23 12:21:10,992 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:10,992 INFO L93 Difference]: Finished difference Result 37 states and 47 transitions. [2018-11-23 12:21:10,992 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 47 transitions. [2018-11-23 12:21:10,993 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:10,993 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:10,993 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 37 states. [2018-11-23 12:21:10,994 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 37 states. [2018-11-23 12:21:10,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:10,997 INFO L93 Difference]: Finished difference Result 37 states and 47 transitions. [2018-11-23 12:21:10,997 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 47 transitions. [2018-11-23 12:21:10,998 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:10,998 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:10,998 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:10,999 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:10,999 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-23 12:21:11,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 38 transitions. [2018-11-23 12:21:11,002 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 38 transitions. Word has length 16 [2018-11-23 12:21:11,002 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:11,002 INFO L480 AbstractCegarLoop]: Abstraction has 32 states and 38 transitions. [2018-11-23 12:21:11,002 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:21:11,003 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 38 transitions. [2018-11-23 12:21:11,003 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 12:21:11,004 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:11,004 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:11,004 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:11,004 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:11,005 INFO L82 PathProgramCache]: Analyzing trace with hash 830594452, now seen corresponding path program 1 times [2018-11-23 12:21:11,005 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:11,005 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:11,006 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:11,006 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:11,006 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:11,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:12,139 WARN L180 SmtUtils]: Spent 112.00 ms on a formula simplification. DAG size of input: 28 DAG size of output: 15 [2018-11-23 12:21:12,190 INFO L256 TraceCheckUtils]: 0: Hoare triple {411#true} call ULTIMATE.init(); {411#true} is VALID [2018-11-23 12:21:12,190 INFO L273 TraceCheckUtils]: 1: Hoare triple {411#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {411#true} is VALID [2018-11-23 12:21:12,191 INFO L273 TraceCheckUtils]: 2: Hoare triple {411#true} assume true; {411#true} is VALID [2018-11-23 12:21:12,191 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {411#true} {411#true} #89#return; {411#true} is VALID [2018-11-23 12:21:12,192 INFO L256 TraceCheckUtils]: 4: Hoare triple {411#true} call #t~ret7 := main(); {411#true} is VALID [2018-11-23 12:21:12,192 INFO L273 TraceCheckUtils]: 5: Hoare triple {411#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {411#true} is VALID [2018-11-23 12:21:12,194 INFO L273 TraceCheckUtils]: 6: Hoare triple {411#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {413#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:12,195 INFO L273 TraceCheckUtils]: 7: Hoare triple {413#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {414#(and (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (= 16 (+ |main_~#volArray~0.offset| (* 16 main_~i~0))) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= 2 ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 16 main_~i~0)) 15))))} is VALID [2018-11-23 12:21:12,195 INFO L273 TraceCheckUtils]: 8: Hoare triple {414#(and (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (= 16 (+ |main_~#volArray~0.offset| (* 16 main_~i~0))) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= 2 ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 16 main_~i~0)) 15))))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {414#(and (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (= 16 (+ |main_~#volArray~0.offset| (* 16 main_~i~0))) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= 2 ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 16 main_~i~0)) 15))))} is VALID [2018-11-23 12:21:12,197 INFO L273 TraceCheckUtils]: 9: Hoare triple {414#(and (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (= 16 (+ |main_~#volArray~0.offset| (* 16 main_~i~0))) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= 2 ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 16 main_~i~0)) 15))))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {415#(and (or (not (= 16 (+ |main_~#volArray~0.offset| (* 16 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16))))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (= 16 (+ |main_~#volArray~0.offset| (* 16 main_~i~0))) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= 2 ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 16 main_~i~0)) 15))))} is VALID [2018-11-23 12:21:12,199 INFO L273 TraceCheckUtils]: 10: Hoare triple {415#(and (or (not (= 16 (+ |main_~#volArray~0.offset| (* 16 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16))))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (= 16 (+ |main_~#volArray~0.offset| (* 16 main_~i~0))) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= 2 ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 16 main_~i~0)) 15))))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {415#(and (or (not (= 16 (+ |main_~#volArray~0.offset| (* 16 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16))))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (= 16 (+ |main_~#volArray~0.offset| (* 16 main_~i~0))) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= 2 ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 16 main_~i~0)) 15))))} is VALID [2018-11-23 12:21:12,202 INFO L273 TraceCheckUtils]: 11: Hoare triple {415#(and (or (not (= 16 (+ |main_~#volArray~0.offset| (* 16 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16))))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (= 16 (+ |main_~#volArray~0.offset| (* 16 main_~i~0))) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= 2 ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 16 main_~i~0)) 15))))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {415#(and (or (not (= 16 (+ |main_~#volArray~0.offset| (* 16 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16))))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (= 16 (+ |main_~#volArray~0.offset| (* 16 main_~i~0))) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= 2 ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 16 main_~i~0)) 15))))} is VALID [2018-11-23 12:21:12,204 INFO L273 TraceCheckUtils]: 12: Hoare triple {415#(and (or (not (= 16 (+ |main_~#volArray~0.offset| (* 16 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16))))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (= 16 (+ |main_~#volArray~0.offset| (* 16 main_~i~0))) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= 2 ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 16 main_~i~0)) 15))))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {415#(and (or (not (= 16 (+ |main_~#volArray~0.offset| (* 16 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16))))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (= 16 (+ |main_~#volArray~0.offset| (* 16 main_~i~0))) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= 2 ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 16 main_~i~0)) 15))))} is VALID [2018-11-23 12:21:12,206 INFO L273 TraceCheckUtils]: 13: Hoare triple {415#(and (or (not (= 16 (+ |main_~#volArray~0.offset| (* 16 main_~i~0)))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16))))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)) (or (= 16 (+ |main_~#volArray~0.offset| (* 16 main_~i~0))) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= 2 ~CELLCOUNT~0) (<= (+ |main_~#volArray~0.offset| (* 16 main_~i~0)) 15))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {416#(and (= |main_~#volArray~0.offset| 0) (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (and (<= (* 4 main_~i~0) (+ ~CELLCOUNT~0 2)) (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:12,207 INFO L273 TraceCheckUtils]: 14: Hoare triple {416#(and (= |main_~#volArray~0.offset| 0) (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (and (<= (* 4 main_~i~0) (+ ~CELLCOUNT~0 2)) (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))))) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {417#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} is VALID [2018-11-23 12:21:12,209 INFO L273 TraceCheckUtils]: 15: Hoare triple {417#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} ~i~0 := 0; {418#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:12,210 INFO L273 TraceCheckUtils]: 16: Hoare triple {418#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {419#(and |main_#t~short6| (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:12,211 INFO L273 TraceCheckUtils]: 17: Hoare triple {419#(and |main_#t~short6| (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {412#false} is VALID [2018-11-23 12:21:12,212 INFO L256 TraceCheckUtils]: 18: Hoare triple {412#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {412#false} is VALID [2018-11-23 12:21:12,212 INFO L273 TraceCheckUtils]: 19: Hoare triple {412#false} ~cond := #in~cond; {412#false} is VALID [2018-11-23 12:21:12,213 INFO L273 TraceCheckUtils]: 20: Hoare triple {412#false} assume 0 == ~cond; {412#false} is VALID [2018-11-23 12:21:12,213 INFO L273 TraceCheckUtils]: 21: Hoare triple {412#false} assume !false; {412#false} is VALID [2018-11-23 12:21:12,219 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:12,219 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:21:12,219 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:21:12,240 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:12,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:12,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:12,288 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:21:12,453 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:21:12,461 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:21:12,465 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:12,470 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:12,492 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:12,493 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:19 [2018-11-23 12:21:12,498 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:12,498 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_21|, main_~CCCELVOL4~0]. (and (= |#memory_int| (store |v_#memory_int_21| |main_~#volArray~0.base| (store (select |v_#memory_int_21| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)) main_~CCCELVOL4~0))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 main_~CCCELVOL4~0)) [2018-11-23 12:21:12,499 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:21:12,622 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:21:12,635 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:12,640 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:21:12,650 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:12,660 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:12,672 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:12,673 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-23 12:21:12,676 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:12,677 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_22|, main_~CCCELVOL3~0]. (let ((.cse0 (select |v_#memory_int_22| |main_~#volArray~0.base|)) (.cse1 (* 16 main_~i~0))) (and (<= main_~MINVAL~0 (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 16)))) (= |#memory_int| (store |v_#memory_int_22| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 12)) main_~CCCELVOL3~0))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))) [2018-11-23 12:21:12,677 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:21:12,726 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:21:12,756 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:12,759 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:21:12,767 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:12,785 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:12,803 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:12,803 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-23 12:21:12,808 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:12,808 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_23|, main_~CCCELVOL2~0]. (let ((.cse0 (select |v_#memory_int_23| |main_~#volArray~0.base|)) (.cse1 (* 16 main_~i~0))) (and (= |#memory_int| (store |v_#memory_int_23| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 8)) main_~CCCELVOL2~0))) (<= main_~MINVAL~0 (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))) [2018-11-23 12:21:12,809 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:21:12,846 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 16 [2018-11-23 12:21:12,856 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:12,859 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 23 [2018-11-23 12:21:12,862 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:12,869 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:12,879 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:12,879 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:24, output treesize:11 [2018-11-23 12:21:12,882 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:12,883 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_24|, main_~CCCELVOL1~0]. (let ((.cse0 (select |v_#memory_int_24| |main_~#volArray~0.base|))) (and (= |#memory_int| (store |v_#memory_int_24| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| 12) main_~CCCELVOL1~0))) (<= main_~MINVAL~0 (select .cse0 |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0))) [2018-11-23 12:21:12,883 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|)) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:21:13,021 INFO L256 TraceCheckUtils]: 0: Hoare triple {411#true} call ULTIMATE.init(); {411#true} is VALID [2018-11-23 12:21:13,021 INFO L273 TraceCheckUtils]: 1: Hoare triple {411#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {411#true} is VALID [2018-11-23 12:21:13,021 INFO L273 TraceCheckUtils]: 2: Hoare triple {411#true} assume true; {411#true} is VALID [2018-11-23 12:21:13,022 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {411#true} {411#true} #89#return; {411#true} is VALID [2018-11-23 12:21:13,022 INFO L256 TraceCheckUtils]: 4: Hoare triple {411#true} call #t~ret7 := main(); {411#true} is VALID [2018-11-23 12:21:13,022 INFO L273 TraceCheckUtils]: 5: Hoare triple {411#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {411#true} is VALID [2018-11-23 12:21:13,023 INFO L273 TraceCheckUtils]: 6: Hoare triple {411#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {441#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:21:13,024 INFO L273 TraceCheckUtils]: 7: Hoare triple {441#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {445#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:13,035 INFO L273 TraceCheckUtils]: 8: Hoare triple {445#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {445#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:13,039 INFO L273 TraceCheckUtils]: 9: Hoare triple {445#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {452#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:13,040 INFO L273 TraceCheckUtils]: 10: Hoare triple {452#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {452#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:13,041 INFO L273 TraceCheckUtils]: 11: Hoare triple {452#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {452#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:13,062 INFO L273 TraceCheckUtils]: 12: Hoare triple {452#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {417#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} is VALID [2018-11-23 12:21:13,078 INFO L273 TraceCheckUtils]: 13: Hoare triple {417#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {417#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} is VALID [2018-11-23 12:21:13,083 INFO L273 TraceCheckUtils]: 14: Hoare triple {417#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {417#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} is VALID [2018-11-23 12:21:13,085 INFO L273 TraceCheckUtils]: 15: Hoare triple {417#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)))} ~i~0 := 0; {418#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:13,086 INFO L273 TraceCheckUtils]: 16: Hoare triple {418#(and (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {474#|main_#t~short6|} is VALID [2018-11-23 12:21:13,087 INFO L273 TraceCheckUtils]: 17: Hoare triple {474#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {412#false} is VALID [2018-11-23 12:21:13,087 INFO L256 TraceCheckUtils]: 18: Hoare triple {412#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {412#false} is VALID [2018-11-23 12:21:13,087 INFO L273 TraceCheckUtils]: 19: Hoare triple {412#false} ~cond := #in~cond; {412#false} is VALID [2018-11-23 12:21:13,087 INFO L273 TraceCheckUtils]: 20: Hoare triple {412#false} assume 0 == ~cond; {412#false} is VALID [2018-11-23 12:21:13,088 INFO L273 TraceCheckUtils]: 21: Hoare triple {412#false} assume !false; {412#false} is VALID [2018-11-23 12:21:13,089 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:13,109 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:21:13,110 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2018-11-23 12:21:13,110 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 22 [2018-11-23 12:21:13,110 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:13,111 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-23 12:21:13,170 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:13,170 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-23 12:21:13,170 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 12:21:13,171 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2018-11-23 12:21:13,171 INFO L87 Difference]: Start difference. First operand 32 states and 38 transitions. Second operand 13 states. [2018-11-23 12:21:15,543 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:15,544 INFO L93 Difference]: Finished difference Result 84 states and 111 transitions. [2018-11-23 12:21:15,544 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 12:21:15,544 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 22 [2018-11-23 12:21:15,544 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:15,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 12:21:15,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 103 transitions. [2018-11-23 12:21:15,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 12:21:15,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 103 transitions. [2018-11-23 12:21:15,559 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 103 transitions. [2018-11-23 12:21:15,778 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:15,783 INFO L225 Difference]: With dead ends: 84 [2018-11-23 12:21:15,783 INFO L226 Difference]: Without dead ends: 68 [2018-11-23 12:21:15,784 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 17 SyntacticMatches, 5 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=123, Invalid=339, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:21:15,785 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2018-11-23 12:21:15,854 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 41. [2018-11-23 12:21:15,854 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:15,855 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand 41 states. [2018-11-23 12:21:15,855 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 41 states. [2018-11-23 12:21:15,855 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 41 states. [2018-11-23 12:21:15,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:15,863 INFO L93 Difference]: Finished difference Result 68 states and 93 transitions. [2018-11-23 12:21:15,863 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 93 transitions. [2018-11-23 12:21:15,864 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:15,864 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:15,864 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 68 states. [2018-11-23 12:21:15,865 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 68 states. [2018-11-23 12:21:15,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:15,870 INFO L93 Difference]: Finished difference Result 68 states and 93 transitions. [2018-11-23 12:21:15,870 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 93 transitions. [2018-11-23 12:21:15,871 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:15,872 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:15,872 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:15,872 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:15,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 12:21:15,874 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 52 transitions. [2018-11-23 12:21:15,874 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 52 transitions. Word has length 22 [2018-11-23 12:21:15,875 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:15,875 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 52 transitions. [2018-11-23 12:21:15,875 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-23 12:21:15,875 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 52 transitions. [2018-11-23 12:21:15,876 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 12:21:15,876 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:15,876 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:15,877 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:15,877 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:15,877 INFO L82 PathProgramCache]: Analyzing trace with hash 243788438, now seen corresponding path program 1 times [2018-11-23 12:21:15,877 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:15,877 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:15,878 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:15,879 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:15,879 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:15,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:16,003 INFO L256 TraceCheckUtils]: 0: Hoare triple {806#true} call ULTIMATE.init(); {806#true} is VALID [2018-11-23 12:21:16,004 INFO L273 TraceCheckUtils]: 1: Hoare triple {806#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {806#true} is VALID [2018-11-23 12:21:16,004 INFO L273 TraceCheckUtils]: 2: Hoare triple {806#true} assume true; {806#true} is VALID [2018-11-23 12:21:16,004 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {806#true} {806#true} #89#return; {806#true} is VALID [2018-11-23 12:21:16,004 INFO L256 TraceCheckUtils]: 4: Hoare triple {806#true} call #t~ret7 := main(); {806#true} is VALID [2018-11-23 12:21:16,005 INFO L273 TraceCheckUtils]: 5: Hoare triple {806#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {806#true} is VALID [2018-11-23 12:21:16,006 INFO L273 TraceCheckUtils]: 6: Hoare triple {806#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {808#(<= (+ main_~CCCELVOL1~0 4) main_~CCCELVOL4~0)} is VALID [2018-11-23 12:21:16,006 INFO L273 TraceCheckUtils]: 7: Hoare triple {808#(<= (+ main_~CCCELVOL1~0 4) main_~CCCELVOL4~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {808#(<= (+ main_~CCCELVOL1~0 4) main_~CCCELVOL4~0)} is VALID [2018-11-23 12:21:16,007 INFO L273 TraceCheckUtils]: 8: Hoare triple {808#(<= (+ main_~CCCELVOL1~0 4) main_~CCCELVOL4~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {808#(<= (+ main_~CCCELVOL1~0 4) main_~CCCELVOL4~0)} is VALID [2018-11-23 12:21:16,008 INFO L273 TraceCheckUtils]: 9: Hoare triple {808#(<= (+ main_~CCCELVOL1~0 4) main_~CCCELVOL4~0)} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {809#(<= (+ main_~CCCELVOL1~0 5) main_~MINVAL~0)} is VALID [2018-11-23 12:21:16,009 INFO L273 TraceCheckUtils]: 10: Hoare triple {809#(<= (+ main_~CCCELVOL1~0 5) main_~MINVAL~0)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {809#(<= (+ main_~CCCELVOL1~0 5) main_~MINVAL~0)} is VALID [2018-11-23 12:21:16,010 INFO L273 TraceCheckUtils]: 11: Hoare triple {809#(<= (+ main_~CCCELVOL1~0 5) main_~MINVAL~0)} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {809#(<= (+ main_~CCCELVOL1~0 5) main_~MINVAL~0)} is VALID [2018-11-23 12:21:16,011 INFO L273 TraceCheckUtils]: 12: Hoare triple {809#(<= (+ main_~CCCELVOL1~0 5) main_~MINVAL~0)} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {807#false} is VALID [2018-11-23 12:21:16,012 INFO L273 TraceCheckUtils]: 13: Hoare triple {807#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {807#false} is VALID [2018-11-23 12:21:16,012 INFO L273 TraceCheckUtils]: 14: Hoare triple {807#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {807#false} is VALID [2018-11-23 12:21:16,012 INFO L273 TraceCheckUtils]: 15: Hoare triple {807#false} ~i~0 := 0; {807#false} is VALID [2018-11-23 12:21:16,013 INFO L273 TraceCheckUtils]: 16: Hoare triple {807#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {807#false} is VALID [2018-11-23 12:21:16,013 INFO L273 TraceCheckUtils]: 17: Hoare triple {807#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {807#false} is VALID [2018-11-23 12:21:16,013 INFO L256 TraceCheckUtils]: 18: Hoare triple {807#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {807#false} is VALID [2018-11-23 12:21:16,014 INFO L273 TraceCheckUtils]: 19: Hoare triple {807#false} ~cond := #in~cond; {807#false} is VALID [2018-11-23 12:21:16,014 INFO L273 TraceCheckUtils]: 20: Hoare triple {807#false} assume 0 == ~cond; {807#false} is VALID [2018-11-23 12:21:16,014 INFO L273 TraceCheckUtils]: 21: Hoare triple {807#false} assume !false; {807#false} is VALID [2018-11-23 12:21:16,015 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:16,015 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:21:16,016 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:21:16,016 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 22 [2018-11-23 12:21:16,016 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:16,016 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:21:16,043 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:16,044 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:21:16,044 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:21:16,044 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:21:16,045 INFO L87 Difference]: Start difference. First operand 41 states and 52 transitions. Second operand 4 states. [2018-11-23 12:21:16,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:16,473 INFO L93 Difference]: Finished difference Result 70 states and 90 transitions. [2018-11-23 12:21:16,473 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:21:16,474 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 22 [2018-11-23 12:21:16,474 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:16,474 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:21:16,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 75 transitions. [2018-11-23 12:21:16,476 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:21:16,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 75 transitions. [2018-11-23 12:21:16,479 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 75 transitions. [2018-11-23 12:21:16,635 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:16,638 INFO L225 Difference]: With dead ends: 70 [2018-11-23 12:21:16,638 INFO L226 Difference]: Without dead ends: 47 [2018-11-23 12:21:16,639 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:21:16,639 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2018-11-23 12:21:16,728 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 41. [2018-11-23 12:21:16,728 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:16,728 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 41 states. [2018-11-23 12:21:16,728 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 41 states. [2018-11-23 12:21:16,728 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 41 states. [2018-11-23 12:21:16,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:16,731 INFO L93 Difference]: Finished difference Result 47 states and 60 transitions. [2018-11-23 12:21:16,732 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 60 transitions. [2018-11-23 12:21:16,732 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:16,732 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:16,732 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 47 states. [2018-11-23 12:21:16,733 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 47 states. [2018-11-23 12:21:16,735 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:16,735 INFO L93 Difference]: Finished difference Result 47 states and 60 transitions. [2018-11-23 12:21:16,736 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 60 transitions. [2018-11-23 12:21:16,736 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:16,737 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:16,737 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:16,737 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:16,737 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 12:21:16,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 51 transitions. [2018-11-23 12:21:16,739 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 51 transitions. Word has length 22 [2018-11-23 12:21:16,739 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:16,740 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 51 transitions. [2018-11-23 12:21:16,740 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:21:16,740 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 51 transitions. [2018-11-23 12:21:16,740 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 12:21:16,741 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:16,741 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:16,741 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:16,741 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:16,742 INFO L82 PathProgramCache]: Analyzing trace with hash -149238572, now seen corresponding path program 1 times [2018-11-23 12:21:16,742 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:16,742 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:16,743 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:16,743 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:16,743 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:16,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:16,836 INFO L256 TraceCheckUtils]: 0: Hoare triple {1054#true} call ULTIMATE.init(); {1054#true} is VALID [2018-11-23 12:21:16,836 INFO L273 TraceCheckUtils]: 1: Hoare triple {1054#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {1054#true} is VALID [2018-11-23 12:21:16,836 INFO L273 TraceCheckUtils]: 2: Hoare triple {1054#true} assume true; {1054#true} is VALID [2018-11-23 12:21:16,837 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1054#true} {1054#true} #89#return; {1054#true} is VALID [2018-11-23 12:21:16,837 INFO L256 TraceCheckUtils]: 4: Hoare triple {1054#true} call #t~ret7 := main(); {1054#true} is VALID [2018-11-23 12:21:16,838 INFO L273 TraceCheckUtils]: 5: Hoare triple {1054#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {1054#true} is VALID [2018-11-23 12:21:16,839 INFO L273 TraceCheckUtils]: 6: Hoare triple {1054#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {1056#(<= (+ main_~CCCELVOL2~0 2) main_~CCCELVOL4~0)} is VALID [2018-11-23 12:21:16,840 INFO L273 TraceCheckUtils]: 7: Hoare triple {1056#(<= (+ main_~CCCELVOL2~0 2) main_~CCCELVOL4~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {1056#(<= (+ main_~CCCELVOL2~0 2) main_~CCCELVOL4~0)} is VALID [2018-11-23 12:21:16,844 INFO L273 TraceCheckUtils]: 8: Hoare triple {1056#(<= (+ main_~CCCELVOL2~0 2) main_~CCCELVOL4~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {1056#(<= (+ main_~CCCELVOL2~0 2) main_~CCCELVOL4~0)} is VALID [2018-11-23 12:21:16,846 INFO L273 TraceCheckUtils]: 9: Hoare triple {1056#(<= (+ main_~CCCELVOL2~0 2) main_~CCCELVOL4~0)} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {1057#(<= (+ main_~CCCELVOL2~0 3) main_~MINVAL~0)} is VALID [2018-11-23 12:21:16,849 INFO L273 TraceCheckUtils]: 10: Hoare triple {1057#(<= (+ main_~CCCELVOL2~0 3) main_~MINVAL~0)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {1057#(<= (+ main_~CCCELVOL2~0 3) main_~MINVAL~0)} is VALID [2018-11-23 12:21:16,867 INFO L273 TraceCheckUtils]: 11: Hoare triple {1057#(<= (+ main_~CCCELVOL2~0 3) main_~MINVAL~0)} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {1055#false} is VALID [2018-11-23 12:21:16,867 INFO L273 TraceCheckUtils]: 12: Hoare triple {1055#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {1055#false} is VALID [2018-11-23 12:21:16,868 INFO L273 TraceCheckUtils]: 13: Hoare triple {1055#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1055#false} is VALID [2018-11-23 12:21:16,868 INFO L273 TraceCheckUtils]: 14: Hoare triple {1055#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {1055#false} is VALID [2018-11-23 12:21:16,868 INFO L273 TraceCheckUtils]: 15: Hoare triple {1055#false} ~i~0 := 0; {1055#false} is VALID [2018-11-23 12:21:16,868 INFO L273 TraceCheckUtils]: 16: Hoare triple {1055#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {1055#false} is VALID [2018-11-23 12:21:16,868 INFO L273 TraceCheckUtils]: 17: Hoare triple {1055#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {1055#false} is VALID [2018-11-23 12:21:16,869 INFO L256 TraceCheckUtils]: 18: Hoare triple {1055#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {1055#false} is VALID [2018-11-23 12:21:16,869 INFO L273 TraceCheckUtils]: 19: Hoare triple {1055#false} ~cond := #in~cond; {1055#false} is VALID [2018-11-23 12:21:16,869 INFO L273 TraceCheckUtils]: 20: Hoare triple {1055#false} assume 0 == ~cond; {1055#false} is VALID [2018-11-23 12:21:16,869 INFO L273 TraceCheckUtils]: 21: Hoare triple {1055#false} assume !false; {1055#false} is VALID [2018-11-23 12:21:16,870 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:16,870 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:21:16,871 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:21:16,871 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 22 [2018-11-23 12:21:16,871 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:16,871 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:21:16,907 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:16,907 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:21:16,908 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:21:16,908 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:21:16,908 INFO L87 Difference]: Start difference. First operand 41 states and 51 transitions. Second operand 4 states. [2018-11-23 12:21:17,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:17,392 INFO L93 Difference]: Finished difference Result 70 states and 88 transitions. [2018-11-23 12:21:17,392 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:21:17,392 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 22 [2018-11-23 12:21:17,393 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:17,393 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:21:17,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 73 transitions. [2018-11-23 12:21:17,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:21:17,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 73 transitions. [2018-11-23 12:21:17,397 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 73 transitions. [2018-11-23 12:21:17,472 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-23 12:21:17,475 INFO L225 Difference]: With dead ends: 70 [2018-11-23 12:21:17,475 INFO L226 Difference]: Without dead ends: 47 [2018-11-23 12:21:17,475 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:21:17,476 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2018-11-23 12:21:17,571 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 41. [2018-11-23 12:21:17,571 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:17,571 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 41 states. [2018-11-23 12:21:17,572 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 41 states. [2018-11-23 12:21:17,572 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 41 states. [2018-11-23 12:21:17,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:17,575 INFO L93 Difference]: Finished difference Result 47 states and 59 transitions. [2018-11-23 12:21:17,575 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 59 transitions. [2018-11-23 12:21:17,576 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:17,576 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:17,576 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 47 states. [2018-11-23 12:21:17,576 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 47 states. [2018-11-23 12:21:17,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:17,579 INFO L93 Difference]: Finished difference Result 47 states and 59 transitions. [2018-11-23 12:21:17,579 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 59 transitions. [2018-11-23 12:21:17,579 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:17,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:17,580 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:17,580 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:17,580 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 12:21:17,581 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 50 transitions. [2018-11-23 12:21:17,582 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 50 transitions. Word has length 22 [2018-11-23 12:21:17,582 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:17,582 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 50 transitions. [2018-11-23 12:21:17,582 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:21:17,582 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 50 transitions. [2018-11-23 12:21:17,583 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 12:21:17,583 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:17,583 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:17,583 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:17,584 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:17,584 INFO L82 PathProgramCache]: Analyzing trace with hash 551826006, now seen corresponding path program 1 times [2018-11-23 12:21:17,584 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:17,584 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:17,585 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:17,585 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:17,585 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:17,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:18,163 INFO L256 TraceCheckUtils]: 0: Hoare triple {1302#true} call ULTIMATE.init(); {1302#true} is VALID [2018-11-23 12:21:18,164 INFO L273 TraceCheckUtils]: 1: Hoare triple {1302#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {1302#true} is VALID [2018-11-23 12:21:18,164 INFO L273 TraceCheckUtils]: 2: Hoare triple {1302#true} assume true; {1302#true} is VALID [2018-11-23 12:21:18,164 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1302#true} {1302#true} #89#return; {1302#true} is VALID [2018-11-23 12:21:18,164 INFO L256 TraceCheckUtils]: 4: Hoare triple {1302#true} call #t~ret7 := main(); {1302#true} is VALID [2018-11-23 12:21:18,165 INFO L273 TraceCheckUtils]: 5: Hoare triple {1302#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {1302#true} is VALID [2018-11-23 12:21:18,179 INFO L273 TraceCheckUtils]: 6: Hoare triple {1302#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {1304#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:18,180 INFO L273 TraceCheckUtils]: 7: Hoare triple {1304#(and (<= 2 ~CELLCOUNT~0) (= |main_~#volArray~0.offset| 0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {1305#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:18,183 INFO L273 TraceCheckUtils]: 8: Hoare triple {1305#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {1305#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:18,184 INFO L273 TraceCheckUtils]: 9: Hoare triple {1305#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {1306#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:18,185 INFO L273 TraceCheckUtils]: 10: Hoare triple {1306#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {1306#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:18,186 INFO L273 TraceCheckUtils]: 11: Hoare triple {1306#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {1306#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:18,195 INFO L273 TraceCheckUtils]: 12: Hoare triple {1306#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {1306#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:18,196 INFO L273 TraceCheckUtils]: 13: Hoare triple {1306#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1307#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (and (<= (* 4 main_~i~0) (+ ~CELLCOUNT~0 2)) (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:18,197 INFO L273 TraceCheckUtils]: 14: Hoare triple {1307#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (and (<= (* 4 main_~i~0) (+ ~CELLCOUNT~0 2)) (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))))) (= |main_~#volArray~0.offset| 0) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {1308#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:18,198 INFO L273 TraceCheckUtils]: 15: Hoare triple {1308#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) 0)) (= |main_~#volArray~0.offset| 0))} ~i~0 := 0; {1309#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:18,199 INFO L273 TraceCheckUtils]: 16: Hoare triple {1309#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {1309#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:18,199 INFO L273 TraceCheckUtils]: 17: Hoare triple {1309#(and (= |main_~#volArray~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))) (= main_~i~0 0))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {1310#|main_#t~short6|} is VALID [2018-11-23 12:21:18,200 INFO L256 TraceCheckUtils]: 18: Hoare triple {1310#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {1311#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:21:18,200 INFO L273 TraceCheckUtils]: 19: Hoare triple {1311#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1312#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:21:18,201 INFO L273 TraceCheckUtils]: 20: Hoare triple {1312#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1303#false} is VALID [2018-11-23 12:21:18,201 INFO L273 TraceCheckUtils]: 21: Hoare triple {1303#false} assume !false; {1303#false} is VALID [2018-11-23 12:21:18,203 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:18,204 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:21:18,204 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:21:18,213 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:18,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:18,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:18,271 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:21:18,372 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:21:18,412 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:21:18,442 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:18,476 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:18,519 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:18,519 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-23 12:21:18,555 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:21:18,559 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:18,562 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:21:18,566 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:18,572 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:18,582 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:18,583 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-23 12:21:18,586 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:18,586 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_26|, main_~CCCELVOL3~0]. (let ((.cse0 (select |v_#memory_int_26| |main_~#volArray~0.base|)) (.cse1 (* 16 main_~i~0))) (and (= |#memory_int| (store |v_#memory_int_26| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 12)) main_~CCCELVOL3~0))) (= 0 (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))) [2018-11-23 12:21:18,586 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:21:18,598 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:21:18,603 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:18,604 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:21:18,637 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:18,656 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:18,665 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:18,666 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-23 12:21:18,730 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 23 [2018-11-23 12:21:18,740 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:18,741 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:18,742 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:18,744 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 46 [2018-11-23 12:21:18,747 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:18,758 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:18,765 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:18,766 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:33, output treesize:29 [2018-11-23 12:21:18,935 INFO L256 TraceCheckUtils]: 0: Hoare triple {1302#true} call ULTIMATE.init(); {1302#true} is VALID [2018-11-23 12:21:18,935 INFO L273 TraceCheckUtils]: 1: Hoare triple {1302#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {1302#true} is VALID [2018-11-23 12:21:18,936 INFO L273 TraceCheckUtils]: 2: Hoare triple {1302#true} assume true; {1302#true} is VALID [2018-11-23 12:21:18,936 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1302#true} {1302#true} #89#return; {1302#true} is VALID [2018-11-23 12:21:18,936 INFO L256 TraceCheckUtils]: 4: Hoare triple {1302#true} call #t~ret7 := main(); {1302#true} is VALID [2018-11-23 12:21:18,937 INFO L273 TraceCheckUtils]: 5: Hoare triple {1302#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {1302#true} is VALID [2018-11-23 12:21:18,937 INFO L273 TraceCheckUtils]: 6: Hoare triple {1302#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {1334#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:21:18,938 INFO L273 TraceCheckUtils]: 7: Hoare triple {1334#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {1338#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:18,939 INFO L273 TraceCheckUtils]: 8: Hoare triple {1338#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {1338#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:18,940 INFO L273 TraceCheckUtils]: 9: Hoare triple {1338#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {1345#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:18,940 INFO L273 TraceCheckUtils]: 10: Hoare triple {1345#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {1345#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:18,942 INFO L273 TraceCheckUtils]: 11: Hoare triple {1345#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {1352#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:18,943 INFO L273 TraceCheckUtils]: 12: Hoare triple {1352#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {1356#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0))} is VALID [2018-11-23 12:21:18,944 INFO L273 TraceCheckUtils]: 13: Hoare triple {1356#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1356#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0))} is VALID [2018-11-23 12:21:18,955 INFO L273 TraceCheckUtils]: 14: Hoare triple {1356#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {1356#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0))} is VALID [2018-11-23 12:21:18,956 INFO L273 TraceCheckUtils]: 15: Hoare triple {1356#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0))} ~i~0 := 0; {1366#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:18,957 INFO L273 TraceCheckUtils]: 16: Hoare triple {1366#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {1366#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:18,959 INFO L273 TraceCheckUtils]: 17: Hoare triple {1366#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) |main_~#volArray~0.offset|) 0) (= main_~i~0 0))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {1310#|main_#t~short6|} is VALID [2018-11-23 12:21:18,960 INFO L256 TraceCheckUtils]: 18: Hoare triple {1310#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {1376#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:21:18,960 INFO L273 TraceCheckUtils]: 19: Hoare triple {1376#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1380#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:21:18,960 INFO L273 TraceCheckUtils]: 20: Hoare triple {1380#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1303#false} is VALID [2018-11-23 12:21:18,961 INFO L273 TraceCheckUtils]: 21: Hoare triple {1303#false} assume !false; {1303#false} is VALID [2018-11-23 12:21:18,962 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:18,981 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:21:18,981 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 19 [2018-11-23 12:21:18,981 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 22 [2018-11-23 12:21:18,982 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:18,982 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-23 12:21:19,027 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:19,027 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-23 12:21:19,028 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-23 12:21:19,028 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=278, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:21:19,028 INFO L87 Difference]: Start difference. First operand 41 states and 50 transitions. Second operand 19 states. [2018-11-23 12:21:21,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:21,474 INFO L93 Difference]: Finished difference Result 84 states and 109 transitions. [2018-11-23 12:21:21,474 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 12:21:21,475 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 22 [2018-11-23 12:21:21,475 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:21,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:21:21,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 92 transitions. [2018-11-23 12:21:21,478 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:21:21,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 92 transitions. [2018-11-23 12:21:21,481 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 92 transitions. [2018-11-23 12:21:21,718 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:21,720 INFO L225 Difference]: With dead ends: 84 [2018-11-23 12:21:21,720 INFO L226 Difference]: Without dead ends: 82 [2018-11-23 12:21:21,721 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 15 SyntacticMatches, 3 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 191 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=194, Invalid=736, Unknown=0, NotChecked=0, Total=930 [2018-11-23 12:21:21,721 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2018-11-23 12:21:21,813 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 51. [2018-11-23 12:21:21,814 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:21,814 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand 51 states. [2018-11-23 12:21:21,814 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 51 states. [2018-11-23 12:21:21,814 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 51 states. [2018-11-23 12:21:21,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:21,819 INFO L93 Difference]: Finished difference Result 82 states and 107 transitions. [2018-11-23 12:21:21,819 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 107 transitions. [2018-11-23 12:21:21,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:21,820 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:21,821 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 82 states. [2018-11-23 12:21:21,821 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 82 states. [2018-11-23 12:21:21,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:21,825 INFO L93 Difference]: Finished difference Result 82 states and 107 transitions. [2018-11-23 12:21:21,825 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 107 transitions. [2018-11-23 12:21:21,826 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:21,826 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:21,826 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:21,826 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:21,826 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-23 12:21:21,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 65 transitions. [2018-11-23 12:21:21,828 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 65 transitions. Word has length 22 [2018-11-23 12:21:21,828 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:21,829 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 65 transitions. [2018-11-23 12:21:21,829 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-23 12:21:21,829 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2018-11-23 12:21:21,829 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 12:21:21,829 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:21,830 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:21,830 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:21,830 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:21,830 INFO L82 PathProgramCache]: Analyzing trace with hash -927487005, now seen corresponding path program 1 times [2018-11-23 12:21:21,830 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:21,830 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:21,831 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:21,831 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:21,832 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:21,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:21,889 INFO L256 TraceCheckUtils]: 0: Hoare triple {1748#true} call ULTIMATE.init(); {1748#true} is VALID [2018-11-23 12:21:21,889 INFO L273 TraceCheckUtils]: 1: Hoare triple {1748#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {1748#true} is VALID [2018-11-23 12:21:21,890 INFO L273 TraceCheckUtils]: 2: Hoare triple {1748#true} assume true; {1748#true} is VALID [2018-11-23 12:21:21,890 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1748#true} {1748#true} #89#return; {1748#true} is VALID [2018-11-23 12:21:21,890 INFO L256 TraceCheckUtils]: 4: Hoare triple {1748#true} call #t~ret7 := main(); {1748#true} is VALID [2018-11-23 12:21:21,890 INFO L273 TraceCheckUtils]: 5: Hoare triple {1748#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {1748#true} is VALID [2018-11-23 12:21:21,890 INFO L273 TraceCheckUtils]: 6: Hoare triple {1748#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {1748#true} is VALID [2018-11-23 12:21:21,890 INFO L273 TraceCheckUtils]: 7: Hoare triple {1748#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {1748#true} is VALID [2018-11-23 12:21:21,891 INFO L273 TraceCheckUtils]: 8: Hoare triple {1748#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {1748#true} is VALID [2018-11-23 12:21:21,891 INFO L273 TraceCheckUtils]: 9: Hoare triple {1748#true} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {1750#(< main_~MINVAL~0 (+ main_~CCCELVOL4~0 1))} is VALID [2018-11-23 12:21:21,892 INFO L273 TraceCheckUtils]: 10: Hoare triple {1750#(< main_~MINVAL~0 (+ main_~CCCELVOL4~0 1))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {1750#(< main_~MINVAL~0 (+ main_~CCCELVOL4~0 1))} is VALID [2018-11-23 12:21:21,892 INFO L273 TraceCheckUtils]: 11: Hoare triple {1750#(< main_~MINVAL~0 (+ main_~CCCELVOL4~0 1))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {1750#(< main_~MINVAL~0 (+ main_~CCCELVOL4~0 1))} is VALID [2018-11-23 12:21:21,892 INFO L273 TraceCheckUtils]: 12: Hoare triple {1750#(< main_~MINVAL~0 (+ main_~CCCELVOL4~0 1))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {1750#(< main_~MINVAL~0 (+ main_~CCCELVOL4~0 1))} is VALID [2018-11-23 12:21:21,893 INFO L273 TraceCheckUtils]: 13: Hoare triple {1750#(< main_~MINVAL~0 (+ main_~CCCELVOL4~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1750#(< main_~MINVAL~0 (+ main_~CCCELVOL4~0 1))} is VALID [2018-11-23 12:21:21,893 INFO L273 TraceCheckUtils]: 14: Hoare triple {1750#(< main_~MINVAL~0 (+ main_~CCCELVOL4~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {1750#(< main_~MINVAL~0 (+ main_~CCCELVOL4~0 1))} is VALID [2018-11-23 12:21:21,894 INFO L273 TraceCheckUtils]: 15: Hoare triple {1750#(< main_~MINVAL~0 (+ main_~CCCELVOL4~0 1))} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {1749#false} is VALID [2018-11-23 12:21:21,894 INFO L273 TraceCheckUtils]: 16: Hoare triple {1749#false} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {1749#false} is VALID [2018-11-23 12:21:21,894 INFO L273 TraceCheckUtils]: 17: Hoare triple {1749#false} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {1749#false} is VALID [2018-11-23 12:21:21,894 INFO L273 TraceCheckUtils]: 18: Hoare triple {1749#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {1749#false} is VALID [2018-11-23 12:21:21,894 INFO L273 TraceCheckUtils]: 19: Hoare triple {1749#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1749#false} is VALID [2018-11-23 12:21:21,894 INFO L273 TraceCheckUtils]: 20: Hoare triple {1749#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {1749#false} is VALID [2018-11-23 12:21:21,894 INFO L273 TraceCheckUtils]: 21: Hoare triple {1749#false} ~i~0 := 0; {1749#false} is VALID [2018-11-23 12:21:21,895 INFO L273 TraceCheckUtils]: 22: Hoare triple {1749#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {1749#false} is VALID [2018-11-23 12:21:21,895 INFO L273 TraceCheckUtils]: 23: Hoare triple {1749#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {1749#false} is VALID [2018-11-23 12:21:21,895 INFO L256 TraceCheckUtils]: 24: Hoare triple {1749#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {1749#false} is VALID [2018-11-23 12:21:21,896 INFO L273 TraceCheckUtils]: 25: Hoare triple {1749#false} ~cond := #in~cond; {1749#false} is VALID [2018-11-23 12:21:21,896 INFO L273 TraceCheckUtils]: 26: Hoare triple {1749#false} assume 0 == ~cond; {1749#false} is VALID [2018-11-23 12:21:21,896 INFO L273 TraceCheckUtils]: 27: Hoare triple {1749#false} assume !false; {1749#false} is VALID [2018-11-23 12:21:21,898 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:21,898 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:21:21,898 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:21:21,899 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 28 [2018-11-23 12:21:21,899 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:21,899 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:21:21,950 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:21,951 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:21:21,951 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:21:21,951 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:21:21,951 INFO L87 Difference]: Start difference. First operand 51 states and 65 transitions. Second operand 3 states. [2018-11-23 12:21:22,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:22,241 INFO L93 Difference]: Finished difference Result 80 states and 101 transitions. [2018-11-23 12:21:22,241 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:21:22,241 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 28 [2018-11-23 12:21:22,241 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:22,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:21:22,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 71 transitions. [2018-11-23 12:21:22,243 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:21:22,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 71 transitions. [2018-11-23 12:21:22,245 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 71 transitions. [2018-11-23 12:21:22,337 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:22,339 INFO L225 Difference]: With dead ends: 80 [2018-11-23 12:21:22,339 INFO L226 Difference]: Without dead ends: 57 [2018-11-23 12:21:22,340 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:21:22,341 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2018-11-23 12:21:22,435 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 51. [2018-11-23 12:21:22,435 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:22,436 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 51 states. [2018-11-23 12:21:22,436 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 51 states. [2018-11-23 12:21:22,436 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 51 states. [2018-11-23 12:21:22,439 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:22,439 INFO L93 Difference]: Finished difference Result 57 states and 72 transitions. [2018-11-23 12:21:22,439 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 72 transitions. [2018-11-23 12:21:22,440 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:22,440 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:22,440 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 57 states. [2018-11-23 12:21:22,440 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 57 states. [2018-11-23 12:21:22,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:22,443 INFO L93 Difference]: Finished difference Result 57 states and 72 transitions. [2018-11-23 12:21:22,443 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 72 transitions. [2018-11-23 12:21:22,444 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:22,444 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:22,444 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:22,444 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:22,444 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-23 12:21:22,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 63 transitions. [2018-11-23 12:21:22,447 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 63 transitions. Word has length 28 [2018-11-23 12:21:22,447 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:22,447 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 63 transitions. [2018-11-23 12:21:22,447 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:21:22,447 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 63 transitions. [2018-11-23 12:21:22,448 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 12:21:22,448 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:22,448 INFO L402 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] [2018-11-23 12:21:22,448 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:22,449 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:22,449 INFO L82 PathProgramCache]: Analyzing trace with hash -344073693, now seen corresponding path program 1 times [2018-11-23 12:21:22,449 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:22,449 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:22,450 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:22,450 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:22,450 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:22,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:22,544 INFO L256 TraceCheckUtils]: 0: Hoare triple {2037#true} call ULTIMATE.init(); {2037#true} is VALID [2018-11-23 12:21:22,544 INFO L273 TraceCheckUtils]: 1: Hoare triple {2037#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {2037#true} is VALID [2018-11-23 12:21:22,544 INFO L273 TraceCheckUtils]: 2: Hoare triple {2037#true} assume true; {2037#true} is VALID [2018-11-23 12:21:22,545 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2037#true} {2037#true} #89#return; {2037#true} is VALID [2018-11-23 12:21:22,545 INFO L256 TraceCheckUtils]: 4: Hoare triple {2037#true} call #t~ret7 := main(); {2037#true} is VALID [2018-11-23 12:21:22,545 INFO L273 TraceCheckUtils]: 5: Hoare triple {2037#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {2037#true} is VALID [2018-11-23 12:21:22,545 INFO L273 TraceCheckUtils]: 6: Hoare triple {2037#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {2037#true} is VALID [2018-11-23 12:21:22,545 INFO L273 TraceCheckUtils]: 7: Hoare triple {2037#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {2037#true} is VALID [2018-11-23 12:21:22,546 INFO L273 TraceCheckUtils]: 8: Hoare triple {2037#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {2037#true} is VALID [2018-11-23 12:21:22,547 INFO L273 TraceCheckUtils]: 9: Hoare triple {2037#true} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {2039#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:22,547 INFO L273 TraceCheckUtils]: 10: Hoare triple {2039#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {2039#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:22,552 INFO L273 TraceCheckUtils]: 11: Hoare triple {2039#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {2039#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:22,553 INFO L273 TraceCheckUtils]: 12: Hoare triple {2039#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {2039#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:22,553 INFO L273 TraceCheckUtils]: 13: Hoare triple {2039#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2039#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:22,554 INFO L273 TraceCheckUtils]: 14: Hoare triple {2039#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {2039#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:21:22,554 INFO L273 TraceCheckUtils]: 15: Hoare triple {2039#(<= (+ main_~CCCELVOL4~0 1) main_~MINVAL~0)} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {2038#false} is VALID [2018-11-23 12:21:22,555 INFO L273 TraceCheckUtils]: 16: Hoare triple {2038#false} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {2038#false} is VALID [2018-11-23 12:21:22,555 INFO L273 TraceCheckUtils]: 17: Hoare triple {2038#false} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {2038#false} is VALID [2018-11-23 12:21:22,555 INFO L273 TraceCheckUtils]: 18: Hoare triple {2038#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {2038#false} is VALID [2018-11-23 12:21:22,555 INFO L273 TraceCheckUtils]: 19: Hoare triple {2038#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2038#false} is VALID [2018-11-23 12:21:22,556 INFO L273 TraceCheckUtils]: 20: Hoare triple {2038#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {2038#false} is VALID [2018-11-23 12:21:22,556 INFO L273 TraceCheckUtils]: 21: Hoare triple {2038#false} ~i~0 := 0; {2038#false} is VALID [2018-11-23 12:21:22,556 INFO L273 TraceCheckUtils]: 22: Hoare triple {2038#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {2038#false} is VALID [2018-11-23 12:21:22,557 INFO L273 TraceCheckUtils]: 23: Hoare triple {2038#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {2038#false} is VALID [2018-11-23 12:21:22,557 INFO L256 TraceCheckUtils]: 24: Hoare triple {2038#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2038#false} is VALID [2018-11-23 12:21:22,557 INFO L273 TraceCheckUtils]: 25: Hoare triple {2038#false} ~cond := #in~cond; {2038#false} is VALID [2018-11-23 12:21:22,557 INFO L273 TraceCheckUtils]: 26: Hoare triple {2038#false} assume 0 == ~cond; {2038#false} is VALID [2018-11-23 12:21:22,557 INFO L273 TraceCheckUtils]: 27: Hoare triple {2038#false} assume !false; {2038#false} is VALID [2018-11-23 12:21:22,559 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:22,559 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:21:22,559 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:21:22,559 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 28 [2018-11-23 12:21:22,560 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:22,560 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:21:22,597 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:22,598 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:21:22,598 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:21:22,598 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:21:22,598 INFO L87 Difference]: Start difference. First operand 51 states and 63 transitions. Second operand 3 states. [2018-11-23 12:21:22,929 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:22,929 INFO L93 Difference]: Finished difference Result 73 states and 89 transitions. [2018-11-23 12:21:22,929 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:21:22,929 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 28 [2018-11-23 12:21:22,930 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:22,930 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:21:22,931 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 70 transitions. [2018-11-23 12:21:22,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:21:22,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 70 transitions. [2018-11-23 12:21:22,933 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 70 transitions. [2018-11-23 12:21:23,027 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:23,028 INFO L225 Difference]: With dead ends: 73 [2018-11-23 12:21:23,029 INFO L226 Difference]: Without dead ends: 50 [2018-11-23 12:21:23,029 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:21:23,030 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2018-11-23 12:21:23,172 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 44. [2018-11-23 12:21:23,173 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:23,173 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand 44 states. [2018-11-23 12:21:23,173 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 44 states. [2018-11-23 12:21:23,173 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 44 states. [2018-11-23 12:21:23,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:23,176 INFO L93 Difference]: Finished difference Result 50 states and 62 transitions. [2018-11-23 12:21:23,176 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 62 transitions. [2018-11-23 12:21:23,177 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:23,177 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:23,177 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 50 states. [2018-11-23 12:21:23,177 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 50 states. [2018-11-23 12:21:23,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:23,180 INFO L93 Difference]: Finished difference Result 50 states and 62 transitions. [2018-11-23 12:21:23,180 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 62 transitions. [2018-11-23 12:21:23,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:23,180 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:23,180 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:23,180 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:23,181 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 44 states. [2018-11-23 12:21:23,182 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 53 transitions. [2018-11-23 12:21:23,182 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 53 transitions. Word has length 28 [2018-11-23 12:21:23,182 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:23,182 INFO L480 AbstractCegarLoop]: Abstraction has 44 states and 53 transitions. [2018-11-23 12:21:23,183 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:21:23,183 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 53 transitions. [2018-11-23 12:21:23,183 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2018-11-23 12:21:23,183 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:23,184 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:23,184 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:23,184 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:23,184 INFO L82 PathProgramCache]: Analyzing trace with hash -183866139, now seen corresponding path program 1 times [2018-11-23 12:21:23,184 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:23,184 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:23,185 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:23,185 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:23,185 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:23,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:23,581 WARN L180 SmtUtils]: Spent 169.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 26 [2018-11-23 12:21:23,783 INFO L256 TraceCheckUtils]: 0: Hoare triple {2296#true} call ULTIMATE.init(); {2296#true} is VALID [2018-11-23 12:21:23,783 INFO L273 TraceCheckUtils]: 1: Hoare triple {2296#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {2296#true} is VALID [2018-11-23 12:21:23,783 INFO L273 TraceCheckUtils]: 2: Hoare triple {2296#true} assume true; {2296#true} is VALID [2018-11-23 12:21:23,784 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2296#true} {2296#true} #89#return; {2296#true} is VALID [2018-11-23 12:21:23,784 INFO L256 TraceCheckUtils]: 4: Hoare triple {2296#true} call #t~ret7 := main(); {2296#true} is VALID [2018-11-23 12:21:23,784 INFO L273 TraceCheckUtils]: 5: Hoare triple {2296#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {2296#true} is VALID [2018-11-23 12:21:23,785 INFO L273 TraceCheckUtils]: 6: Hoare triple {2296#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {2298#(and (<= 2 ~CELLCOUNT~0) (<= (+ main_~CCCELVOL1~0 6) main_~CCCELVOL3~0))} is VALID [2018-11-23 12:21:23,786 INFO L273 TraceCheckUtils]: 7: Hoare triple {2298#(and (<= 2 ~CELLCOUNT~0) (<= (+ main_~CCCELVOL1~0 6) main_~CCCELVOL3~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {2299#(and (<= (+ main_~CCCELVOL1~0 6) main_~CCCELVOL3~0) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:23,786 INFO L273 TraceCheckUtils]: 8: Hoare triple {2299#(and (<= (+ main_~CCCELVOL1~0 6) main_~CCCELVOL3~0) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {2299#(and (<= (+ main_~CCCELVOL1~0 6) main_~CCCELVOL3~0) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:23,787 INFO L273 TraceCheckUtils]: 9: Hoare triple {2299#(and (<= (+ main_~CCCELVOL1~0 6) main_~CCCELVOL3~0) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {2299#(and (<= (+ main_~CCCELVOL1~0 6) main_~CCCELVOL3~0) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:23,788 INFO L273 TraceCheckUtils]: 10: Hoare triple {2299#(and (<= (+ main_~CCCELVOL1~0 6) main_~CCCELVOL3~0) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {2300#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)) (<= (+ main_~CCCELVOL1~0 6) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8)) main_~CCCELVOL2~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:23,790 INFO L273 TraceCheckUtils]: 11: Hoare triple {2300#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)) (<= (+ main_~CCCELVOL1~0 6) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8)) main_~CCCELVOL2~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {2300#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)) (<= (+ main_~CCCELVOL1~0 6) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8)) main_~CCCELVOL2~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:23,791 INFO L273 TraceCheckUtils]: 12: Hoare triple {2300#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)) (<= (+ main_~CCCELVOL1~0 6) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8)) main_~CCCELVOL2~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)))))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {2301#(and (<= (+ main_~MINVAL~0 6) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:23,792 INFO L273 TraceCheckUtils]: 13: Hoare triple {2301#(and (<= (+ main_~MINVAL~0 6) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2302#(and (or (and (<= (* 4 main_~i~0) (+ ~CELLCOUNT~0 2)) (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4)))) (<= (+ main_~MINVAL~0 6) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12)))))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:23,794 INFO L273 TraceCheckUtils]: 14: Hoare triple {2302#(and (or (and (<= (* 4 main_~i~0) (+ ~CELLCOUNT~0 2)) (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4)))) (<= (+ main_~MINVAL~0 6) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12)))))) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {2303#(<= (+ main_~MINVAL~0 6) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:23,794 INFO L273 TraceCheckUtils]: 15: Hoare triple {2303#(<= (+ main_~MINVAL~0 6) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12)))))} ~i~0 := 0; {2304#(and (<= (+ main_~MINVAL~0 6) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:23,795 INFO L273 TraceCheckUtils]: 16: Hoare triple {2304#(and (<= (+ main_~MINVAL~0 6) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {2304#(and (<= (+ main_~MINVAL~0 6) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:23,796 INFO L273 TraceCheckUtils]: 17: Hoare triple {2304#(and (<= (+ main_~MINVAL~0 6) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} assume #t~short6; {2304#(and (<= (+ main_~MINVAL~0 6) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:23,796 INFO L256 TraceCheckUtils]: 18: Hoare triple {2304#(and (<= (+ main_~MINVAL~0 6) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2296#true} is VALID [2018-11-23 12:21:23,797 INFO L273 TraceCheckUtils]: 19: Hoare triple {2296#true} ~cond := #in~cond; {2296#true} is VALID [2018-11-23 12:21:23,797 INFO L273 TraceCheckUtils]: 20: Hoare triple {2296#true} assume !(0 == ~cond); {2296#true} is VALID [2018-11-23 12:21:23,797 INFO L273 TraceCheckUtils]: 21: Hoare triple {2296#true} assume true; {2296#true} is VALID [2018-11-23 12:21:23,798 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {2296#true} {2304#(and (<= (+ main_~MINVAL~0 6) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} #93#return; {2304#(and (<= (+ main_~MINVAL~0 6) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:23,799 INFO L273 TraceCheckUtils]: 23: Hoare triple {2304#(and (<= (+ main_~MINVAL~0 6) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {2304#(and (<= (+ main_~MINVAL~0 6) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:23,800 INFO L273 TraceCheckUtils]: 24: Hoare triple {2304#(and (<= (+ main_~MINVAL~0 6) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2305#(<= (+ main_~MINVAL~0 6) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:21:23,801 INFO L273 TraceCheckUtils]: 25: Hoare triple {2305#(<= (+ main_~MINVAL~0 6) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {2306#|main_#t~short6|} is VALID [2018-11-23 12:21:23,802 INFO L273 TraceCheckUtils]: 26: Hoare triple {2306#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {2297#false} is VALID [2018-11-23 12:21:23,802 INFO L256 TraceCheckUtils]: 27: Hoare triple {2297#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2297#false} is VALID [2018-11-23 12:21:23,802 INFO L273 TraceCheckUtils]: 28: Hoare triple {2297#false} ~cond := #in~cond; {2297#false} is VALID [2018-11-23 12:21:23,803 INFO L273 TraceCheckUtils]: 29: Hoare triple {2297#false} assume 0 == ~cond; {2297#false} is VALID [2018-11-23 12:21:23,803 INFO L273 TraceCheckUtils]: 30: Hoare triple {2297#false} assume !false; {2297#false} is VALID [2018-11-23 12:21:23,807 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:23,807 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:21:23,807 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:21:23,817 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:23,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:23,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:23,854 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:21:23,977 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:21:23,982 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:21:23,986 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:23,988 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:23,999 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:24,000 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:22 [2018-11-23 12:21:24,003 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:24,003 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_29|, main_~CCCELVOL3~0]. (and (<= main_~MINVAL~0 5) (= |#memory_int| (store |v_#memory_int_29| |main_~#volArray~0.base| (store (select |v_#memory_int_29| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)) main_~CCCELVOL3~0))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0)) [2018-11-23 12:21:24,003 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:21:24,048 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:21:24,053 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:24,057 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:21:24,060 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:24,069 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:24,080 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:24,081 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:22 [2018-11-23 12:21:24,085 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:24,085 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_30|, main_~CCCELVOL2~0]. (let ((.cse0 (select |v_#memory_int_30| |main_~#volArray~0.base|)) (.cse1 (* 16 main_~i~0))) (and (= |#memory_int| (store |v_#memory_int_30| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 8)) main_~CCCELVOL2~0))) (<= main_~MINVAL~0 5) (<= 7 (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))) [2018-11-23 12:21:24,086 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:21:24,104 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 18 [2018-11-23 12:21:24,108 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:24,111 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 27 [2018-11-23 12:21:24,120 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:24,127 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:24,135 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:24,136 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:16 [2018-11-23 12:21:24,139 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:24,140 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_31|, main_~CCCELVOL1~0]. (let ((.cse0 (select |v_#memory_int_31| |main_~#volArray~0.base|))) (and (<= main_~MINVAL~0 5) (= (store |v_#memory_int_31| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| 12) main_~CCCELVOL1~0)) |#memory_int|) (<= 7 (select .cse0 (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0))) [2018-11-23 12:21:24,140 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= main_~MINVAL~0 5) (= |main_~#volArray~0.offset| 0) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)))) [2018-11-23 12:21:24,547 INFO L256 TraceCheckUtils]: 0: Hoare triple {2296#true} call ULTIMATE.init(); {2296#true} is VALID [2018-11-23 12:21:24,547 INFO L273 TraceCheckUtils]: 1: Hoare triple {2296#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {2296#true} is VALID [2018-11-23 12:21:24,547 INFO L273 TraceCheckUtils]: 2: Hoare triple {2296#true} assume true; {2296#true} is VALID [2018-11-23 12:21:24,548 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2296#true} {2296#true} #89#return; {2296#true} is VALID [2018-11-23 12:21:24,548 INFO L256 TraceCheckUtils]: 4: Hoare triple {2296#true} call #t~ret7 := main(); {2296#true} is VALID [2018-11-23 12:21:24,548 INFO L273 TraceCheckUtils]: 5: Hoare triple {2296#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {2296#true} is VALID [2018-11-23 12:21:24,550 INFO L273 TraceCheckUtils]: 6: Hoare triple {2296#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {2328#(and (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0) (<= main_~CCCELVOL4~0 5))} is VALID [2018-11-23 12:21:24,554 INFO L273 TraceCheckUtils]: 7: Hoare triple {2328#(and (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0) (<= main_~CCCELVOL4~0 5))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {2332#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0) (<= main_~CCCELVOL4~0 5))} is VALID [2018-11-23 12:21:24,554 INFO L273 TraceCheckUtils]: 8: Hoare triple {2332#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0) (<= main_~CCCELVOL4~0 5))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {2332#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0) (<= main_~CCCELVOL4~0 5))} is VALID [2018-11-23 12:21:24,556 INFO L273 TraceCheckUtils]: 9: Hoare triple {2332#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0) (<= main_~CCCELVOL4~0 5))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {2339#(and (<= main_~MINVAL~0 5) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} is VALID [2018-11-23 12:21:24,556 INFO L273 TraceCheckUtils]: 10: Hoare triple {2339#(and (<= main_~MINVAL~0 5) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 7 main_~CCCELVOL3~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {2343#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:24,558 INFO L273 TraceCheckUtils]: 11: Hoare triple {2343#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {2343#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:24,558 INFO L273 TraceCheckUtils]: 12: Hoare triple {2343#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {2350#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:24,560 INFO L273 TraceCheckUtils]: 13: Hoare triple {2350#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2350#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:24,561 INFO L273 TraceCheckUtils]: 14: Hoare triple {2350#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {2350#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:24,562 INFO L273 TraceCheckUtils]: 15: Hoare triple {2350#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0))} ~i~0 := 0; {2360#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:24,563 INFO L273 TraceCheckUtils]: 16: Hoare triple {2360#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {2360#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:24,564 INFO L273 TraceCheckUtils]: 17: Hoare triple {2360#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} assume #t~short6; {2360#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:24,565 INFO L256 TraceCheckUtils]: 18: Hoare triple {2360#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2370#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4)))} is VALID [2018-11-23 12:21:24,570 INFO L273 TraceCheckUtils]: 19: Hoare triple {2370#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4)))} ~cond := #in~cond; {2370#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4)))} is VALID [2018-11-23 12:21:24,573 INFO L273 TraceCheckUtils]: 20: Hoare triple {2370#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4)))} assume !(0 == ~cond); {2370#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4)))} is VALID [2018-11-23 12:21:24,573 INFO L273 TraceCheckUtils]: 21: Hoare triple {2370#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4)))} assume true; {2370#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4)))} is VALID [2018-11-23 12:21:24,574 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {2370#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_1| Int)) (<= 7 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_1|) 4)))} {2360#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} #93#return; {2360#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:24,575 INFO L273 TraceCheckUtils]: 23: Hoare triple {2360#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {2360#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:24,577 INFO L273 TraceCheckUtils]: 24: Hoare triple {2360#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2343#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:24,578 INFO L273 TraceCheckUtils]: 25: Hoare triple {2343#(and (<= main_~MINVAL~0 5) (<= 7 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {2306#|main_#t~short6|} is VALID [2018-11-23 12:21:24,579 INFO L273 TraceCheckUtils]: 26: Hoare triple {2306#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {2297#false} is VALID [2018-11-23 12:21:24,579 INFO L256 TraceCheckUtils]: 27: Hoare triple {2297#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2297#false} is VALID [2018-11-23 12:21:24,579 INFO L273 TraceCheckUtils]: 28: Hoare triple {2297#false} ~cond := #in~cond; {2297#false} is VALID [2018-11-23 12:21:24,579 INFO L273 TraceCheckUtils]: 29: Hoare triple {2297#false} assume 0 == ~cond; {2297#false} is VALID [2018-11-23 12:21:24,579 INFO L273 TraceCheckUtils]: 30: Hoare triple {2297#false} assume !false; {2297#false} is VALID [2018-11-23 12:21:24,585 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:24,612 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:21:24,613 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 18 [2018-11-23 12:21:24,613 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 31 [2018-11-23 12:21:24,613 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:24,613 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 12:21:24,820 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:24,820 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 12:21:24,820 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 12:21:24,821 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=263, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:21:24,821 INFO L87 Difference]: Start difference. First operand 44 states and 53 transitions. Second operand 18 states. [2018-11-23 12:21:42,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:42,886 INFO L93 Difference]: Finished difference Result 146 states and 184 transitions. [2018-11-23 12:21:42,886 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2018-11-23 12:21:42,886 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 31 [2018-11-23 12:21:42,887 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:42,887 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:21:42,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 161 transitions. [2018-11-23 12:21:42,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:21:42,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 161 transitions. [2018-11-23 12:21:42,895 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states and 161 transitions. [2018-11-23 12:21:43,176 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 161 edges. 161 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:43,179 INFO L225 Difference]: With dead ends: 146 [2018-11-23 12:21:43,179 INFO L226 Difference]: Without dead ends: 121 [2018-11-23 12:21:43,180 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 23 SyntacticMatches, 3 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 266 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=342, Invalid=1218, Unknown=0, NotChecked=0, Total=1560 [2018-11-23 12:21:43,180 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2018-11-23 12:21:43,458 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 72. [2018-11-23 12:21:43,459 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:43,459 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand 72 states. [2018-11-23 12:21:43,459 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 72 states. [2018-11-23 12:21:43,459 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 72 states. [2018-11-23 12:21:43,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:43,466 INFO L93 Difference]: Finished difference Result 121 states and 149 transitions. [2018-11-23 12:21:43,466 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 149 transitions. [2018-11-23 12:21:43,466 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:43,466 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:43,467 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 121 states. [2018-11-23 12:21:43,467 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 121 states. [2018-11-23 12:21:43,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:43,471 INFO L93 Difference]: Finished difference Result 121 states and 149 transitions. [2018-11-23 12:21:43,471 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 149 transitions. [2018-11-23 12:21:43,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:43,472 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:43,472 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:43,472 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:43,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 72 states. [2018-11-23 12:21:43,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 86 transitions. [2018-11-23 12:21:43,474 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 86 transitions. Word has length 31 [2018-11-23 12:21:43,474 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:43,474 INFO L480 AbstractCegarLoop]: Abstraction has 72 states and 86 transitions. [2018-11-23 12:21:43,475 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 12:21:43,475 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2018-11-23 12:21:43,475 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2018-11-23 12:21:43,476 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:43,476 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:43,476 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:43,476 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:43,476 INFO L82 PathProgramCache]: Analyzing trace with hash 1823363683, now seen corresponding path program 1 times [2018-11-23 12:21:43,476 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:43,477 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:43,477 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:43,477 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:43,478 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:43,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:44,034 INFO L256 TraceCheckUtils]: 0: Hoare triple {2977#true} call ULTIMATE.init(); {2977#true} is VALID [2018-11-23 12:21:44,034 INFO L273 TraceCheckUtils]: 1: Hoare triple {2977#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {2977#true} is VALID [2018-11-23 12:21:44,035 INFO L273 TraceCheckUtils]: 2: Hoare triple {2977#true} assume true; {2977#true} is VALID [2018-11-23 12:21:44,035 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2977#true} {2977#true} #89#return; {2977#true} is VALID [2018-11-23 12:21:44,035 INFO L256 TraceCheckUtils]: 4: Hoare triple {2977#true} call #t~ret7 := main(); {2977#true} is VALID [2018-11-23 12:21:44,036 INFO L273 TraceCheckUtils]: 5: Hoare triple {2977#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {2977#true} is VALID [2018-11-23 12:21:44,037 INFO L273 TraceCheckUtils]: 6: Hoare triple {2977#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {2979#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:21:44,038 INFO L273 TraceCheckUtils]: 7: Hoare triple {2979#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {2980#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:44,039 INFO L273 TraceCheckUtils]: 8: Hoare triple {2980#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {2980#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:44,051 INFO L273 TraceCheckUtils]: 9: Hoare triple {2980#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {2980#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:44,052 INFO L273 TraceCheckUtils]: 10: Hoare triple {2980#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {2981#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:44,053 INFO L273 TraceCheckUtils]: 11: Hoare triple {2981#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {2981#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:44,054 INFO L273 TraceCheckUtils]: 12: Hoare triple {2981#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {2981#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:44,055 INFO L273 TraceCheckUtils]: 13: Hoare triple {2981#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2982#(and (< 0 (+ ~CELLCOUNT~0 1)) (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (and (<= (* 4 main_~i~0) (+ ~CELLCOUNT~0 2)) (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))))))} is VALID [2018-11-23 12:21:44,056 INFO L273 TraceCheckUtils]: 14: Hoare triple {2982#(and (< 0 (+ ~CELLCOUNT~0 1)) (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (and (<= (* 4 main_~i~0) (+ ~CELLCOUNT~0 2)) (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {2983#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:44,056 INFO L273 TraceCheckUtils]: 15: Hoare triple {2983#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12)))))} ~i~0 := 0; {2984#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:44,057 INFO L273 TraceCheckUtils]: 16: Hoare triple {2984#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {2984#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:44,058 INFO L273 TraceCheckUtils]: 17: Hoare triple {2984#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} assume #t~short6; {2984#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:44,059 INFO L256 TraceCheckUtils]: 18: Hoare triple {2984#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2977#true} is VALID [2018-11-23 12:21:44,059 INFO L273 TraceCheckUtils]: 19: Hoare triple {2977#true} ~cond := #in~cond; {2977#true} is VALID [2018-11-23 12:21:44,059 INFO L273 TraceCheckUtils]: 20: Hoare triple {2977#true} assume !(0 == ~cond); {2977#true} is VALID [2018-11-23 12:21:44,059 INFO L273 TraceCheckUtils]: 21: Hoare triple {2977#true} assume true; {2977#true} is VALID [2018-11-23 12:21:44,060 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {2977#true} {2984#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} #93#return; {2984#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:44,061 INFO L273 TraceCheckUtils]: 23: Hoare triple {2984#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {2984#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:44,062 INFO L273 TraceCheckUtils]: 24: Hoare triple {2984#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2985#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:21:44,062 INFO L273 TraceCheckUtils]: 25: Hoare triple {2985#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {2986#|main_#t~short6|} is VALID [2018-11-23 12:21:44,063 INFO L273 TraceCheckUtils]: 26: Hoare triple {2986#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {2978#false} is VALID [2018-11-23 12:21:44,063 INFO L256 TraceCheckUtils]: 27: Hoare triple {2978#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2978#false} is VALID [2018-11-23 12:21:44,063 INFO L273 TraceCheckUtils]: 28: Hoare triple {2978#false} ~cond := #in~cond; {2978#false} is VALID [2018-11-23 12:21:44,064 INFO L273 TraceCheckUtils]: 29: Hoare triple {2978#false} assume 0 == ~cond; {2978#false} is VALID [2018-11-23 12:21:44,064 INFO L273 TraceCheckUtils]: 30: Hoare triple {2978#false} assume !false; {2978#false} is VALID [2018-11-23 12:21:44,066 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:44,067 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:21:44,067 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:21:44,076 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:44,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:44,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:44,128 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:21:44,268 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:21:44,272 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:21:44,274 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:44,276 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:44,287 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:44,287 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:19 [2018-11-23 12:21:44,291 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:44,291 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_32|, main_~CCCELVOL3~0]. (and (<= main_~MINVAL~0 main_~CCCELVOL3~0) (= main_~i~0 1) (= |#memory_int| (store |v_#memory_int_32| |main_~#volArray~0.base| (store (select |v_#memory_int_32| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)) main_~CCCELVOL3~0))) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:21:44,292 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:21:44,326 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:21:44,332 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:44,335 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:21:44,338 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:44,349 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:44,357 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:44,358 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-23 12:21:44,404 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 25 [2018-11-23 12:21:44,409 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:44,410 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:44,411 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:44,416 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 52 [2018-11-23 12:21:44,419 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:44,429 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:44,439 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:44,440 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-23 12:21:44,715 INFO L256 TraceCheckUtils]: 0: Hoare triple {2977#true} call ULTIMATE.init(); {2977#true} is VALID [2018-11-23 12:21:44,715 INFO L273 TraceCheckUtils]: 1: Hoare triple {2977#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {2977#true} is VALID [2018-11-23 12:21:44,715 INFO L273 TraceCheckUtils]: 2: Hoare triple {2977#true} assume true; {2977#true} is VALID [2018-11-23 12:21:44,715 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2977#true} {2977#true} #89#return; {2977#true} is VALID [2018-11-23 12:21:44,716 INFO L256 TraceCheckUtils]: 4: Hoare triple {2977#true} call #t~ret7 := main(); {2977#true} is VALID [2018-11-23 12:21:44,716 INFO L273 TraceCheckUtils]: 5: Hoare triple {2977#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {2977#true} is VALID [2018-11-23 12:21:44,718 INFO L273 TraceCheckUtils]: 6: Hoare triple {2977#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {3008#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:21:44,718 INFO L273 TraceCheckUtils]: 7: Hoare triple {3008#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {3012#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:44,720 INFO L273 TraceCheckUtils]: 8: Hoare triple {3012#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {3012#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:44,722 INFO L273 TraceCheckUtils]: 9: Hoare triple {3012#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {3012#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:44,725 INFO L273 TraceCheckUtils]: 10: Hoare triple {3012#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {3022#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:44,725 INFO L273 TraceCheckUtils]: 11: Hoare triple {3022#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {3026#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:44,727 INFO L273 TraceCheckUtils]: 12: Hoare triple {3026#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {3030#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:44,727 INFO L273 TraceCheckUtils]: 13: Hoare triple {3030#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3030#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:44,729 INFO L273 TraceCheckUtils]: 14: Hoare triple {3030#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {3030#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:44,730 INFO L273 TraceCheckUtils]: 15: Hoare triple {3030#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} ~i~0 := 0; {3040#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:44,731 INFO L273 TraceCheckUtils]: 16: Hoare triple {3040#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {3040#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:44,732 INFO L273 TraceCheckUtils]: 17: Hoare triple {3040#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} assume #t~short6; {3040#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:44,734 INFO L256 TraceCheckUtils]: 18: Hoare triple {3040#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3050#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 12) 0)))} is VALID [2018-11-23 12:21:44,734 INFO L273 TraceCheckUtils]: 19: Hoare triple {3050#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 12) 0)))} ~cond := #in~cond; {3050#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 12) 0)))} is VALID [2018-11-23 12:21:44,736 INFO L273 TraceCheckUtils]: 20: Hoare triple {3050#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 12) 0)))} assume !(0 == ~cond); {3050#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 12) 0)))} is VALID [2018-11-23 12:21:44,736 INFO L273 TraceCheckUtils]: 21: Hoare triple {3050#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 12) 0)))} assume true; {3050#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 12) 0)))} is VALID [2018-11-23 12:21:44,737 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {3050#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_2| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 8) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_2|) 12) 0)))} {3040#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} #93#return; {3040#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:44,739 INFO L273 TraceCheckUtils]: 23: Hoare triple {3040#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {3040#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:44,739 INFO L273 TraceCheckUtils]: 24: Hoare triple {3040#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3069#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:44,741 INFO L273 TraceCheckUtils]: 25: Hoare triple {3069#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {2986#|main_#t~short6|} is VALID [2018-11-23 12:21:44,741 INFO L273 TraceCheckUtils]: 26: Hoare triple {2986#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {2978#false} is VALID [2018-11-23 12:21:44,742 INFO L256 TraceCheckUtils]: 27: Hoare triple {2978#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {2978#false} is VALID [2018-11-23 12:21:44,742 INFO L273 TraceCheckUtils]: 28: Hoare triple {2978#false} ~cond := #in~cond; {2978#false} is VALID [2018-11-23 12:21:44,742 INFO L273 TraceCheckUtils]: 29: Hoare triple {2978#false} assume 0 == ~cond; {2978#false} is VALID [2018-11-23 12:21:44,742 INFO L273 TraceCheckUtils]: 30: Hoare triple {2978#false} assume !false; {2978#false} is VALID [2018-11-23 12:21:44,747 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:44,766 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:21:44,766 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11] total 18 [2018-11-23 12:21:44,766 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 31 [2018-11-23 12:21:44,766 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:44,767 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 12:21:44,849 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:44,849 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 12:21:44,849 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 12:21:44,849 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=242, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:21:44,850 INFO L87 Difference]: Start difference. First operand 72 states and 86 transitions. Second operand 18 states. [2018-11-23 12:21:49,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:49,371 INFO L93 Difference]: Finished difference Result 174 states and 210 transitions. [2018-11-23 12:21:49,371 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2018-11-23 12:21:49,371 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 31 [2018-11-23 12:21:49,372 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:49,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:21:49,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 156 transitions. [2018-11-23 12:21:49,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:21:49,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 156 transitions. [2018-11-23 12:21:49,377 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 156 transitions. [2018-11-23 12:21:49,656 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 156 edges. 156 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:49,661 INFO L225 Difference]: With dead ends: 174 [2018-11-23 12:21:49,661 INFO L226 Difference]: Without dead ends: 158 [2018-11-23 12:21:49,662 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 63 GetRequests, 24 SyntacticMatches, 3 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 307 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=324, Invalid=1082, Unknown=0, NotChecked=0, Total=1406 [2018-11-23 12:21:49,663 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 158 states. [2018-11-23 12:21:50,445 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 158 to 72. [2018-11-23 12:21:50,445 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:50,446 INFO L82 GeneralOperation]: Start isEquivalent. First operand 158 states. Second operand 72 states. [2018-11-23 12:21:50,446 INFO L74 IsIncluded]: Start isIncluded. First operand 158 states. Second operand 72 states. [2018-11-23 12:21:50,446 INFO L87 Difference]: Start difference. First operand 158 states. Second operand 72 states. [2018-11-23 12:21:50,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:50,452 INFO L93 Difference]: Finished difference Result 158 states and 192 transitions. [2018-11-23 12:21:50,452 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 192 transitions. [2018-11-23 12:21:50,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:50,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:50,453 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 158 states. [2018-11-23 12:21:50,453 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 158 states. [2018-11-23 12:21:50,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:50,458 INFO L93 Difference]: Finished difference Result 158 states and 192 transitions. [2018-11-23 12:21:50,458 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 192 transitions. [2018-11-23 12:21:50,459 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:50,459 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:50,459 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:50,459 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:50,459 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 72 states. [2018-11-23 12:21:50,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 86 transitions. [2018-11-23 12:21:50,461 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 86 transitions. Word has length 31 [2018-11-23 12:21:50,462 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:50,462 INFO L480 AbstractCegarLoop]: Abstraction has 72 states and 86 transitions. [2018-11-23 12:21:50,462 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 12:21:50,462 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2018-11-23 12:21:50,463 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2018-11-23 12:21:50,463 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:50,463 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:50,463 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:50,463 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:50,463 INFO L82 PathProgramCache]: Analyzing trace with hash -2048901787, now seen corresponding path program 1 times [2018-11-23 12:21:50,464 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:50,464 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:50,464 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:50,464 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:50,465 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:50,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:50,926 INFO L256 TraceCheckUtils]: 0: Hoare triple {3764#true} call ULTIMATE.init(); {3764#true} is VALID [2018-11-23 12:21:50,926 INFO L273 TraceCheckUtils]: 1: Hoare triple {3764#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {3764#true} is VALID [2018-11-23 12:21:50,926 INFO L273 TraceCheckUtils]: 2: Hoare triple {3764#true} assume true; {3764#true} is VALID [2018-11-23 12:21:50,926 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3764#true} {3764#true} #89#return; {3764#true} is VALID [2018-11-23 12:21:50,926 INFO L256 TraceCheckUtils]: 4: Hoare triple {3764#true} call #t~ret7 := main(); {3764#true} is VALID [2018-11-23 12:21:50,927 INFO L273 TraceCheckUtils]: 5: Hoare triple {3764#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {3764#true} is VALID [2018-11-23 12:21:50,927 INFO L273 TraceCheckUtils]: 6: Hoare triple {3764#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {3766#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:21:50,928 INFO L273 TraceCheckUtils]: 7: Hoare triple {3766#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {3767#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:50,928 INFO L273 TraceCheckUtils]: 8: Hoare triple {3767#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {3767#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:50,929 INFO L273 TraceCheckUtils]: 9: Hoare triple {3767#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {3767#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:50,930 INFO L273 TraceCheckUtils]: 10: Hoare triple {3767#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {3768#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:50,931 INFO L273 TraceCheckUtils]: 11: Hoare triple {3768#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {3768#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:50,932 INFO L273 TraceCheckUtils]: 12: Hoare triple {3768#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {3768#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:21:50,933 INFO L273 TraceCheckUtils]: 13: Hoare triple {3768#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 8)) 0) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12)))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3769#(and (< 0 (+ ~CELLCOUNT~0 1)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (and (<= (* 4 main_~i~0) (+ ~CELLCOUNT~0 2)) (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))))))} is VALID [2018-11-23 12:21:50,935 INFO L273 TraceCheckUtils]: 14: Hoare triple {3769#(and (< 0 (+ ~CELLCOUNT~0 1)) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (and (<= (* 4 main_~i~0) (+ ~CELLCOUNT~0 2)) (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {3770#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12)))))} is VALID [2018-11-23 12:21:50,935 INFO L273 TraceCheckUtils]: 15: Hoare triple {3770#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12)))))} ~i~0 := 0; {3771#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:50,936 INFO L273 TraceCheckUtils]: 16: Hoare triple {3771#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {3771#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:50,937 INFO L273 TraceCheckUtils]: 17: Hoare triple {3771#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} assume #t~short6; {3771#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:50,937 INFO L256 TraceCheckUtils]: 18: Hoare triple {3771#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3764#true} is VALID [2018-11-23 12:21:50,938 INFO L273 TraceCheckUtils]: 19: Hoare triple {3764#true} ~cond := #in~cond; {3764#true} is VALID [2018-11-23 12:21:50,938 INFO L273 TraceCheckUtils]: 20: Hoare triple {3764#true} assume !(0 == ~cond); {3764#true} is VALID [2018-11-23 12:21:50,938 INFO L273 TraceCheckUtils]: 21: Hoare triple {3764#true} assume true; {3764#true} is VALID [2018-11-23 12:21:50,939 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {3764#true} {3771#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} #93#return; {3771#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:50,940 INFO L273 TraceCheckUtils]: 23: Hoare triple {3771#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {3771#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} is VALID [2018-11-23 12:21:50,940 INFO L273 TraceCheckUtils]: 24: Hoare triple {3771#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 12))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3772#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:21:50,941 INFO L273 TraceCheckUtils]: 25: Hoare triple {3772#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {3772#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:21:50,941 INFO L273 TraceCheckUtils]: 26: Hoare triple {3772#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {3773#|main_#t~short6|} is VALID [2018-11-23 12:21:50,942 INFO L256 TraceCheckUtils]: 27: Hoare triple {3773#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3774#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:21:50,942 INFO L273 TraceCheckUtils]: 28: Hoare triple {3774#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {3775#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:21:50,943 INFO L273 TraceCheckUtils]: 29: Hoare triple {3775#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {3765#false} is VALID [2018-11-23 12:21:50,943 INFO L273 TraceCheckUtils]: 30: Hoare triple {3765#false} assume !false; {3765#false} is VALID [2018-11-23 12:21:50,946 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:50,947 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:21:50,947 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:21:50,980 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:50,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:51,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:51,010 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:21:51,077 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:21:51,080 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:21:51,096 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:51,098 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:51,106 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:51,107 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-23 12:21:51,145 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:21:51,155 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:51,156 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:21:51,158 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:51,165 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:51,176 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:51,176 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-23 12:21:51,225 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 25 [2018-11-23 12:21:51,231 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:51,232 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:51,234 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:51,235 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 52 [2018-11-23 12:21:51,237 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:51,246 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:51,255 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:51,256 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-23 12:21:51,546 INFO L256 TraceCheckUtils]: 0: Hoare triple {3764#true} call ULTIMATE.init(); {3764#true} is VALID [2018-11-23 12:21:51,546 INFO L273 TraceCheckUtils]: 1: Hoare triple {3764#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {3764#true} is VALID [2018-11-23 12:21:51,546 INFO L273 TraceCheckUtils]: 2: Hoare triple {3764#true} assume true; {3764#true} is VALID [2018-11-23 12:21:51,547 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3764#true} {3764#true} #89#return; {3764#true} is VALID [2018-11-23 12:21:51,547 INFO L256 TraceCheckUtils]: 4: Hoare triple {3764#true} call #t~ret7 := main(); {3764#true} is VALID [2018-11-23 12:21:51,547 INFO L273 TraceCheckUtils]: 5: Hoare triple {3764#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {3764#true} is VALID [2018-11-23 12:21:51,548 INFO L273 TraceCheckUtils]: 6: Hoare triple {3764#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {3797#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:21:51,550 INFO L273 TraceCheckUtils]: 7: Hoare triple {3797#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {3801#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:51,553 INFO L273 TraceCheckUtils]: 8: Hoare triple {3801#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {3801#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:51,566 INFO L273 TraceCheckUtils]: 9: Hoare triple {3801#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {3801#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:21:51,569 INFO L273 TraceCheckUtils]: 10: Hoare triple {3801#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {3811#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12))) 0))} is VALID [2018-11-23 12:21:51,570 INFO L273 TraceCheckUtils]: 11: Hoare triple {3811#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12))) 0))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {3815#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12))) 0))} is VALID [2018-11-23 12:21:51,571 INFO L273 TraceCheckUtils]: 12: Hoare triple {3815#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 12))) 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {3819#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:51,571 INFO L273 TraceCheckUtils]: 13: Hoare triple {3819#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3819#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:51,572 INFO L273 TraceCheckUtils]: 14: Hoare triple {3819#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {3819#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:51,573 INFO L273 TraceCheckUtils]: 15: Hoare triple {3819#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} ~i~0 := 0; {3829#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:51,574 INFO L273 TraceCheckUtils]: 16: Hoare triple {3829#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {3829#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:51,575 INFO L273 TraceCheckUtils]: 17: Hoare triple {3829#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} assume #t~short6; {3829#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:51,577 INFO L256 TraceCheckUtils]: 18: Hoare triple {3829#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3839#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12))))} is VALID [2018-11-23 12:21:51,577 INFO L273 TraceCheckUtils]: 19: Hoare triple {3839#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12))))} ~cond := #in~cond; {3839#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12))))} is VALID [2018-11-23 12:21:51,578 INFO L273 TraceCheckUtils]: 20: Hoare triple {3839#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12))))} assume !(0 == ~cond); {3839#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12))))} is VALID [2018-11-23 12:21:51,578 INFO L273 TraceCheckUtils]: 21: Hoare triple {3839#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12))))} assume true; {3839#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12))))} is VALID [2018-11-23 12:21:51,579 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {3839#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_3| Int)) (and (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 4) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 8) 0) (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_3|) 12))))} {3829#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} #93#return; {3829#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:51,580 INFO L273 TraceCheckUtils]: 23: Hoare triple {3829#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {3829#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:21:51,581 INFO L273 TraceCheckUtils]: 24: Hoare triple {3829#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3858#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:51,582 INFO L273 TraceCheckUtils]: 25: Hoare triple {3858#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {3858#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:21:51,583 INFO L273 TraceCheckUtils]: 26: Hoare triple {3858#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 4)) 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {3773#|main_#t~short6|} is VALID [2018-11-23 12:21:51,584 INFO L256 TraceCheckUtils]: 27: Hoare triple {3773#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {3868#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:21:51,585 INFO L273 TraceCheckUtils]: 28: Hoare triple {3868#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {3872#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:21:51,590 INFO L273 TraceCheckUtils]: 29: Hoare triple {3872#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3765#false} is VALID [2018-11-23 12:21:51,591 INFO L273 TraceCheckUtils]: 30: Hoare triple {3765#false} assume !false; {3765#false} is VALID [2018-11-23 12:21:51,594 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:21:51,613 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:21:51,613 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 22 [2018-11-23 12:21:51,614 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 31 [2018-11-23 12:21:51,614 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:51,614 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-23 12:21:51,684 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:51,684 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-23 12:21:51,685 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-23 12:21:51,685 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=388, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:21:51,686 INFO L87 Difference]: Start difference. First operand 72 states and 86 transitions. Second operand 22 states. [2018-11-23 12:21:55,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:55,800 INFO L93 Difference]: Finished difference Result 156 states and 185 transitions. [2018-11-23 12:21:55,800 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2018-11-23 12:21:55,801 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 31 [2018-11-23 12:21:55,801 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:55,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:21:55,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 113 transitions. [2018-11-23 12:21:55,803 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:21:55,805 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 113 transitions. [2018-11-23 12:21:55,805 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 113 transitions. [2018-11-23 12:21:57,199 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:57,203 INFO L225 Difference]: With dead ends: 156 [2018-11-23 12:21:57,203 INFO L226 Difference]: Without dead ends: 154 [2018-11-23 12:21:57,204 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 23 SyntacticMatches, 3 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 427 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=313, Invalid=1493, Unknown=0, NotChecked=0, Total=1806 [2018-11-23 12:21:57,205 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 154 states. [2018-11-23 12:21:58,140 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 154 to 122. [2018-11-23 12:21:58,141 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:58,141 INFO L82 GeneralOperation]: Start isEquivalent. First operand 154 states. Second operand 122 states. [2018-11-23 12:21:58,141 INFO L74 IsIncluded]: Start isIncluded. First operand 154 states. Second operand 122 states. [2018-11-23 12:21:58,141 INFO L87 Difference]: Start difference. First operand 154 states. Second operand 122 states. [2018-11-23 12:21:58,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:58,146 INFO L93 Difference]: Finished difference Result 154 states and 183 transitions. [2018-11-23 12:21:58,146 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 183 transitions. [2018-11-23 12:21:58,147 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:58,147 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:58,147 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand 154 states. [2018-11-23 12:21:58,147 INFO L87 Difference]: Start difference. First operand 122 states. Second operand 154 states. [2018-11-23 12:21:58,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:58,152 INFO L93 Difference]: Finished difference Result 154 states and 183 transitions. [2018-11-23 12:21:58,152 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 183 transitions. [2018-11-23 12:21:58,153 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:58,153 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:58,153 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:58,153 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:58,153 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 122 states. [2018-11-23 12:21:58,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 147 transitions. [2018-11-23 12:21:58,156 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 147 transitions. Word has length 31 [2018-11-23 12:21:58,156 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:58,157 INFO L480 AbstractCegarLoop]: Abstraction has 122 states and 147 transitions. [2018-11-23 12:21:58,157 INFO L481 AbstractCegarLoop]: Interpolant automaton has 22 states. [2018-11-23 12:21:58,157 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 147 transitions. [2018-11-23 12:21:58,157 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2018-11-23 12:21:58,158 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:58,158 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:58,158 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:58,158 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:58,158 INFO L82 PathProgramCache]: Analyzing trace with hash 739082614, now seen corresponding path program 1 times [2018-11-23 12:21:58,159 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:58,159 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:58,159 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:58,159 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:58,159 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:58,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:58,369 INFO L256 TraceCheckUtils]: 0: Hoare triple {4594#true} call ULTIMATE.init(); {4594#true} is VALID [2018-11-23 12:21:58,369 INFO L273 TraceCheckUtils]: 1: Hoare triple {4594#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {4594#true} is VALID [2018-11-23 12:21:58,369 INFO L273 TraceCheckUtils]: 2: Hoare triple {4594#true} assume true; {4594#true} is VALID [2018-11-23 12:21:58,370 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4594#true} {4594#true} #89#return; {4594#true} is VALID [2018-11-23 12:21:58,370 INFO L256 TraceCheckUtils]: 4: Hoare triple {4594#true} call #t~ret7 := main(); {4594#true} is VALID [2018-11-23 12:21:58,370 INFO L273 TraceCheckUtils]: 5: Hoare triple {4594#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {4594#true} is VALID [2018-11-23 12:21:58,370 INFO L273 TraceCheckUtils]: 6: Hoare triple {4594#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {4594#true} is VALID [2018-11-23 12:21:58,370 INFO L273 TraceCheckUtils]: 7: Hoare triple {4594#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {4594#true} is VALID [2018-11-23 12:21:58,371 INFO L273 TraceCheckUtils]: 8: Hoare triple {4594#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {4594#true} is VALID [2018-11-23 12:21:58,371 INFO L273 TraceCheckUtils]: 9: Hoare triple {4594#true} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {4594#true} is VALID [2018-11-23 12:21:58,380 INFO L273 TraceCheckUtils]: 10: Hoare triple {4594#true} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {4596#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-23 12:21:58,392 INFO L273 TraceCheckUtils]: 11: Hoare triple {4596#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {4596#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-23 12:21:58,405 INFO L273 TraceCheckUtils]: 12: Hoare triple {4596#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {4596#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-23 12:21:58,418 INFO L273 TraceCheckUtils]: 13: Hoare triple {4596#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4596#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-23 12:21:58,430 INFO L273 TraceCheckUtils]: 14: Hoare triple {4596#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {4596#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-23 12:21:58,444 INFO L273 TraceCheckUtils]: 15: Hoare triple {4596#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {4596#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} is VALID [2018-11-23 12:21:58,455 INFO L273 TraceCheckUtils]: 16: Hoare triple {4596#(< main_~MINVAL~0 (+ main_~CCCELVOL3~0 1))} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {4595#false} is VALID [2018-11-23 12:21:58,456 INFO L273 TraceCheckUtils]: 17: Hoare triple {4595#false} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {4595#false} is VALID [2018-11-23 12:21:58,456 INFO L273 TraceCheckUtils]: 18: Hoare triple {4595#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {4595#false} is VALID [2018-11-23 12:21:58,456 INFO L273 TraceCheckUtils]: 19: Hoare triple {4595#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4595#false} is VALID [2018-11-23 12:21:58,457 INFO L273 TraceCheckUtils]: 20: Hoare triple {4595#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {4595#false} is VALID [2018-11-23 12:21:58,457 INFO L273 TraceCheckUtils]: 21: Hoare triple {4595#false} ~i~0 := 0; {4595#false} is VALID [2018-11-23 12:21:58,457 INFO L273 TraceCheckUtils]: 22: Hoare triple {4595#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {4595#false} is VALID [2018-11-23 12:21:58,457 INFO L273 TraceCheckUtils]: 23: Hoare triple {4595#false} assume #t~short6; {4595#false} is VALID [2018-11-23 12:21:58,457 INFO L256 TraceCheckUtils]: 24: Hoare triple {4595#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {4594#true} is VALID [2018-11-23 12:21:58,458 INFO L273 TraceCheckUtils]: 25: Hoare triple {4594#true} ~cond := #in~cond; {4594#true} is VALID [2018-11-23 12:21:58,458 INFO L273 TraceCheckUtils]: 26: Hoare triple {4594#true} assume !(0 == ~cond); {4594#true} is VALID [2018-11-23 12:21:58,458 INFO L273 TraceCheckUtils]: 27: Hoare triple {4594#true} assume true; {4594#true} is VALID [2018-11-23 12:21:58,458 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {4594#true} {4595#false} #93#return; {4595#false} is VALID [2018-11-23 12:21:58,458 INFO L273 TraceCheckUtils]: 29: Hoare triple {4595#false} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {4595#false} is VALID [2018-11-23 12:21:58,459 INFO L273 TraceCheckUtils]: 30: Hoare triple {4595#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4595#false} is VALID [2018-11-23 12:21:58,459 INFO L273 TraceCheckUtils]: 31: Hoare triple {4595#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {4595#false} is VALID [2018-11-23 12:21:58,459 INFO L273 TraceCheckUtils]: 32: Hoare triple {4595#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {4595#false} is VALID [2018-11-23 12:21:58,459 INFO L256 TraceCheckUtils]: 33: Hoare triple {4595#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {4595#false} is VALID [2018-11-23 12:21:58,459 INFO L273 TraceCheckUtils]: 34: Hoare triple {4595#false} ~cond := #in~cond; {4595#false} is VALID [2018-11-23 12:21:58,460 INFO L273 TraceCheckUtils]: 35: Hoare triple {4595#false} assume 0 == ~cond; {4595#false} is VALID [2018-11-23 12:21:58,460 INFO L273 TraceCheckUtils]: 36: Hoare triple {4595#false} assume !false; {4595#false} is VALID [2018-11-23 12:21:58,462 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 12:21:58,462 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:21:58,462 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:21:58,462 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 37 [2018-11-23 12:21:58,463 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:58,463 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:21:58,758 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:58,759 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:21:58,759 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:21:58,759 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:21:58,759 INFO L87 Difference]: Start difference. First operand 122 states and 147 transitions. Second operand 3 states. [2018-11-23 12:21:59,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:59,436 INFO L93 Difference]: Finished difference Result 148 states and 177 transitions. [2018-11-23 12:21:59,436 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:21:59,436 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 37 [2018-11-23 12:21:59,437 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:59,437 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:21:59,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 70 transitions. [2018-11-23 12:21:59,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:21:59,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 70 transitions. [2018-11-23 12:21:59,439 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 70 transitions. [2018-11-23 12:21:59,867 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:59,871 INFO L225 Difference]: With dead ends: 148 [2018-11-23 12:21:59,871 INFO L226 Difference]: Without dead ends: 123 [2018-11-23 12:21:59,872 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:21:59,872 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2018-11-23 12:22:00,751 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 122. [2018-11-23 12:22:00,751 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:00,751 INFO L82 GeneralOperation]: Start isEquivalent. First operand 123 states. Second operand 122 states. [2018-11-23 12:22:00,751 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 122 states. [2018-11-23 12:22:00,751 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 122 states. [2018-11-23 12:22:00,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:00,756 INFO L93 Difference]: Finished difference Result 123 states and 146 transitions. [2018-11-23 12:22:00,756 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 146 transitions. [2018-11-23 12:22:00,756 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:00,757 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:00,757 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand 123 states. [2018-11-23 12:22:00,757 INFO L87 Difference]: Start difference. First operand 122 states. Second operand 123 states. [2018-11-23 12:22:00,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:00,760 INFO L93 Difference]: Finished difference Result 123 states and 146 transitions. [2018-11-23 12:22:00,760 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 146 transitions. [2018-11-23 12:22:00,761 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:00,761 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:00,761 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:00,761 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:00,761 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 122 states. [2018-11-23 12:22:00,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 145 transitions. [2018-11-23 12:22:00,765 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 145 transitions. Word has length 37 [2018-11-23 12:22:00,765 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:00,765 INFO L480 AbstractCegarLoop]: Abstraction has 122 states and 145 transitions. [2018-11-23 12:22:00,765 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:22:00,765 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 145 transitions. [2018-11-23 12:22:00,766 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2018-11-23 12:22:00,766 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:00,766 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:00,766 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:00,767 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:00,767 INFO L82 PathProgramCache]: Analyzing trace with hash -2055358474, now seen corresponding path program 2 times [2018-11-23 12:22:00,767 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:00,767 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:00,768 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:00,768 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:00,768 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:00,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:00,988 INFO L256 TraceCheckUtils]: 0: Hoare triple {5204#true} call ULTIMATE.init(); {5204#true} is VALID [2018-11-23 12:22:00,988 INFO L273 TraceCheckUtils]: 1: Hoare triple {5204#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {5204#true} is VALID [2018-11-23 12:22:00,989 INFO L273 TraceCheckUtils]: 2: Hoare triple {5204#true} assume true; {5204#true} is VALID [2018-11-23 12:22:00,989 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5204#true} {5204#true} #89#return; {5204#true} is VALID [2018-11-23 12:22:00,989 INFO L256 TraceCheckUtils]: 4: Hoare triple {5204#true} call #t~ret7 := main(); {5204#true} is VALID [2018-11-23 12:22:00,989 INFO L273 TraceCheckUtils]: 5: Hoare triple {5204#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {5204#true} is VALID [2018-11-23 12:22:00,989 INFO L273 TraceCheckUtils]: 6: Hoare triple {5204#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {5204#true} is VALID [2018-11-23 12:22:00,990 INFO L273 TraceCheckUtils]: 7: Hoare triple {5204#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {5204#true} is VALID [2018-11-23 12:22:00,990 INFO L273 TraceCheckUtils]: 8: Hoare triple {5204#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {5204#true} is VALID [2018-11-23 12:22:00,990 INFO L273 TraceCheckUtils]: 9: Hoare triple {5204#true} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {5204#true} is VALID [2018-11-23 12:22:01,003 INFO L273 TraceCheckUtils]: 10: Hoare triple {5204#true} assume !(~CCCELVOL3~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {5206#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:22:01,015 INFO L273 TraceCheckUtils]: 11: Hoare triple {5206#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {5206#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:22:01,028 INFO L273 TraceCheckUtils]: 12: Hoare triple {5206#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {5206#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:22:01,041 INFO L273 TraceCheckUtils]: 13: Hoare triple {5206#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5206#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:22:01,050 INFO L273 TraceCheckUtils]: 14: Hoare triple {5206#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {5206#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:22:01,062 INFO L273 TraceCheckUtils]: 15: Hoare triple {5206#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {5206#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:22:01,075 INFO L273 TraceCheckUtils]: 16: Hoare triple {5206#(<= (+ main_~CCCELVOL3~0 1) main_~MINVAL~0)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {5205#false} is VALID [2018-11-23 12:22:01,075 INFO L273 TraceCheckUtils]: 17: Hoare triple {5205#false} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {5205#false} is VALID [2018-11-23 12:22:01,076 INFO L273 TraceCheckUtils]: 18: Hoare triple {5205#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {5205#false} is VALID [2018-11-23 12:22:01,076 INFO L273 TraceCheckUtils]: 19: Hoare triple {5205#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5205#false} is VALID [2018-11-23 12:22:01,076 INFO L273 TraceCheckUtils]: 20: Hoare triple {5205#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {5205#false} is VALID [2018-11-23 12:22:01,076 INFO L273 TraceCheckUtils]: 21: Hoare triple {5205#false} ~i~0 := 0; {5205#false} is VALID [2018-11-23 12:22:01,076 INFO L273 TraceCheckUtils]: 22: Hoare triple {5205#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {5205#false} is VALID [2018-11-23 12:22:01,077 INFO L273 TraceCheckUtils]: 23: Hoare triple {5205#false} assume #t~short6; {5205#false} is VALID [2018-11-23 12:22:01,077 INFO L256 TraceCheckUtils]: 24: Hoare triple {5205#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5204#true} is VALID [2018-11-23 12:22:01,077 INFO L273 TraceCheckUtils]: 25: Hoare triple {5204#true} ~cond := #in~cond; {5204#true} is VALID [2018-11-23 12:22:01,077 INFO L273 TraceCheckUtils]: 26: Hoare triple {5204#true} assume !(0 == ~cond); {5204#true} is VALID [2018-11-23 12:22:01,077 INFO L273 TraceCheckUtils]: 27: Hoare triple {5204#true} assume true; {5204#true} is VALID [2018-11-23 12:22:01,078 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {5204#true} {5205#false} #93#return; {5205#false} is VALID [2018-11-23 12:22:01,078 INFO L273 TraceCheckUtils]: 29: Hoare triple {5205#false} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {5205#false} is VALID [2018-11-23 12:22:01,078 INFO L273 TraceCheckUtils]: 30: Hoare triple {5205#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5205#false} is VALID [2018-11-23 12:22:01,078 INFO L273 TraceCheckUtils]: 31: Hoare triple {5205#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {5205#false} is VALID [2018-11-23 12:22:01,078 INFO L273 TraceCheckUtils]: 32: Hoare triple {5205#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {5205#false} is VALID [2018-11-23 12:22:01,079 INFO L256 TraceCheckUtils]: 33: Hoare triple {5205#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5205#false} is VALID [2018-11-23 12:22:01,079 INFO L273 TraceCheckUtils]: 34: Hoare triple {5205#false} ~cond := #in~cond; {5205#false} is VALID [2018-11-23 12:22:01,079 INFO L273 TraceCheckUtils]: 35: Hoare triple {5205#false} assume 0 == ~cond; {5205#false} is VALID [2018-11-23 12:22:01,079 INFO L273 TraceCheckUtils]: 36: Hoare triple {5205#false} assume !false; {5205#false} is VALID [2018-11-23 12:22:01,080 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 12:22:01,081 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:22:01,081 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:22:01,081 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 37 [2018-11-23 12:22:01,082 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:01,082 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:22:01,359 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:01,359 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:22:01,359 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:22:01,360 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:22:01,360 INFO L87 Difference]: Start difference. First operand 122 states and 145 transitions. Second operand 3 states. [2018-11-23 12:22:01,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:01,783 INFO L93 Difference]: Finished difference Result 124 states and 146 transitions. [2018-11-23 12:22:01,783 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:22:01,783 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 37 [2018-11-23 12:22:01,784 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:01,784 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:22:01,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 68 transitions. [2018-11-23 12:22:01,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:22:01,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 68 transitions. [2018-11-23 12:22:01,787 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 68 transitions. [2018-11-23 12:22:02,216 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:02,219 INFO L225 Difference]: With dead ends: 124 [2018-11-23 12:22:02,219 INFO L226 Difference]: Without dead ends: 99 [2018-11-23 12:22:02,220 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:22:02,220 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2018-11-23 12:22:02,617 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 99. [2018-11-23 12:22:02,618 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:02,618 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand 99 states. [2018-11-23 12:22:02,618 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand 99 states. [2018-11-23 12:22:02,618 INFO L87 Difference]: Start difference. First operand 99 states. Second operand 99 states. [2018-11-23 12:22:02,621 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:02,621 INFO L93 Difference]: Finished difference Result 99 states and 117 transitions. [2018-11-23 12:22:02,622 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 117 transitions. [2018-11-23 12:22:02,622 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:02,622 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:02,622 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand 99 states. [2018-11-23 12:22:02,623 INFO L87 Difference]: Start difference. First operand 99 states. Second operand 99 states. [2018-11-23 12:22:02,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:02,626 INFO L93 Difference]: Finished difference Result 99 states and 117 transitions. [2018-11-23 12:22:02,626 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 117 transitions. [2018-11-23 12:22:02,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:02,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:02,627 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:02,627 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:02,627 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 99 states. [2018-11-23 12:22:02,630 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 117 transitions. [2018-11-23 12:22:02,630 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 117 transitions. Word has length 37 [2018-11-23 12:22:02,630 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:02,630 INFO L480 AbstractCegarLoop]: Abstraction has 99 states and 117 transitions. [2018-11-23 12:22:02,630 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:22:02,630 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 117 transitions. [2018-11-23 12:22:02,631 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-23 12:22:02,631 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:02,631 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:02,632 INFO L423 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:02,632 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:02,632 INFO L82 PathProgramCache]: Analyzing trace with hash -68187980, now seen corresponding path program 2 times [2018-11-23 12:22:02,632 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:02,632 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:02,633 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:02,633 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:22:02,633 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:02,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:03,065 WARN L180 SmtUtils]: Spent 195.00 ms on a formula simplification. DAG size of input: 13 DAG size of output: 8 [2018-11-23 12:22:03,897 WARN L180 SmtUtils]: Spent 540.00 ms on a formula simplification. DAG size of input: 24 DAG size of output: 16 [2018-11-23 12:22:04,307 INFO L256 TraceCheckUtils]: 0: Hoare triple {5705#true} call ULTIMATE.init(); {5705#true} is VALID [2018-11-23 12:22:04,308 INFO L273 TraceCheckUtils]: 1: Hoare triple {5705#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {5705#true} is VALID [2018-11-23 12:22:04,308 INFO L273 TraceCheckUtils]: 2: Hoare triple {5705#true} assume true; {5705#true} is VALID [2018-11-23 12:22:04,308 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5705#true} {5705#true} #89#return; {5705#true} is VALID [2018-11-23 12:22:04,309 INFO L256 TraceCheckUtils]: 4: Hoare triple {5705#true} call #t~ret7 := main(); {5705#true} is VALID [2018-11-23 12:22:04,309 INFO L273 TraceCheckUtils]: 5: Hoare triple {5705#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {5705#true} is VALID [2018-11-23 12:22:04,310 INFO L273 TraceCheckUtils]: 6: Hoare triple {5705#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {5707#(and (<= 2 ~CELLCOUNT~0) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} is VALID [2018-11-23 12:22:04,311 INFO L273 TraceCheckUtils]: 7: Hoare triple {5707#(and (<= 2 ~CELLCOUNT~0) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {5708#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} is VALID [2018-11-23 12:22:04,312 INFO L273 TraceCheckUtils]: 8: Hoare triple {5708#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {5708#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} is VALID [2018-11-23 12:22:04,312 INFO L273 TraceCheckUtils]: 9: Hoare triple {5708#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {5708#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} is VALID [2018-11-23 12:22:04,313 INFO L273 TraceCheckUtils]: 10: Hoare triple {5708#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {5708#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} is VALID [2018-11-23 12:22:04,314 INFO L273 TraceCheckUtils]: 11: Hoare triple {5708#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)) (<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {5709#(and (<= (+ main_~CCCELVOL1~0 2) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 4)) main_~CCCELVOL1~0) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8)))) (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:04,315 INFO L273 TraceCheckUtils]: 12: Hoare triple {5709#(and (<= (+ main_~CCCELVOL1~0 2) (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 4)) main_~CCCELVOL1~0) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8)))) (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {5710#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8)))) (< 0 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:04,317 INFO L273 TraceCheckUtils]: 13: Hoare triple {5710#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8)))) (< 0 (div ~CELLCOUNT~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5711#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= (* 4 main_~i~0) 8) (< 0 (div ~CELLCOUNT~0 4)) (or (<= (* 4 main_~i~0) 7) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8)))))))} is VALID [2018-11-23 12:22:04,318 INFO L273 TraceCheckUtils]: 14: Hoare triple {5711#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= (* 4 main_~i~0) 8) (< 0 (div ~CELLCOUNT~0 4)) (or (<= (* 4 main_~i~0) 7) (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8)))))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {5712#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:04,319 INFO L273 TraceCheckUtils]: 15: Hoare triple {5712#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} ~i~0 := 0; {5713#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:04,320 INFO L273 TraceCheckUtils]: 16: Hoare triple {5713#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {5713#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:04,321 INFO L273 TraceCheckUtils]: 17: Hoare triple {5713#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} assume #t~short6; {5713#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:04,321 INFO L256 TraceCheckUtils]: 18: Hoare triple {5713#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5705#true} is VALID [2018-11-23 12:22:04,321 INFO L273 TraceCheckUtils]: 19: Hoare triple {5705#true} ~cond := #in~cond; {5705#true} is VALID [2018-11-23 12:22:04,322 INFO L273 TraceCheckUtils]: 20: Hoare triple {5705#true} assume !(0 == ~cond); {5705#true} is VALID [2018-11-23 12:22:04,322 INFO L273 TraceCheckUtils]: 21: Hoare triple {5705#true} assume true; {5705#true} is VALID [2018-11-23 12:22:04,323 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {5705#true} {5713#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} #93#return; {5713#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:04,323 INFO L273 TraceCheckUtils]: 23: Hoare triple {5713#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {5713#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:04,325 INFO L273 TraceCheckUtils]: 24: Hoare triple {5713#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5714#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:04,326 INFO L273 TraceCheckUtils]: 25: Hoare triple {5714#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {5714#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:04,327 INFO L273 TraceCheckUtils]: 26: Hoare triple {5714#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} assume #t~short6; {5714#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:04,327 INFO L256 TraceCheckUtils]: 27: Hoare triple {5714#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5705#true} is VALID [2018-11-23 12:22:04,327 INFO L273 TraceCheckUtils]: 28: Hoare triple {5705#true} ~cond := #in~cond; {5705#true} is VALID [2018-11-23 12:22:04,328 INFO L273 TraceCheckUtils]: 29: Hoare triple {5705#true} assume !(0 == ~cond); {5705#true} is VALID [2018-11-23 12:22:04,328 INFO L273 TraceCheckUtils]: 30: Hoare triple {5705#true} assume true; {5705#true} is VALID [2018-11-23 12:22:04,330 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {5705#true} {5714#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} #93#return; {5714#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:04,331 INFO L273 TraceCheckUtils]: 32: Hoare triple {5714#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {5714#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:04,332 INFO L273 TraceCheckUtils]: 33: Hoare triple {5714#(and (<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5715#(<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:22:04,333 INFO L273 TraceCheckUtils]: 34: Hoare triple {5715#(<= (+ main_~MINVAL~0 2) (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {5716#|main_#t~short6|} is VALID [2018-11-23 12:22:04,333 INFO L273 TraceCheckUtils]: 35: Hoare triple {5716#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {5706#false} is VALID [2018-11-23 12:22:04,333 INFO L256 TraceCheckUtils]: 36: Hoare triple {5706#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5706#false} is VALID [2018-11-23 12:22:04,333 INFO L273 TraceCheckUtils]: 37: Hoare triple {5706#false} ~cond := #in~cond; {5706#false} is VALID [2018-11-23 12:22:04,333 INFO L273 TraceCheckUtils]: 38: Hoare triple {5706#false} assume 0 == ~cond; {5706#false} is VALID [2018-11-23 12:22:04,334 INFO L273 TraceCheckUtils]: 39: Hoare triple {5706#false} assume !false; {5706#false} is VALID [2018-11-23 12:22:04,338 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:22:04,339 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:04,339 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:22:04,348 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:22:04,370 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:22:04,371 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:22:04,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:04,383 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:04,622 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:22:04,641 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:22:04,643 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:04,646 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:04,659 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:04,660 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:22 [2018-11-23 12:22:04,664 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:04,664 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_38|, main_~CCCELVOL2~0]. (and (= |#memory_int| (store |v_#memory_int_38| |main_~#volArray~0.base| (store (select |v_#memory_int_38| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8)) main_~CCCELVOL2~0))) (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:22:04,664 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= main_~CCCELVOL1~0 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:22:04,710 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 18 [2018-11-23 12:22:04,717 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:04,719 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:04,721 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 37 [2018-11-23 12:22:04,723 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:04,732 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:04,746 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:04,746 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:32, output treesize:31 [2018-11-23 12:22:04,751 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:04,751 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_39|, main_~CCCELVOL1~0]. (let ((.cse0 (select |v_#memory_int_39| |main_~#volArray~0.base|))) (and (<= main_~CCCELVOL1~0 1) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0) (= |#memory_int| (store |v_#memory_int_39| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| 12) main_~CCCELVOL1~0))) (<= 3 (select .cse0 (+ |main_~#volArray~0.offset| 8))))) [2018-11-23 12:22:04,751 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#volArray~0.base|))) (let ((.cse1 (select .cse0 (+ |main_~#volArray~0.offset| 12)))) (and (= |main_~#volArray~0.offset| 0) (<= 3 (select .cse0 (+ |main_~#volArray~0.offset| 8))) (<= .cse1 1) (<= main_~MINVAL~0 .cse1)))) [2018-11-23 12:22:05,367 INFO L256 TraceCheckUtils]: 0: Hoare triple {5705#true} call ULTIMATE.init(); {5705#true} is VALID [2018-11-23 12:22:05,367 INFO L273 TraceCheckUtils]: 1: Hoare triple {5705#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {5705#true} is VALID [2018-11-23 12:22:05,367 INFO L273 TraceCheckUtils]: 2: Hoare triple {5705#true} assume true; {5705#true} is VALID [2018-11-23 12:22:05,367 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5705#true} {5705#true} #89#return; {5705#true} is VALID [2018-11-23 12:22:05,367 INFO L256 TraceCheckUtils]: 4: Hoare triple {5705#true} call #t~ret7 := main(); {5705#true} is VALID [2018-11-23 12:22:05,368 INFO L273 TraceCheckUtils]: 5: Hoare triple {5705#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {5705#true} is VALID [2018-11-23 12:22:05,368 INFO L273 TraceCheckUtils]: 6: Hoare triple {5705#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {5738#(and (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:05,370 INFO L273 TraceCheckUtils]: 7: Hoare triple {5738#(and (<= main_~CCCELVOL1~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {5742#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:05,378 INFO L273 TraceCheckUtils]: 8: Hoare triple {5742#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {5742#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:05,382 INFO L273 TraceCheckUtils]: 9: Hoare triple {5742#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {5742#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:05,382 INFO L273 TraceCheckUtils]: 10: Hoare triple {5742#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {5742#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:05,384 INFO L273 TraceCheckUtils]: 11: Hoare triple {5742#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (<= 3 main_~CCCELVOL2~0) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {5755#(and (<= main_~CCCELVOL1~0 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:05,385 INFO L273 TraceCheckUtils]: 12: Hoare triple {5755#(and (<= main_~CCCELVOL1~0 1) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {5759#(and (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:05,386 INFO L273 TraceCheckUtils]: 13: Hoare triple {5759#(and (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5759#(and (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:05,386 INFO L273 TraceCheckUtils]: 14: Hoare triple {5759#(and (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {5759#(and (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:05,388 INFO L273 TraceCheckUtils]: 15: Hoare triple {5759#(and (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} ~i~0 := 0; {5769#(and (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:05,389 INFO L273 TraceCheckUtils]: 16: Hoare triple {5769#(and (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {5769#(and (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:05,390 INFO L273 TraceCheckUtils]: 17: Hoare triple {5769#(and (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume #t~short6; {5769#(and (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:05,392 INFO L256 TraceCheckUtils]: 18: Hoare triple {5769#(and (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= 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)); {5779#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) 1) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8))))} is VALID [2018-11-23 12:22:05,392 INFO L273 TraceCheckUtils]: 19: Hoare triple {5779#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) 1) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8))))} ~cond := #in~cond; {5779#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) 1) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8))))} is VALID [2018-11-23 12:22:05,394 INFO L273 TraceCheckUtils]: 20: Hoare triple {5779#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) 1) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8))))} assume !(0 == ~cond); {5779#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) 1) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8))))} is VALID [2018-11-23 12:22:05,394 INFO L273 TraceCheckUtils]: 21: Hoare triple {5779#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) 1) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8))))} assume true; {5779#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) 1) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8))))} is VALID [2018-11-23 12:22:05,395 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {5779#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) 1) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8))))} {5769#(and (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #93#return; {5769#(and (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:05,396 INFO L273 TraceCheckUtils]: 23: Hoare triple {5769#(and (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {5769#(and (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:05,396 INFO L273 TraceCheckUtils]: 24: Hoare triple {5769#(and (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5798#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:05,398 INFO L273 TraceCheckUtils]: 25: Hoare triple {5798#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {5798#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:05,399 INFO L273 TraceCheckUtils]: 26: Hoare triple {5798#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume #t~short6; {5798#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:05,400 INFO L256 TraceCheckUtils]: 27: Hoare triple {5798#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= 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)); {5779#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) 1) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8))))} is VALID [2018-11-23 12:22:05,404 INFO L273 TraceCheckUtils]: 28: Hoare triple {5779#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) 1) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8))))} ~cond := #in~cond; {5779#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) 1) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8))))} is VALID [2018-11-23 12:22:05,404 INFO L273 TraceCheckUtils]: 29: Hoare triple {5779#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) 1) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8))))} assume !(0 == ~cond); {5779#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) 1) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8))))} is VALID [2018-11-23 12:22:05,406 INFO L273 TraceCheckUtils]: 30: Hoare triple {5779#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) 1) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8))))} assume true; {5779#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) 1) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8))))} is VALID [2018-11-23 12:22:05,408 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {5779#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_4| Int)) (and (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 12) 1) (<= 3 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_4|) 8))))} {5798#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #93#return; {5798#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:05,408 INFO L273 TraceCheckUtils]: 32: Hoare triple {5798#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {5798#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:05,410 INFO L273 TraceCheckUtils]: 33: Hoare triple {5798#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5826#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:05,410 INFO L273 TraceCheckUtils]: 34: Hoare triple {5826#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0) (<= 3 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {5716#|main_#t~short6|} is VALID [2018-11-23 12:22:05,412 INFO L273 TraceCheckUtils]: 35: Hoare triple {5716#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {5706#false} is VALID [2018-11-23 12:22:05,412 INFO L256 TraceCheckUtils]: 36: Hoare triple {5706#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {5706#false} is VALID [2018-11-23 12:22:05,412 INFO L273 TraceCheckUtils]: 37: Hoare triple {5706#false} ~cond := #in~cond; {5706#false} is VALID [2018-11-23 12:22:05,412 INFO L273 TraceCheckUtils]: 38: Hoare triple {5706#false} assume 0 == ~cond; {5706#false} is VALID [2018-11-23 12:22:05,412 INFO L273 TraceCheckUtils]: 39: Hoare triple {5706#false} assume !false; {5706#false} is VALID [2018-11-23 12:22:05,418 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:22:05,437 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:05,437 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 20 [2018-11-23 12:22:05,437 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 40 [2018-11-23 12:22:05,438 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:05,438 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2018-11-23 12:22:05,551 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:05,551 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-11-23 12:22:05,551 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-11-23 12:22:05,551 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=329, Unknown=0, NotChecked=0, Total=380 [2018-11-23 12:22:05,552 INFO L87 Difference]: Start difference. First operand 99 states and 117 transitions. Second operand 20 states. [2018-11-23 12:22:12,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:12,158 INFO L93 Difference]: Finished difference Result 236 states and 287 transitions. [2018-11-23 12:22:12,158 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2018-11-23 12:22:12,158 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 40 [2018-11-23 12:22:12,159 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:12,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:22:12,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 174 transitions. [2018-11-23 12:22:12,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:22:12,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 174 transitions. [2018-11-23 12:22:12,164 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 28 states and 174 transitions. [2018-11-23 12:22:14,373 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 174 edges. 174 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:14,379 INFO L225 Difference]: With dead ends: 236 [2018-11-23 12:22:14,379 INFO L226 Difference]: Without dead ends: 206 [2018-11-23 12:22:14,380 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 30 SyntacticMatches, 3 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 360 ImplicationChecksByTransitivity, 3.5s TimeCoverageRelationStatistics Valid=399, Invalid=1581, Unknown=0, NotChecked=0, Total=1980 [2018-11-23 12:22:14,381 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states. [2018-11-23 12:22:15,831 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 148. [2018-11-23 12:22:15,831 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:15,831 INFO L82 GeneralOperation]: Start isEquivalent. First operand 206 states. Second operand 148 states. [2018-11-23 12:22:15,832 INFO L74 IsIncluded]: Start isIncluded. First operand 206 states. Second operand 148 states. [2018-11-23 12:22:15,832 INFO L87 Difference]: Start difference. First operand 206 states. Second operand 148 states. [2018-11-23 12:22:15,838 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:15,838 INFO L93 Difference]: Finished difference Result 206 states and 248 transitions. [2018-11-23 12:22:15,838 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 248 transitions. [2018-11-23 12:22:15,839 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:15,839 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:15,840 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand 206 states. [2018-11-23 12:22:15,840 INFO L87 Difference]: Start difference. First operand 148 states. Second operand 206 states. [2018-11-23 12:22:15,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:15,847 INFO L93 Difference]: Finished difference Result 206 states and 248 transitions. [2018-11-23 12:22:15,847 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 248 transitions. [2018-11-23 12:22:15,848 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:15,848 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:15,848 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:15,848 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:15,848 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 148 states. [2018-11-23 12:22:15,852 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 148 states to 148 states and 179 transitions. [2018-11-23 12:22:15,853 INFO L78 Accepts]: Start accepts. Automaton has 148 states and 179 transitions. Word has length 40 [2018-11-23 12:22:15,853 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:15,853 INFO L480 AbstractCegarLoop]: Abstraction has 148 states and 179 transitions. [2018-11-23 12:22:15,853 INFO L481 AbstractCegarLoop]: Interpolant automaton has 20 states. [2018-11-23 12:22:15,853 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 179 transitions. [2018-11-23 12:22:15,854 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-23 12:22:15,854 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:15,854 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:15,855 INFO L423 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:15,855 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:15,855 INFO L82 PathProgramCache]: Analyzing trace with hash -577661070, now seen corresponding path program 1 times [2018-11-23 12:22:15,855 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:15,855 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:15,856 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:15,856 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:22:15,856 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:15,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:16,157 WARN L180 SmtUtils]: Spent 116.00 ms on a formula simplification. DAG size of input: 9 DAG size of output: 3 [2018-11-23 12:22:16,712 INFO L256 TraceCheckUtils]: 0: Hoare triple {6809#true} call ULTIMATE.init(); {6809#true} is VALID [2018-11-23 12:22:16,713 INFO L273 TraceCheckUtils]: 1: Hoare triple {6809#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {6809#true} is VALID [2018-11-23 12:22:16,713 INFO L273 TraceCheckUtils]: 2: Hoare triple {6809#true} assume true; {6809#true} is VALID [2018-11-23 12:22:16,713 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6809#true} {6809#true} #89#return; {6809#true} is VALID [2018-11-23 12:22:16,714 INFO L256 TraceCheckUtils]: 4: Hoare triple {6809#true} call #t~ret7 := main(); {6809#true} is VALID [2018-11-23 12:22:16,714 INFO L273 TraceCheckUtils]: 5: Hoare triple {6809#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {6809#true} is VALID [2018-11-23 12:22:16,730 INFO L273 TraceCheckUtils]: 6: Hoare triple {6809#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {6811#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:22:16,747 INFO L273 TraceCheckUtils]: 7: Hoare triple {6811#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {6812#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:16,755 INFO L273 TraceCheckUtils]: 8: Hoare triple {6812#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {6812#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:16,756 INFO L273 TraceCheckUtils]: 9: Hoare triple {6812#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {6812#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:16,756 INFO L273 TraceCheckUtils]: 10: Hoare triple {6812#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {6812#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:16,757 INFO L273 TraceCheckUtils]: 11: Hoare triple {6812#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {6813#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8)))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:16,758 INFO L273 TraceCheckUtils]: 12: Hoare triple {6813#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8)))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {6813#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8)))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:16,759 INFO L273 TraceCheckUtils]: 13: Hoare triple {6813#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8)))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6814#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= (* 4 main_~i~0) 8) (< 0 (div ~CELLCOUNT~0 4)) (or (<= (* 4 main_~i~0) 7) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8)))))))} is VALID [2018-11-23 12:22:16,760 INFO L273 TraceCheckUtils]: 14: Hoare triple {6814#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= (* 4 main_~i~0) 8) (< 0 (div ~CELLCOUNT~0 4)) (or (<= (* 4 main_~i~0) 7) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8)))))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {6815#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:16,761 INFO L273 TraceCheckUtils]: 15: Hoare triple {6815#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= 1 (div ~CELLCOUNT~0 4)))} ~i~0 := 0; {6816#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:16,762 INFO L273 TraceCheckUtils]: 16: Hoare triple {6816#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {6816#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:16,763 INFO L273 TraceCheckUtils]: 17: Hoare triple {6816#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} assume #t~short6; {6816#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:16,763 INFO L256 TraceCheckUtils]: 18: Hoare triple {6816#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6809#true} is VALID [2018-11-23 12:22:16,763 INFO L273 TraceCheckUtils]: 19: Hoare triple {6809#true} ~cond := #in~cond; {6809#true} is VALID [2018-11-23 12:22:16,764 INFO L273 TraceCheckUtils]: 20: Hoare triple {6809#true} assume !(0 == ~cond); {6809#true} is VALID [2018-11-23 12:22:16,764 INFO L273 TraceCheckUtils]: 21: Hoare triple {6809#true} assume true; {6809#true} is VALID [2018-11-23 12:22:16,765 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {6809#true} {6816#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} #93#return; {6816#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:16,766 INFO L273 TraceCheckUtils]: 23: Hoare triple {6816#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {6816#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:16,767 INFO L273 TraceCheckUtils]: 24: Hoare triple {6816#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6817#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:16,767 INFO L273 TraceCheckUtils]: 25: Hoare triple {6817#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {6817#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:16,768 INFO L273 TraceCheckUtils]: 26: Hoare triple {6817#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} assume #t~short6; {6817#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:16,768 INFO L256 TraceCheckUtils]: 27: Hoare triple {6817#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6809#true} is VALID [2018-11-23 12:22:16,768 INFO L273 TraceCheckUtils]: 28: Hoare triple {6809#true} ~cond := #in~cond; {6809#true} is VALID [2018-11-23 12:22:16,768 INFO L273 TraceCheckUtils]: 29: Hoare triple {6809#true} assume !(0 == ~cond); {6809#true} is VALID [2018-11-23 12:22:16,769 INFO L273 TraceCheckUtils]: 30: Hoare triple {6809#true} assume true; {6809#true} is VALID [2018-11-23 12:22:16,769 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {6809#true} {6817#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} #93#return; {6817#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:16,770 INFO L273 TraceCheckUtils]: 32: Hoare triple {6817#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {6817#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:16,771 INFO L273 TraceCheckUtils]: 33: Hoare triple {6817#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6818#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:22:16,772 INFO L273 TraceCheckUtils]: 34: Hoare triple {6818#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {6819#|main_#t~short6|} is VALID [2018-11-23 12:22:16,773 INFO L273 TraceCheckUtils]: 35: Hoare triple {6819#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {6810#false} is VALID [2018-11-23 12:22:16,773 INFO L256 TraceCheckUtils]: 36: Hoare triple {6810#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6810#false} is VALID [2018-11-23 12:22:16,773 INFO L273 TraceCheckUtils]: 37: Hoare triple {6810#false} ~cond := #in~cond; {6810#false} is VALID [2018-11-23 12:22:16,773 INFO L273 TraceCheckUtils]: 38: Hoare triple {6810#false} assume 0 == ~cond; {6810#false} is VALID [2018-11-23 12:22:16,774 INFO L273 TraceCheckUtils]: 39: Hoare triple {6810#false} assume !false; {6810#false} is VALID [2018-11-23 12:22:16,778 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:22:16,778 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:16,778 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:22:16,788 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:16,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:16,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:16,817 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:16,880 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:22:16,885 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:22:16,888 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:16,897 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:16,907 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:16,908 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:19 [2018-11-23 12:22:16,911 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:16,911 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_40|, main_~CCCELVOL2~0]. (and (= |#memory_int| (store |v_#memory_int_40| |main_~#volArray~0.base| (store (select |v_#memory_int_40| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8)) main_~CCCELVOL2~0))) (<= main_~MINVAL~0 main_~CCCELVOL2~0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:22:16,911 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:22:16,951 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 18 [2018-11-23 12:22:16,957 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:16,960 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 27 [2018-11-23 12:22:16,968 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:16,974 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:16,983 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:16,983 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:26, output treesize:22 [2018-11-23 12:22:17,314 INFO L256 TraceCheckUtils]: 0: Hoare triple {6809#true} call ULTIMATE.init(); {6809#true} is VALID [2018-11-23 12:22:17,314 INFO L273 TraceCheckUtils]: 1: Hoare triple {6809#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {6809#true} is VALID [2018-11-23 12:22:17,314 INFO L273 TraceCheckUtils]: 2: Hoare triple {6809#true} assume true; {6809#true} is VALID [2018-11-23 12:22:17,314 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6809#true} {6809#true} #89#return; {6809#true} is VALID [2018-11-23 12:22:17,314 INFO L256 TraceCheckUtils]: 4: Hoare triple {6809#true} call #t~ret7 := main(); {6809#true} is VALID [2018-11-23 12:22:17,314 INFO L273 TraceCheckUtils]: 5: Hoare triple {6809#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {6809#true} is VALID [2018-11-23 12:22:17,315 INFO L273 TraceCheckUtils]: 6: Hoare triple {6809#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {6841#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:22:17,315 INFO L273 TraceCheckUtils]: 7: Hoare triple {6841#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {6845#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:17,316 INFO L273 TraceCheckUtils]: 8: Hoare triple {6845#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {6845#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:17,316 INFO L273 TraceCheckUtils]: 9: Hoare triple {6845#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {6845#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:17,317 INFO L273 TraceCheckUtils]: 10: Hoare triple {6845#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {6845#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:17,318 INFO L273 TraceCheckUtils]: 11: Hoare triple {6845#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {6858#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:17,319 INFO L273 TraceCheckUtils]: 12: Hoare triple {6858#(and (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8)))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {6862#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:17,320 INFO L273 TraceCheckUtils]: 13: Hoare triple {6862#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6862#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:17,321 INFO L273 TraceCheckUtils]: 14: Hoare triple {6862#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= |main_~#volArray~0.offset| 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {6862#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:17,321 INFO L273 TraceCheckUtils]: 15: Hoare triple {6862#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= |main_~#volArray~0.offset| 0))} ~i~0 := 0; {6872#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:17,322 INFO L273 TraceCheckUtils]: 16: Hoare triple {6872#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {6872#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:17,323 INFO L273 TraceCheckUtils]: 17: Hoare triple {6872#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} assume #t~short6; {6872#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:17,325 INFO L256 TraceCheckUtils]: 18: Hoare triple {6872#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6882#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_6| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_6|) 12) 0))} is VALID [2018-11-23 12:22:17,326 INFO L273 TraceCheckUtils]: 19: Hoare triple {6882#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_6| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_6|) 12) 0))} ~cond := #in~cond; {6882#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_6| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_6|) 12) 0))} is VALID [2018-11-23 12:22:17,326 INFO L273 TraceCheckUtils]: 20: Hoare triple {6882#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_6| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_6|) 12) 0))} assume !(0 == ~cond); {6882#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_6| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_6|) 12) 0))} is VALID [2018-11-23 12:22:17,327 INFO L273 TraceCheckUtils]: 21: Hoare triple {6882#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_6| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_6|) 12) 0))} assume true; {6882#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_6| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_6|) 12) 0))} is VALID [2018-11-23 12:22:17,328 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {6882#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_6| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_6|) 12) 0))} {6872#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} #93#return; {6872#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:17,329 INFO L273 TraceCheckUtils]: 23: Hoare triple {6872#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {6872#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:17,330 INFO L273 TraceCheckUtils]: 24: Hoare triple {6872#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6901#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:17,331 INFO L273 TraceCheckUtils]: 25: Hoare triple {6901#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {6901#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:17,332 INFO L273 TraceCheckUtils]: 26: Hoare triple {6901#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume #t~short6; {6901#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:17,334 INFO L256 TraceCheckUtils]: 27: Hoare triple {6901#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6882#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_6| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_6|) 12) 0))} is VALID [2018-11-23 12:22:17,334 INFO L273 TraceCheckUtils]: 28: Hoare triple {6882#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_6| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_6|) 12) 0))} ~cond := #in~cond; {6882#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_6| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_6|) 12) 0))} is VALID [2018-11-23 12:22:17,335 INFO L273 TraceCheckUtils]: 29: Hoare triple {6882#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_6| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_6|) 12) 0))} assume !(0 == ~cond); {6882#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_6| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_6|) 12) 0))} is VALID [2018-11-23 12:22:17,336 INFO L273 TraceCheckUtils]: 30: Hoare triple {6882#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_6| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_6|) 12) 0))} assume true; {6882#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_6| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_6|) 12) 0))} is VALID [2018-11-23 12:22:17,337 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {6882#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_6| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_6|) 12) 0))} {6901#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} #93#return; {6901#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:17,337 INFO L273 TraceCheckUtils]: 32: Hoare triple {6901#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {6901#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:17,338 INFO L273 TraceCheckUtils]: 33: Hoare triple {6901#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6929#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:17,339 INFO L273 TraceCheckUtils]: 34: Hoare triple {6929#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8))) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {6819#|main_#t~short6|} is VALID [2018-11-23 12:22:17,340 INFO L273 TraceCheckUtils]: 35: Hoare triple {6819#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {6810#false} is VALID [2018-11-23 12:22:17,340 INFO L256 TraceCheckUtils]: 36: Hoare triple {6810#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {6810#false} is VALID [2018-11-23 12:22:17,341 INFO L273 TraceCheckUtils]: 37: Hoare triple {6810#false} ~cond := #in~cond; {6810#false} is VALID [2018-11-23 12:22:17,341 INFO L273 TraceCheckUtils]: 38: Hoare triple {6810#false} assume 0 == ~cond; {6810#false} is VALID [2018-11-23 12:22:17,341 INFO L273 TraceCheckUtils]: 39: Hoare triple {6810#false} assume !false; {6810#false} is VALID [2018-11-23 12:22:17,346 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:22:17,365 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:17,365 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 19 [2018-11-23 12:22:17,365 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 40 [2018-11-23 12:22:17,366 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:17,366 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-23 12:22:17,445 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:17,445 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-23 12:22:17,446 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-23 12:22:17,446 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=280, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:22:17,446 INFO L87 Difference]: Start difference. First operand 148 states and 179 transitions. Second operand 19 states. [2018-11-23 12:22:22,336 WARN L180 SmtUtils]: Spent 309.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 25 [2018-11-23 12:22:25,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:25,557 INFO L93 Difference]: Finished difference Result 346 states and 422 transitions. [2018-11-23 12:22:25,557 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 40 states. [2018-11-23 12:22:25,557 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 40 [2018-11-23 12:22:25,557 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:25,557 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:22:25,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 205 transitions. [2018-11-23 12:22:25,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:22:25,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 205 transitions. [2018-11-23 12:22:25,563 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 40 states and 205 transitions. [2018-11-23 12:22:26,078 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 205 edges. 205 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:26,088 INFO L225 Difference]: With dead ends: 346 [2018-11-23 12:22:26,088 INFO L226 Difference]: Without dead ends: 316 [2018-11-23 12:22:26,089 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 31 SyntacticMatches, 4 SemanticMatches, 54 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 855 ImplicationChecksByTransitivity, 2.7s TimeCoverageRelationStatistics Valid=583, Invalid=2497, Unknown=0, NotChecked=0, Total=3080 [2018-11-23 12:22:26,090 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 316 states. [2018-11-23 12:22:27,332 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 316 to 173. [2018-11-23 12:22:27,333 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:27,333 INFO L82 GeneralOperation]: Start isEquivalent. First operand 316 states. Second operand 173 states. [2018-11-23 12:22:27,333 INFO L74 IsIncluded]: Start isIncluded. First operand 316 states. Second operand 173 states. [2018-11-23 12:22:27,333 INFO L87 Difference]: Start difference. First operand 316 states. Second operand 173 states. [2018-11-23 12:22:27,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:27,342 INFO L93 Difference]: Finished difference Result 316 states and 386 transitions. [2018-11-23 12:22:27,342 INFO L276 IsEmpty]: Start isEmpty. Operand 316 states and 386 transitions. [2018-11-23 12:22:27,343 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:27,344 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:27,344 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand 316 states. [2018-11-23 12:22:27,344 INFO L87 Difference]: Start difference. First operand 173 states. Second operand 316 states. [2018-11-23 12:22:27,353 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:27,353 INFO L93 Difference]: Finished difference Result 316 states and 386 transitions. [2018-11-23 12:22:27,353 INFO L276 IsEmpty]: Start isEmpty. Operand 316 states and 386 transitions. [2018-11-23 12:22:27,354 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:27,354 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:27,355 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:27,355 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:27,355 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 173 states. [2018-11-23 12:22:27,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 173 states to 173 states and 217 transitions. [2018-11-23 12:22:27,359 INFO L78 Accepts]: Start accepts. Automaton has 173 states and 217 transitions. Word has length 40 [2018-11-23 12:22:27,359 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:27,359 INFO L480 AbstractCegarLoop]: Abstraction has 173 states and 217 transitions. [2018-11-23 12:22:27,359 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-23 12:22:27,359 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 217 transitions. [2018-11-23 12:22:27,360 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-23 12:22:27,360 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:27,360 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:27,361 INFO L423 AbstractCegarLoop]: === Iteration 16 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:27,361 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:27,361 INFO L82 PathProgramCache]: Analyzing trace with hash 1318015414, now seen corresponding path program 1 times [2018-11-23 12:22:27,361 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:27,361 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:27,362 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:27,362 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:27,362 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:27,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:27,527 INFO L256 TraceCheckUtils]: 0: Hoare triple {8331#true} call ULTIMATE.init(); {8331#true} is VALID [2018-11-23 12:22:27,527 INFO L273 TraceCheckUtils]: 1: Hoare triple {8331#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {8331#true} is VALID [2018-11-23 12:22:27,527 INFO L273 TraceCheckUtils]: 2: Hoare triple {8331#true} assume true; {8331#true} is VALID [2018-11-23 12:22:27,528 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8331#true} {8331#true} #89#return; {8331#true} is VALID [2018-11-23 12:22:27,528 INFO L256 TraceCheckUtils]: 4: Hoare triple {8331#true} call #t~ret7 := main(); {8331#true} is VALID [2018-11-23 12:22:27,528 INFO L273 TraceCheckUtils]: 5: Hoare triple {8331#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {8331#true} is VALID [2018-11-23 12:22:27,529 INFO L273 TraceCheckUtils]: 6: Hoare triple {8331#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {8333#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-23 12:22:27,529 INFO L273 TraceCheckUtils]: 7: Hoare triple {8333#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {8333#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-23 12:22:27,530 INFO L273 TraceCheckUtils]: 8: Hoare triple {8333#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {8333#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-23 12:22:27,530 INFO L273 TraceCheckUtils]: 9: Hoare triple {8333#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {8333#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-23 12:22:27,530 INFO L273 TraceCheckUtils]: 10: Hoare triple {8333#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {8333#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} is VALID [2018-11-23 12:22:27,531 INFO L273 TraceCheckUtils]: 11: Hoare triple {8333#(<= (+ main_~CCCELVOL1~0 2) main_~CCCELVOL2~0)} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {8334#(<= (+ main_~CCCELVOL1~0 3) main_~MINVAL~0)} is VALID [2018-11-23 12:22:27,532 INFO L273 TraceCheckUtils]: 12: Hoare triple {8334#(<= (+ main_~CCCELVOL1~0 3) main_~MINVAL~0)} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {8332#false} is VALID [2018-11-23 12:22:27,532 INFO L273 TraceCheckUtils]: 13: Hoare triple {8332#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8332#false} is VALID [2018-11-23 12:22:27,532 INFO L273 TraceCheckUtils]: 14: Hoare triple {8332#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {8332#false} is VALID [2018-11-23 12:22:27,532 INFO L273 TraceCheckUtils]: 15: Hoare triple {8332#false} ~i~0 := 0; {8332#false} is VALID [2018-11-23 12:22:27,533 INFO L273 TraceCheckUtils]: 16: Hoare triple {8332#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {8332#false} is VALID [2018-11-23 12:22:27,533 INFO L273 TraceCheckUtils]: 17: Hoare triple {8332#false} assume #t~short6; {8332#false} is VALID [2018-11-23 12:22:27,533 INFO L256 TraceCheckUtils]: 18: Hoare triple {8332#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {8331#true} is VALID [2018-11-23 12:22:27,533 INFO L273 TraceCheckUtils]: 19: Hoare triple {8331#true} ~cond := #in~cond; {8331#true} is VALID [2018-11-23 12:22:27,533 INFO L273 TraceCheckUtils]: 20: Hoare triple {8331#true} assume !(0 == ~cond); {8331#true} is VALID [2018-11-23 12:22:27,534 INFO L273 TraceCheckUtils]: 21: Hoare triple {8331#true} assume true; {8331#true} is VALID [2018-11-23 12:22:27,534 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {8331#true} {8332#false} #93#return; {8332#false} is VALID [2018-11-23 12:22:27,534 INFO L273 TraceCheckUtils]: 23: Hoare triple {8332#false} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {8332#false} is VALID [2018-11-23 12:22:27,535 INFO L273 TraceCheckUtils]: 24: Hoare triple {8332#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8332#false} is VALID [2018-11-23 12:22:27,535 INFO L273 TraceCheckUtils]: 25: Hoare triple {8332#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {8332#false} is VALID [2018-11-23 12:22:27,535 INFO L273 TraceCheckUtils]: 26: Hoare triple {8332#false} assume #t~short6; {8332#false} is VALID [2018-11-23 12:22:27,536 INFO L256 TraceCheckUtils]: 27: Hoare triple {8332#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {8331#true} is VALID [2018-11-23 12:22:27,536 INFO L273 TraceCheckUtils]: 28: Hoare triple {8331#true} ~cond := #in~cond; {8331#true} is VALID [2018-11-23 12:22:27,536 INFO L273 TraceCheckUtils]: 29: Hoare triple {8331#true} assume !(0 == ~cond); {8331#true} is VALID [2018-11-23 12:22:27,536 INFO L273 TraceCheckUtils]: 30: Hoare triple {8331#true} assume true; {8331#true} is VALID [2018-11-23 12:22:27,536 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {8331#true} {8332#false} #93#return; {8332#false} is VALID [2018-11-23 12:22:27,537 INFO L273 TraceCheckUtils]: 32: Hoare triple {8332#false} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {8332#false} is VALID [2018-11-23 12:22:27,537 INFO L273 TraceCheckUtils]: 33: Hoare triple {8332#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8332#false} is VALID [2018-11-23 12:22:27,537 INFO L273 TraceCheckUtils]: 34: Hoare triple {8332#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {8332#false} is VALID [2018-11-23 12:22:27,537 INFO L273 TraceCheckUtils]: 35: Hoare triple {8332#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {8332#false} is VALID [2018-11-23 12:22:27,537 INFO L256 TraceCheckUtils]: 36: Hoare triple {8332#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {8332#false} is VALID [2018-11-23 12:22:27,537 INFO L273 TraceCheckUtils]: 37: Hoare triple {8332#false} ~cond := #in~cond; {8332#false} is VALID [2018-11-23 12:22:27,538 INFO L273 TraceCheckUtils]: 38: Hoare triple {8332#false} assume 0 == ~cond; {8332#false} is VALID [2018-11-23 12:22:27,538 INFO L273 TraceCheckUtils]: 39: Hoare triple {8332#false} assume !false; {8332#false} is VALID [2018-11-23 12:22:27,539 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 12:22:27,539 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:22:27,539 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:22:27,540 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 40 [2018-11-23 12:22:27,540 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:27,540 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:22:27,584 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:27,584 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:22:27,585 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:22:27,585 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:22:27,585 INFO L87 Difference]: Start difference. First operand 173 states and 217 transitions. Second operand 4 states. [2018-11-23 12:22:28,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:28,786 INFO L93 Difference]: Finished difference Result 265 states and 329 transitions. [2018-11-23 12:22:28,786 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:22:28,786 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 40 [2018-11-23 12:22:28,786 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:28,786 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:22:28,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 73 transitions. [2018-11-23 12:22:28,787 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:22:28,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 73 transitions. [2018-11-23 12:22:28,788 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 73 transitions. [2018-11-23 12:22:28,860 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-23 12:22:28,864 INFO L225 Difference]: With dead ends: 265 [2018-11-23 12:22:28,864 INFO L226 Difference]: Without dead ends: 195 [2018-11-23 12:22:28,865 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:22:28,865 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 195 states. [2018-11-23 12:22:29,880 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 195 to 172. [2018-11-23 12:22:29,880 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:29,881 INFO L82 GeneralOperation]: Start isEquivalent. First operand 195 states. Second operand 172 states. [2018-11-23 12:22:29,881 INFO L74 IsIncluded]: Start isIncluded. First operand 195 states. Second operand 172 states. [2018-11-23 12:22:29,881 INFO L87 Difference]: Start difference. First operand 195 states. Second operand 172 states. [2018-11-23 12:22:29,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:29,886 INFO L93 Difference]: Finished difference Result 195 states and 240 transitions. [2018-11-23 12:22:29,886 INFO L276 IsEmpty]: Start isEmpty. Operand 195 states and 240 transitions. [2018-11-23 12:22:29,887 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:29,887 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:29,887 INFO L74 IsIncluded]: Start isIncluded. First operand 172 states. Second operand 195 states. [2018-11-23 12:22:29,887 INFO L87 Difference]: Start difference. First operand 172 states. Second operand 195 states. [2018-11-23 12:22:29,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:29,892 INFO L93 Difference]: Finished difference Result 195 states and 240 transitions. [2018-11-23 12:22:29,892 INFO L276 IsEmpty]: Start isEmpty. Operand 195 states and 240 transitions. [2018-11-23 12:22:29,893 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:29,893 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:29,893 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:29,893 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:29,893 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 172 states. [2018-11-23 12:22:29,897 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 212 transitions. [2018-11-23 12:22:29,897 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 212 transitions. Word has length 40 [2018-11-23 12:22:29,898 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:29,898 INFO L480 AbstractCegarLoop]: Abstraction has 172 states and 212 transitions. [2018-11-23 12:22:29,898 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:22:29,898 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 212 transitions. [2018-11-23 12:22:29,898 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-23 12:22:29,899 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:29,899 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:29,899 INFO L423 AbstractCegarLoop]: === Iteration 17 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:29,899 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:29,899 INFO L82 PathProgramCache]: Analyzing trace with hash 808542324, now seen corresponding path program 1 times [2018-11-23 12:22:29,899 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:29,900 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:29,900 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:29,900 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:29,900 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:29,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:30,449 INFO L256 TraceCheckUtils]: 0: Hoare triple {9297#true} call ULTIMATE.init(); {9297#true} is VALID [2018-11-23 12:22:30,449 INFO L273 TraceCheckUtils]: 1: Hoare triple {9297#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {9297#true} is VALID [2018-11-23 12:22:30,449 INFO L273 TraceCheckUtils]: 2: Hoare triple {9297#true} assume true; {9297#true} is VALID [2018-11-23 12:22:30,449 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9297#true} {9297#true} #89#return; {9297#true} is VALID [2018-11-23 12:22:30,450 INFO L256 TraceCheckUtils]: 4: Hoare triple {9297#true} call #t~ret7 := main(); {9297#true} is VALID [2018-11-23 12:22:30,450 INFO L273 TraceCheckUtils]: 5: Hoare triple {9297#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {9297#true} is VALID [2018-11-23 12:22:30,469 INFO L273 TraceCheckUtils]: 6: Hoare triple {9297#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {9299#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:22:30,485 INFO L273 TraceCheckUtils]: 7: Hoare triple {9299#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {9300#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:30,490 INFO L273 TraceCheckUtils]: 8: Hoare triple {9300#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {9300#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:30,490 INFO L273 TraceCheckUtils]: 9: Hoare triple {9300#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {9300#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:30,491 INFO L273 TraceCheckUtils]: 10: Hoare triple {9300#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {9300#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:30,492 INFO L273 TraceCheckUtils]: 11: Hoare triple {9300#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (div ~CELLCOUNT~0 4)))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {9301#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (< 0 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:30,493 INFO L273 TraceCheckUtils]: 12: Hoare triple {9301#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (< 0 (div ~CELLCOUNT~0 4)))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {9301#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (< 0 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:30,494 INFO L273 TraceCheckUtils]: 13: Hoare triple {9301#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 4)) 0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 8)))) (< 0 (div ~CELLCOUNT~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9302#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= (* 4 main_~i~0) 8) (< 0 (div ~CELLCOUNT~0 4)) (or (<= (* 4 main_~i~0) 7) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8)))))))} is VALID [2018-11-23 12:22:30,496 INFO L273 TraceCheckUtils]: 14: Hoare triple {9302#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= (* 4 main_~i~0) 8) (< 0 (div ~CELLCOUNT~0 4)) (or (<= (* 4 main_~i~0) 7) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8)))))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {9303#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:30,497 INFO L273 TraceCheckUtils]: 15: Hoare triple {9303#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} ~i~0 := 0; {9304#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:30,498 INFO L273 TraceCheckUtils]: 16: Hoare triple {9304#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {9304#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:30,498 INFO L273 TraceCheckUtils]: 17: Hoare triple {9304#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} assume #t~short6; {9304#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:30,499 INFO L256 TraceCheckUtils]: 18: Hoare triple {9304#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9297#true} is VALID [2018-11-23 12:22:30,499 INFO L273 TraceCheckUtils]: 19: Hoare triple {9297#true} ~cond := #in~cond; {9297#true} is VALID [2018-11-23 12:22:30,499 INFO L273 TraceCheckUtils]: 20: Hoare triple {9297#true} assume !(0 == ~cond); {9297#true} is VALID [2018-11-23 12:22:30,499 INFO L273 TraceCheckUtils]: 21: Hoare triple {9297#true} assume true; {9297#true} is VALID [2018-11-23 12:22:30,500 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {9297#true} {9304#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} #93#return; {9304#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:30,501 INFO L273 TraceCheckUtils]: 23: Hoare triple {9304#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {9304#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:30,502 INFO L273 TraceCheckUtils]: 24: Hoare triple {9304#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (= main_~i~0 0) (<= 1 (div ~CELLCOUNT~0 4)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9305#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:30,503 INFO L273 TraceCheckUtils]: 25: Hoare triple {9305#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {9305#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:30,504 INFO L273 TraceCheckUtils]: 26: Hoare triple {9305#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} assume #t~short6; {9305#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:30,504 INFO L256 TraceCheckUtils]: 27: Hoare triple {9305#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9297#true} is VALID [2018-11-23 12:22:30,504 INFO L273 TraceCheckUtils]: 28: Hoare triple {9297#true} ~cond := #in~cond; {9297#true} is VALID [2018-11-23 12:22:30,505 INFO L273 TraceCheckUtils]: 29: Hoare triple {9297#true} assume !(0 == ~cond); {9297#true} is VALID [2018-11-23 12:22:30,505 INFO L273 TraceCheckUtils]: 30: Hoare triple {9297#true} assume true; {9297#true} is VALID [2018-11-23 12:22:30,506 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {9297#true} {9305#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} #93#return; {9305#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:30,506 INFO L273 TraceCheckUtils]: 32: Hoare triple {9305#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {9305#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} is VALID [2018-11-23 12:22:30,508 INFO L273 TraceCheckUtils]: 33: Hoare triple {9305#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 8))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 4) (<= 1 (div ~CELLCOUNT~0 4)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9306#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:22:30,508 INFO L273 TraceCheckUtils]: 34: Hoare triple {9306#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {9306#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:22:30,509 INFO L273 TraceCheckUtils]: 35: Hoare triple {9306#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {9307#|main_#t~short6|} is VALID [2018-11-23 12:22:30,510 INFO L256 TraceCheckUtils]: 36: Hoare triple {9307#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:22:30,510 INFO L273 TraceCheckUtils]: 37: Hoare triple {9308#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {9309#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:22:30,511 INFO L273 TraceCheckUtils]: 38: Hoare triple {9309#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {9298#false} is VALID [2018-11-23 12:22:30,511 INFO L273 TraceCheckUtils]: 39: Hoare triple {9298#false} assume !false; {9298#false} is VALID [2018-11-23 12:22:30,516 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 12 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:22:30,516 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:30,516 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:22:30,525 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:30,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:30,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:30,557 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:30,654 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:22:30,664 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:22:30,669 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:30,671 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:30,679 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:30,680 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-23 12:22:30,791 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 18 [2018-11-23 12:22:30,801 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:30,802 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 27 [2018-11-23 12:22:30,812 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:30,823 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:30,833 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:30,833 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:26, output treesize:22 [2018-11-23 12:22:31,456 INFO L256 TraceCheckUtils]: 0: Hoare triple {9297#true} call ULTIMATE.init(); {9297#true} is VALID [2018-11-23 12:22:31,456 INFO L273 TraceCheckUtils]: 1: Hoare triple {9297#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {9297#true} is VALID [2018-11-23 12:22:31,456 INFO L273 TraceCheckUtils]: 2: Hoare triple {9297#true} assume true; {9297#true} is VALID [2018-11-23 12:22:31,456 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9297#true} {9297#true} #89#return; {9297#true} is VALID [2018-11-23 12:22:31,457 INFO L256 TraceCheckUtils]: 4: Hoare triple {9297#true} call #t~ret7 := main(); {9297#true} is VALID [2018-11-23 12:22:31,457 INFO L273 TraceCheckUtils]: 5: Hoare triple {9297#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {9297#true} is VALID [2018-11-23 12:22:31,457 INFO L273 TraceCheckUtils]: 6: Hoare triple {9297#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {9331#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:22:31,458 INFO L273 TraceCheckUtils]: 7: Hoare triple {9331#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {9335#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:31,459 INFO L273 TraceCheckUtils]: 8: Hoare triple {9335#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {9335#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:31,460 INFO L273 TraceCheckUtils]: 9: Hoare triple {9335#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {9335#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:31,460 INFO L273 TraceCheckUtils]: 10: Hoare triple {9335#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {9335#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:31,461 INFO L273 TraceCheckUtils]: 11: Hoare triple {9335#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {9348#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:31,463 INFO L273 TraceCheckUtils]: 12: Hoare triple {9348#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8))) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {9352#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:22:31,464 INFO L273 TraceCheckUtils]: 13: Hoare triple {9352#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9352#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:22:31,464 INFO L273 TraceCheckUtils]: 14: Hoare triple {9352#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {9352#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:22:31,465 INFO L273 TraceCheckUtils]: 15: Hoare triple {9352#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} ~i~0 := 0; {9362#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:31,466 INFO L273 TraceCheckUtils]: 16: Hoare triple {9362#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {9362#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:31,467 INFO L273 TraceCheckUtils]: 17: Hoare triple {9362#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} assume #t~short6; {9362#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:31,468 INFO L256 TraceCheckUtils]: 18: Hoare triple {9362#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9372#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_8| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 8) 0)))} is VALID [2018-11-23 12:22:31,469 INFO L273 TraceCheckUtils]: 19: Hoare triple {9372#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_8| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 8) 0)))} ~cond := #in~cond; {9372#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_8| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 8) 0)))} is VALID [2018-11-23 12:22:31,469 INFO L273 TraceCheckUtils]: 20: Hoare triple {9372#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_8| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 8) 0)))} assume !(0 == ~cond); {9372#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_8| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 8) 0)))} is VALID [2018-11-23 12:22:31,470 INFO L273 TraceCheckUtils]: 21: Hoare triple {9372#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_8| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 8) 0)))} assume true; {9372#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_8| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 8) 0)))} is VALID [2018-11-23 12:22:31,471 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {9372#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_8| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 8) 0)))} {9362#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} #93#return; {9362#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:31,472 INFO L273 TraceCheckUtils]: 23: Hoare triple {9362#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {9362#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:31,473 INFO L273 TraceCheckUtils]: 24: Hoare triple {9362#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9391#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:22:31,474 INFO L273 TraceCheckUtils]: 25: Hoare triple {9391#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {9391#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:22:31,474 INFO L273 TraceCheckUtils]: 26: Hoare triple {9391#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume #t~short6; {9391#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:22:31,476 INFO L256 TraceCheckUtils]: 27: Hoare triple {9391#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9372#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_8| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 8) 0)))} is VALID [2018-11-23 12:22:31,477 INFO L273 TraceCheckUtils]: 28: Hoare triple {9372#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_8| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 8) 0)))} ~cond := #in~cond; {9372#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_8| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 8) 0)))} is VALID [2018-11-23 12:22:31,477 INFO L273 TraceCheckUtils]: 29: Hoare triple {9372#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_8| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 8) 0)))} assume !(0 == ~cond); {9372#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_8| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 8) 0)))} is VALID [2018-11-23 12:22:31,478 INFO L273 TraceCheckUtils]: 30: Hoare triple {9372#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_8| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 8) 0)))} assume true; {9372#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_8| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 8) 0)))} is VALID [2018-11-23 12:22:31,478 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {9372#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_8| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 12)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_8|) 8) 0)))} {9391#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} #93#return; {9391#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:22:31,479 INFO L273 TraceCheckUtils]: 32: Hoare triple {9391#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {9391#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:22:31,480 INFO L273 TraceCheckUtils]: 33: Hoare triple {9391#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9419#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:22:31,481 INFO L273 TraceCheckUtils]: 34: Hoare triple {9419#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {9419#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} is VALID [2018-11-23 12:22:31,482 INFO L273 TraceCheckUtils]: 35: Hoare triple {9419#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 8)) 0))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {9307#|main_#t~short6|} is VALID [2018-11-23 12:22:31,483 INFO L256 TraceCheckUtils]: 36: Hoare triple {9307#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {9429#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:22:31,484 INFO L273 TraceCheckUtils]: 37: Hoare triple {9429#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {9433#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:22:31,484 INFO L273 TraceCheckUtils]: 38: Hoare triple {9433#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9298#false} is VALID [2018-11-23 12:22:31,484 INFO L273 TraceCheckUtils]: 39: Hoare triple {9298#false} assume !false; {9298#false} is VALID [2018-11-23 12:22:31,490 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:22:31,508 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:31,509 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 23 [2018-11-23 12:22:31,509 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 40 [2018-11-23 12:22:31,509 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:31,509 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-23 12:22:31,593 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:31,593 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-23 12:22:31,594 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-23 12:22:31,594 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=72, Invalid=434, Unknown=0, NotChecked=0, Total=506 [2018-11-23 12:22:31,594 INFO L87 Difference]: Start difference. First operand 172 states and 212 transitions. Second operand 23 states. [2018-11-23 12:22:39,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:39,921 INFO L93 Difference]: Finished difference Result 357 states and 445 transitions. [2018-11-23 12:22:39,921 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 39 states. [2018-11-23 12:22:39,921 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 40 [2018-11-23 12:22:39,922 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:39,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:22:39,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 181 transitions. [2018-11-23 12:22:39,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:22:39,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 181 transitions. [2018-11-23 12:22:39,926 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 39 states and 181 transitions. [2018-11-23 12:22:40,283 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 181 edges. 181 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:40,292 INFO L225 Difference]: With dead ends: 357 [2018-11-23 12:22:40,292 INFO L226 Difference]: Without dead ends: 355 [2018-11-23 12:22:40,294 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 30 SyntacticMatches, 5 SemanticMatches, 57 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 955 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=543, Invalid=2879, Unknown=0, NotChecked=0, Total=3422 [2018-11-23 12:22:40,294 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 355 states. [2018-11-23 12:22:42,465 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 355 to 236. [2018-11-23 12:22:42,466 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:42,466 INFO L82 GeneralOperation]: Start isEquivalent. First operand 355 states. Second operand 236 states. [2018-11-23 12:22:42,466 INFO L74 IsIncluded]: Start isIncluded. First operand 355 states. Second operand 236 states. [2018-11-23 12:22:42,466 INFO L87 Difference]: Start difference. First operand 355 states. Second operand 236 states. [2018-11-23 12:22:42,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:42,478 INFO L93 Difference]: Finished difference Result 355 states and 442 transitions. [2018-11-23 12:22:42,478 INFO L276 IsEmpty]: Start isEmpty. Operand 355 states and 442 transitions. [2018-11-23 12:22:42,479 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:42,479 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:42,479 INFO L74 IsIncluded]: Start isIncluded. First operand 236 states. Second operand 355 states. [2018-11-23 12:22:42,480 INFO L87 Difference]: Start difference. First operand 236 states. Second operand 355 states. [2018-11-23 12:22:42,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:42,491 INFO L93 Difference]: Finished difference Result 355 states and 442 transitions. [2018-11-23 12:22:42,491 INFO L276 IsEmpty]: Start isEmpty. Operand 355 states and 442 transitions. [2018-11-23 12:22:42,492 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:42,492 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:42,492 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:42,493 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:42,493 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 236 states. [2018-11-23 12:22:42,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 236 states to 236 states and 289 transitions. [2018-11-23 12:22:42,498 INFO L78 Accepts]: Start accepts. Automaton has 236 states and 289 transitions. Word has length 40 [2018-11-23 12:22:42,499 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:42,499 INFO L480 AbstractCegarLoop]: Abstraction has 236 states and 289 transitions. [2018-11-23 12:22:42,499 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-23 12:22:42,499 INFO L276 IsEmpty]: Start isEmpty. Operand 236 states and 289 transitions. [2018-11-23 12:22:42,500 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2018-11-23 12:22:42,500 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:42,500 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:42,500 INFO L423 AbstractCegarLoop]: === Iteration 18 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:42,500 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:42,501 INFO L82 PathProgramCache]: Analyzing trace with hash 754664901, now seen corresponding path program 3 times [2018-11-23 12:22:42,501 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:42,501 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:42,502 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:42,502 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:42,502 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:42,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:43,202 INFO L256 TraceCheckUtils]: 0: Hoare triple {10999#true} call ULTIMATE.init(); {10999#true} is VALID [2018-11-23 12:22:43,203 INFO L273 TraceCheckUtils]: 1: Hoare triple {10999#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {10999#true} is VALID [2018-11-23 12:22:43,203 INFO L273 TraceCheckUtils]: 2: Hoare triple {10999#true} assume true; {10999#true} is VALID [2018-11-23 12:22:43,203 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10999#true} {10999#true} #89#return; {10999#true} is VALID [2018-11-23 12:22:43,203 INFO L256 TraceCheckUtils]: 4: Hoare triple {10999#true} call #t~ret7 := main(); {10999#true} is VALID [2018-11-23 12:22:43,204 INFO L273 TraceCheckUtils]: 5: Hoare triple {10999#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {10999#true} is VALID [2018-11-23 12:22:43,205 INFO L273 TraceCheckUtils]: 6: Hoare triple {10999#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {11001#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:22:43,205 INFO L273 TraceCheckUtils]: 7: Hoare triple {11001#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {11002#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:22:43,206 INFO L273 TraceCheckUtils]: 8: Hoare triple {11002#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {11002#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:22:43,206 INFO L273 TraceCheckUtils]: 9: Hoare triple {11002#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {11002#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:22:43,207 INFO L273 TraceCheckUtils]: 10: Hoare triple {11002#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {11002#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:22:43,208 INFO L273 TraceCheckUtils]: 11: Hoare triple {11002#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {11002#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:22:43,209 INFO L273 TraceCheckUtils]: 12: Hoare triple {11002#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {11003#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:43,210 INFO L273 TraceCheckUtils]: 13: Hoare triple {11003#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11004#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= (* 4 main_~i~0) 8) (or (<= (* 4 main_~i~0) 7) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:22:43,211 INFO L273 TraceCheckUtils]: 14: Hoare triple {11004#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= (* 4 main_~i~0) 8) (or (<= (* 4 main_~i~0) 7) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {11005#(and (<= ~CELLCOUNT~0 4) (or (<= ~CELLCOUNT~0 3) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))))} is VALID [2018-11-23 12:22:43,212 INFO L273 TraceCheckUtils]: 15: Hoare triple {11005#(and (<= ~CELLCOUNT~0 4) (or (<= ~CELLCOUNT~0 3) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))))} ~i~0 := 0; {11006#(and (<= ~CELLCOUNT~0 4) (or (<= ~CELLCOUNT~0 3) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:43,213 INFO L273 TraceCheckUtils]: 16: Hoare triple {11006#(and (<= ~CELLCOUNT~0 4) (or (<= ~CELLCOUNT~0 3) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {11006#(and (<= ~CELLCOUNT~0 4) (or (<= ~CELLCOUNT~0 3) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:43,230 INFO L273 TraceCheckUtils]: 17: Hoare triple {11006#(and (<= ~CELLCOUNT~0 4) (or (<= ~CELLCOUNT~0 3) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} assume #t~short6; {11006#(and (<= ~CELLCOUNT~0 4) (or (<= ~CELLCOUNT~0 3) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:43,230 INFO L256 TraceCheckUtils]: 18: Hoare triple {11006#(and (<= ~CELLCOUNT~0 4) (or (<= ~CELLCOUNT~0 3) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10999#true} is VALID [2018-11-23 12:22:43,230 INFO L273 TraceCheckUtils]: 19: Hoare triple {10999#true} ~cond := #in~cond; {10999#true} is VALID [2018-11-23 12:22:43,231 INFO L273 TraceCheckUtils]: 20: Hoare triple {10999#true} assume !(0 == ~cond); {10999#true} is VALID [2018-11-23 12:22:43,231 INFO L273 TraceCheckUtils]: 21: Hoare triple {10999#true} assume true; {10999#true} is VALID [2018-11-23 12:22:43,246 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {10999#true} {11006#(and (<= ~CELLCOUNT~0 4) (or (<= ~CELLCOUNT~0 3) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} #93#return; {11006#(and (<= ~CELLCOUNT~0 4) (or (<= ~CELLCOUNT~0 3) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:43,260 INFO L273 TraceCheckUtils]: 23: Hoare triple {11006#(and (<= ~CELLCOUNT~0 4) (or (<= ~CELLCOUNT~0 3) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {11006#(and (<= ~CELLCOUNT~0 4) (or (<= ~CELLCOUNT~0 3) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:43,269 INFO L273 TraceCheckUtils]: 24: Hoare triple {11006#(and (<= ~CELLCOUNT~0 4) (or (<= ~CELLCOUNT~0 3) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11007#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} is VALID [2018-11-23 12:22:43,284 INFO L273 TraceCheckUtils]: 25: Hoare triple {11007#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {11007#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} is VALID [2018-11-23 12:22:43,293 INFO L273 TraceCheckUtils]: 26: Hoare triple {11007#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} assume #t~short6; {11007#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} is VALID [2018-11-23 12:22:43,293 INFO L256 TraceCheckUtils]: 27: Hoare triple {11007#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {10999#true} is VALID [2018-11-23 12:22:43,293 INFO L273 TraceCheckUtils]: 28: Hoare triple {10999#true} ~cond := #in~cond; {10999#true} is VALID [2018-11-23 12:22:43,293 INFO L273 TraceCheckUtils]: 29: Hoare triple {10999#true} assume !(0 == ~cond); {10999#true} is VALID [2018-11-23 12:22:43,294 INFO L273 TraceCheckUtils]: 30: Hoare triple {10999#true} assume true; {10999#true} is VALID [2018-11-23 12:22:43,310 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {10999#true} {11007#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} #93#return; {11007#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} is VALID [2018-11-23 12:22:43,319 INFO L273 TraceCheckUtils]: 32: Hoare triple {11007#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {11007#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} is VALID [2018-11-23 12:22:43,321 INFO L273 TraceCheckUtils]: 33: Hoare triple {11007#(and (or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11008#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:22:43,322 INFO L273 TraceCheckUtils]: 34: Hoare triple {11008#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {11008#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:22:43,323 INFO L273 TraceCheckUtils]: 35: Hoare triple {11008#(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; {11008#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:22:43,323 INFO L256 TraceCheckUtils]: 36: Hoare triple {11008#(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)); {10999#true} is VALID [2018-11-23 12:22:43,323 INFO L273 TraceCheckUtils]: 37: Hoare triple {10999#true} ~cond := #in~cond; {10999#true} is VALID [2018-11-23 12:22:43,323 INFO L273 TraceCheckUtils]: 38: Hoare triple {10999#true} assume !(0 == ~cond); {10999#true} is VALID [2018-11-23 12:22:43,323 INFO L273 TraceCheckUtils]: 39: Hoare triple {10999#true} assume true; {10999#true} is VALID [2018-11-23 12:22:43,324 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {10999#true} {11008#(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)))} #93#return; {11008#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:22:43,325 INFO L273 TraceCheckUtils]: 41: Hoare triple {11008#(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~mem4;havoc #t~short6;havoc #t~mem5; {11008#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:22:43,325 INFO L273 TraceCheckUtils]: 42: Hoare triple {11008#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11009#(or (<= ~CELLCOUNT~0 main_~i~0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))))} is VALID [2018-11-23 12:22:43,327 INFO L273 TraceCheckUtils]: 43: Hoare triple {11009#(or (<= ~CELLCOUNT~0 main_~i~0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {11010#|main_#t~short6|} is VALID [2018-11-23 12:22:43,327 INFO L273 TraceCheckUtils]: 44: Hoare triple {11010#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {11000#false} is VALID [2018-11-23 12:22:43,327 INFO L256 TraceCheckUtils]: 45: Hoare triple {11000#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {11000#false} is VALID [2018-11-23 12:22:43,327 INFO L273 TraceCheckUtils]: 46: Hoare triple {11000#false} ~cond := #in~cond; {11000#false} is VALID [2018-11-23 12:22:43,327 INFO L273 TraceCheckUtils]: 47: Hoare triple {11000#false} assume 0 == ~cond; {11000#false} is VALID [2018-11-23 12:22:43,327 INFO L273 TraceCheckUtils]: 48: Hoare triple {11000#false} assume !false; {11000#false} is VALID [2018-11-23 12:22:43,335 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 14 proven. 17 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:22:43,336 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:43,336 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:22:43,344 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:22:43,372 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 12:22:43,372 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:22:43,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:43,389 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:43,455 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 12:22:43,461 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 12:22:43,464 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:43,468 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:43,481 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:43,481 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:17, output treesize:9 [2018-11-23 12:22:43,484 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:43,484 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_44|, main_~CCCELVOL1~0]. (and (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= |#memory_int| (store |v_#memory_int_44| |main_~#volArray~0.base| (store (select |v_#memory_int_44| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12) main_~CCCELVOL1~0)))) [2018-11-23 12:22:43,485 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))) [2018-11-23 12:22:43,822 INFO L256 TraceCheckUtils]: 0: Hoare triple {10999#true} call ULTIMATE.init(); {10999#true} is VALID [2018-11-23 12:22:43,822 INFO L273 TraceCheckUtils]: 1: Hoare triple {10999#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {10999#true} is VALID [2018-11-23 12:22:43,822 INFO L273 TraceCheckUtils]: 2: Hoare triple {10999#true} assume true; {10999#true} is VALID [2018-11-23 12:22:43,822 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10999#true} {10999#true} #89#return; {10999#true} is VALID [2018-11-23 12:22:43,822 INFO L256 TraceCheckUtils]: 4: Hoare triple {10999#true} call #t~ret7 := main(); {10999#true} is VALID [2018-11-23 12:22:43,823 INFO L273 TraceCheckUtils]: 5: Hoare triple {10999#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {10999#true} is VALID [2018-11-23 12:22:43,823 INFO L273 TraceCheckUtils]: 6: Hoare triple {10999#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {10999#true} is VALID [2018-11-23 12:22:43,824 INFO L273 TraceCheckUtils]: 7: Hoare triple {10999#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {11035#(= main_~i~0 1)} is VALID [2018-11-23 12:22:43,824 INFO L273 TraceCheckUtils]: 8: Hoare triple {11035#(= main_~i~0 1)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {11035#(= main_~i~0 1)} is VALID [2018-11-23 12:22:43,825 INFO L273 TraceCheckUtils]: 9: Hoare triple {11035#(= main_~i~0 1)} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {11035#(= main_~i~0 1)} is VALID [2018-11-23 12:22:43,825 INFO L273 TraceCheckUtils]: 10: Hoare triple {11035#(= main_~i~0 1)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {11035#(= main_~i~0 1)} is VALID [2018-11-23 12:22:43,825 INFO L273 TraceCheckUtils]: 11: Hoare triple {11035#(= main_~i~0 1)} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {11035#(= main_~i~0 1)} is VALID [2018-11-23 12:22:43,826 INFO L273 TraceCheckUtils]: 12: Hoare triple {11035#(= main_~i~0 1)} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {11051#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)))} is VALID [2018-11-23 12:22:43,826 INFO L273 TraceCheckUtils]: 13: Hoare triple {11051#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11051#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)))} is VALID [2018-11-23 12:22:43,827 INFO L273 TraceCheckUtils]: 14: Hoare triple {11051#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {11051#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)))} is VALID [2018-11-23 12:22:43,828 INFO L273 TraceCheckUtils]: 15: Hoare triple {11051#(<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)))} ~i~0 := 0; {11061#(and (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:43,828 INFO L273 TraceCheckUtils]: 16: Hoare triple {11061#(and (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {11061#(and (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:43,829 INFO L273 TraceCheckUtils]: 17: Hoare triple {11061#(and (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume #t~short6; {11061#(and (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:43,829 INFO L256 TraceCheckUtils]: 18: Hoare triple {11061#(and (= 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)); {10999#true} is VALID [2018-11-23 12:22:43,830 INFO L273 TraceCheckUtils]: 19: Hoare triple {10999#true} ~cond := #in~cond; {10999#true} is VALID [2018-11-23 12:22:43,830 INFO L273 TraceCheckUtils]: 20: Hoare triple {10999#true} assume !(0 == ~cond); {10999#true} is VALID [2018-11-23 12:22:43,830 INFO L273 TraceCheckUtils]: 21: Hoare triple {10999#true} assume true; {10999#true} is VALID [2018-11-23 12:22:43,831 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {10999#true} {11061#(and (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #93#return; {11061#(and (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:43,831 INFO L273 TraceCheckUtils]: 23: Hoare triple {11061#(and (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {11061#(and (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:43,832 INFO L273 TraceCheckUtils]: 24: Hoare triple {11061#(and (= main_~i~0 0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11089#(and (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:43,833 INFO L273 TraceCheckUtils]: 25: Hoare triple {11089#(and (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {11089#(and (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:43,834 INFO L273 TraceCheckUtils]: 26: Hoare triple {11089#(and (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume #t~short6; {11089#(and (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:43,834 INFO L256 TraceCheckUtils]: 27: Hoare triple {11089#(and (= main_~i~0 1) (<= 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)); {10999#true} is VALID [2018-11-23 12:22:43,834 INFO L273 TraceCheckUtils]: 28: Hoare triple {10999#true} ~cond := #in~cond; {10999#true} is VALID [2018-11-23 12:22:43,834 INFO L273 TraceCheckUtils]: 29: Hoare triple {10999#true} assume !(0 == ~cond); {10999#true} is VALID [2018-11-23 12:22:43,834 INFO L273 TraceCheckUtils]: 30: Hoare triple {10999#true} assume true; {10999#true} is VALID [2018-11-23 12:22:43,835 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {10999#true} {11089#(and (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #93#return; {11089#(and (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:43,836 INFO L273 TraceCheckUtils]: 32: Hoare triple {11089#(and (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {11089#(and (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:43,837 INFO L273 TraceCheckUtils]: 33: Hoare triple {11089#(and (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11117#(and (= main_~i~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:43,838 INFO L273 TraceCheckUtils]: 34: Hoare triple {11117#(and (= main_~i~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {11117#(and (= main_~i~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:43,838 INFO L273 TraceCheckUtils]: 35: Hoare triple {11117#(and (= main_~i~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume #t~short6; {11117#(and (= main_~i~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:43,838 INFO L256 TraceCheckUtils]: 36: Hoare triple {11117#(and (= main_~i~0 2) (<= 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)); {10999#true} is VALID [2018-11-23 12:22:43,839 INFO L273 TraceCheckUtils]: 37: Hoare triple {10999#true} ~cond := #in~cond; {10999#true} is VALID [2018-11-23 12:22:43,839 INFO L273 TraceCheckUtils]: 38: Hoare triple {10999#true} assume !(0 == ~cond); {10999#true} is VALID [2018-11-23 12:22:43,839 INFO L273 TraceCheckUtils]: 39: Hoare triple {10999#true} assume true; {10999#true} is VALID [2018-11-23 12:22:43,840 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {10999#true} {11117#(and (= main_~i~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #93#return; {11117#(and (= main_~i~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:43,840 INFO L273 TraceCheckUtils]: 41: Hoare triple {11117#(and (= main_~i~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {11117#(and (= main_~i~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:43,841 INFO L273 TraceCheckUtils]: 42: Hoare triple {11117#(and (= main_~i~0 2) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11145#(and (= main_~i~0 3) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} is VALID [2018-11-23 12:22:43,842 INFO L273 TraceCheckUtils]: 43: Hoare triple {11145#(and (= main_~i~0 3) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {11010#|main_#t~short6|} is VALID [2018-11-23 12:22:43,843 INFO L273 TraceCheckUtils]: 44: Hoare triple {11010#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {11000#false} is VALID [2018-11-23 12:22:43,843 INFO L256 TraceCheckUtils]: 45: Hoare triple {11000#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {11000#false} is VALID [2018-11-23 12:22:43,843 INFO L273 TraceCheckUtils]: 46: Hoare triple {11000#false} ~cond := #in~cond; {11000#false} is VALID [2018-11-23 12:22:43,843 INFO L273 TraceCheckUtils]: 47: Hoare triple {11000#false} assume 0 == ~cond; {11000#false} is VALID [2018-11-23 12:22:43,843 INFO L273 TraceCheckUtils]: 48: Hoare triple {11000#false} assume !false; {11000#false} is VALID [2018-11-23 12:22:43,848 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 9 proven. 22 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:22:43,869 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:43,869 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 18 [2018-11-23 12:22:43,870 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 49 [2018-11-23 12:22:43,870 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:43,870 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 12:22:43,950 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:43,951 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 12:22:43,951 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 12:22:43,951 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=258, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:22:43,951 INFO L87 Difference]: Start difference. First operand 236 states and 289 transitions. Second operand 18 states. [2018-11-23 12:22:50,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:50,178 INFO L93 Difference]: Finished difference Result 352 states and 430 transitions. [2018-11-23 12:22:50,178 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2018-11-23 12:22:50,178 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 49 [2018-11-23 12:22:50,179 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:50,179 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:22:50,181 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 160 transitions. [2018-11-23 12:22:50,181 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:22:50,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 160 transitions. [2018-11-23 12:22:50,183 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states and 160 transitions. [2018-11-23 12:22:50,426 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-23 12:22:50,438 INFO L225 Difference]: With dead ends: 352 [2018-11-23 12:22:50,438 INFO L226 Difference]: Without dead ends: 310 [2018-11-23 12:22:50,439 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 426 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=306, Invalid=1500, Unknown=0, NotChecked=0, Total=1806 [2018-11-23 12:22:50,439 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 310 states. [2018-11-23 12:22:53,058 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 310 to 268. [2018-11-23 12:22:53,058 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:53,059 INFO L82 GeneralOperation]: Start isEquivalent. First operand 310 states. Second operand 268 states. [2018-11-23 12:22:53,059 INFO L74 IsIncluded]: Start isIncluded. First operand 310 states. Second operand 268 states. [2018-11-23 12:22:53,059 INFO L87 Difference]: Start difference. First operand 310 states. Second operand 268 states. [2018-11-23 12:22:53,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:53,068 INFO L93 Difference]: Finished difference Result 310 states and 378 transitions. [2018-11-23 12:22:53,068 INFO L276 IsEmpty]: Start isEmpty. Operand 310 states and 378 transitions. [2018-11-23 12:22:53,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:53,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:53,070 INFO L74 IsIncluded]: Start isIncluded. First operand 268 states. Second operand 310 states. [2018-11-23 12:22:53,070 INFO L87 Difference]: Start difference. First operand 268 states. Second operand 310 states. [2018-11-23 12:22:53,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:53,078 INFO L93 Difference]: Finished difference Result 310 states and 378 transitions. [2018-11-23 12:22:53,078 INFO L276 IsEmpty]: Start isEmpty. Operand 310 states and 378 transitions. [2018-11-23 12:22:53,079 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:53,079 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:53,079 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:53,080 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:53,080 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 268 states. [2018-11-23 12:22:53,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 268 states to 268 states and 330 transitions. [2018-11-23 12:22:53,087 INFO L78 Accepts]: Start accepts. Automaton has 268 states and 330 transitions. Word has length 49 [2018-11-23 12:22:53,087 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:53,087 INFO L480 AbstractCegarLoop]: Abstraction has 268 states and 330 transitions. [2018-11-23 12:22:53,087 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 12:22:53,087 INFO L276 IsEmpty]: Start isEmpty. Operand 268 states and 330 transitions. [2018-11-23 12:22:53,088 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2018-11-23 12:22:53,088 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:53,089 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:53,089 INFO L423 AbstractCegarLoop]: === Iteration 19 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:53,089 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:53,089 INFO L82 PathProgramCache]: Analyzing trace with hash 1414196423, now seen corresponding path program 2 times [2018-11-23 12:22:53,089 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:53,089 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:53,090 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:53,090 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:22:53,090 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:53,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:53,845 WARN L180 SmtUtils]: Spent 345.00 ms on a formula simplification. DAG size of input: 18 DAG size of output: 13 [2018-11-23 12:22:54,223 INFO L256 TraceCheckUtils]: 0: Hoare triple {12643#true} call ULTIMATE.init(); {12643#true} is VALID [2018-11-23 12:22:54,224 INFO L273 TraceCheckUtils]: 1: Hoare triple {12643#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {12643#true} is VALID [2018-11-23 12:22:54,224 INFO L273 TraceCheckUtils]: 2: Hoare triple {12643#true} assume true; {12643#true} is VALID [2018-11-23 12:22:54,224 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12643#true} {12643#true} #89#return; {12643#true} is VALID [2018-11-23 12:22:54,224 INFO L256 TraceCheckUtils]: 4: Hoare triple {12643#true} call #t~ret7 := main(); {12643#true} is VALID [2018-11-23 12:22:54,225 INFO L273 TraceCheckUtils]: 5: Hoare triple {12643#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {12643#true} is VALID [2018-11-23 12:22:54,226 INFO L273 TraceCheckUtils]: 6: Hoare triple {12643#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {12645#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:22:54,227 INFO L273 TraceCheckUtils]: 7: Hoare triple {12645#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {12646#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:22:54,227 INFO L273 TraceCheckUtils]: 8: Hoare triple {12646#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {12646#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:22:54,228 INFO L273 TraceCheckUtils]: 9: Hoare triple {12646#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {12646#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:22:54,228 INFO L273 TraceCheckUtils]: 10: Hoare triple {12646#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {12646#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:22:54,229 INFO L273 TraceCheckUtils]: 11: Hoare triple {12646#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {12646#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:22:54,230 INFO L273 TraceCheckUtils]: 12: Hoare triple {12646#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {12647#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 4)))))} is VALID [2018-11-23 12:22:54,231 INFO L273 TraceCheckUtils]: 13: Hoare triple {12647#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12648#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (or (<= (* 4 main_~i~0) 7) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= (* 4 main_~i~0) 8) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:22:54,232 INFO L273 TraceCheckUtils]: 14: Hoare triple {12648#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (or (<= (* 4 main_~i~0) 7) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= (* 4 main_~i~0) 8) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {12649#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4))} is VALID [2018-11-23 12:22:54,233 INFO L273 TraceCheckUtils]: 15: Hoare triple {12649#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4))} ~i~0 := 0; {12650#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:22:54,234 INFO L273 TraceCheckUtils]: 16: Hoare triple {12650#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12650#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:22:54,235 INFO L273 TraceCheckUtils]: 17: Hoare triple {12650#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} assume #t~short6; {12650#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:22:54,235 INFO L256 TraceCheckUtils]: 18: Hoare triple {12650#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12643#true} is VALID [2018-11-23 12:22:54,235 INFO L273 TraceCheckUtils]: 19: Hoare triple {12643#true} ~cond := #in~cond; {12643#true} is VALID [2018-11-23 12:22:54,235 INFO L273 TraceCheckUtils]: 20: Hoare triple {12643#true} assume !(0 == ~cond); {12643#true} is VALID [2018-11-23 12:22:54,236 INFO L273 TraceCheckUtils]: 21: Hoare triple {12643#true} assume true; {12643#true} is VALID [2018-11-23 12:22:54,240 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {12643#true} {12650#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} #93#return; {12650#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:22:54,241 INFO L273 TraceCheckUtils]: 23: Hoare triple {12650#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {12650#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:22:54,242 INFO L273 TraceCheckUtils]: 24: Hoare triple {12650#(and (or (<= ~CELLCOUNT~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 4) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 4) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12651#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} is VALID [2018-11-23 12:22:54,242 INFO L273 TraceCheckUtils]: 25: Hoare triple {12651#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12651#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} is VALID [2018-11-23 12:22:54,243 INFO L273 TraceCheckUtils]: 26: Hoare triple {12651#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} assume #t~short6; {12651#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} is VALID [2018-11-23 12:22:54,243 INFO L256 TraceCheckUtils]: 27: Hoare triple {12651#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12643#true} is VALID [2018-11-23 12:22:54,243 INFO L273 TraceCheckUtils]: 28: Hoare triple {12643#true} ~cond := #in~cond; {12643#true} is VALID [2018-11-23 12:22:54,243 INFO L273 TraceCheckUtils]: 29: Hoare triple {12643#true} assume !(0 == ~cond); {12643#true} is VALID [2018-11-23 12:22:54,243 INFO L273 TraceCheckUtils]: 30: Hoare triple {12643#true} assume true; {12643#true} is VALID [2018-11-23 12:22:54,244 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {12643#true} {12651#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} #93#return; {12651#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} is VALID [2018-11-23 12:22:54,244 INFO L273 TraceCheckUtils]: 32: Hoare triple {12651#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {12651#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} is VALID [2018-11-23 12:22:54,245 INFO L273 TraceCheckUtils]: 33: Hoare triple {12651#(and (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 3)) (+ |main_~#volArray~0.offset| (- 4))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12652#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:22:54,246 INFO L273 TraceCheckUtils]: 34: Hoare triple {12652#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12652#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:22:54,247 INFO L273 TraceCheckUtils]: 35: Hoare triple {12652#(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; {12652#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:22:54,247 INFO L256 TraceCheckUtils]: 36: Hoare triple {12652#(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)); {12643#true} is VALID [2018-11-23 12:22:54,248 INFO L273 TraceCheckUtils]: 37: Hoare triple {12643#true} ~cond := #in~cond; {12643#true} is VALID [2018-11-23 12:22:54,248 INFO L273 TraceCheckUtils]: 38: Hoare triple {12643#true} assume !(0 == ~cond); {12643#true} is VALID [2018-11-23 12:22:54,248 INFO L273 TraceCheckUtils]: 39: Hoare triple {12643#true} assume true; {12643#true} is VALID [2018-11-23 12:22:54,249 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {12643#true} {12652#(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)))} #93#return; {12652#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:22:54,249 INFO L273 TraceCheckUtils]: 41: Hoare triple {12652#(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~mem4;havoc #t~short6;havoc #t~mem5; {12652#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:22:54,250 INFO L273 TraceCheckUtils]: 42: Hoare triple {12652#(and (or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 2)) (+ |main_~#volArray~0.offset| (- 4)))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12653#(or (<= ~CELLCOUNT~0 main_~i~0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))))} is VALID [2018-11-23 12:22:54,251 INFO L273 TraceCheckUtils]: 43: Hoare triple {12653#(or (<= ~CELLCOUNT~0 main_~i~0) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12654#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:22:54,251 INFO L273 TraceCheckUtils]: 44: Hoare triple {12654#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {12655#|main_#t~short6|} is VALID [2018-11-23 12:22:54,252 INFO L256 TraceCheckUtils]: 45: Hoare triple {12655#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:22:54,252 INFO L273 TraceCheckUtils]: 46: Hoare triple {12656#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {12657#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:22:54,253 INFO L273 TraceCheckUtils]: 47: Hoare triple {12657#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {12644#false} is VALID [2018-11-23 12:22:54,253 INFO L273 TraceCheckUtils]: 48: Hoare triple {12644#false} assume !false; {12644#false} is VALID [2018-11-23 12:22:54,261 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 11 proven. 20 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:22:54,261 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:54,261 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:22:54,270 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:22:54,291 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:22:54,291 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:22:54,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:54,310 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:54,369 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 12:22:54,372 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 12:22:54,373 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:54,376 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:54,381 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:54,382 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 12:22:54,793 INFO L256 TraceCheckUtils]: 0: Hoare triple {12643#true} call ULTIMATE.init(); {12643#true} is VALID [2018-11-23 12:22:54,794 INFO L273 TraceCheckUtils]: 1: Hoare triple {12643#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {12643#true} is VALID [2018-11-23 12:22:54,794 INFO L273 TraceCheckUtils]: 2: Hoare triple {12643#true} assume true; {12643#true} is VALID [2018-11-23 12:22:54,794 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12643#true} {12643#true} #89#return; {12643#true} is VALID [2018-11-23 12:22:54,794 INFO L256 TraceCheckUtils]: 4: Hoare triple {12643#true} call #t~ret7 := main(); {12643#true} is VALID [2018-11-23 12:22:54,794 INFO L273 TraceCheckUtils]: 5: Hoare triple {12643#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {12643#true} is VALID [2018-11-23 12:22:54,795 INFO L273 TraceCheckUtils]: 6: Hoare triple {12643#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {12679#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:22:54,796 INFO L273 TraceCheckUtils]: 7: Hoare triple {12679#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {12683#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:54,796 INFO L273 TraceCheckUtils]: 8: Hoare triple {12683#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {12683#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:54,797 INFO L273 TraceCheckUtils]: 9: Hoare triple {12683#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {12683#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:54,797 INFO L273 TraceCheckUtils]: 10: Hoare triple {12683#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {12683#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:54,798 INFO L273 TraceCheckUtils]: 11: Hoare triple {12683#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {12683#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:54,799 INFO L273 TraceCheckUtils]: 12: Hoare triple {12683#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {12699#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:54,799 INFO L273 TraceCheckUtils]: 13: Hoare triple {12699#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12699#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:54,800 INFO L273 TraceCheckUtils]: 14: Hoare triple {12699#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {12699#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:54,801 INFO L273 TraceCheckUtils]: 15: Hoare triple {12699#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} ~i~0 := 0; {12709#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:54,802 INFO L273 TraceCheckUtils]: 16: Hoare triple {12709#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12709#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:54,802 INFO L273 TraceCheckUtils]: 17: Hoare triple {12709#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} assume #t~short6; {12709#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:54,804 INFO L256 TraceCheckUtils]: 18: Hoare triple {12709#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} is VALID [2018-11-23 12:22:54,804 INFO L273 TraceCheckUtils]: 19: Hoare triple {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} ~cond := #in~cond; {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} is VALID [2018-11-23 12:22:54,805 INFO L273 TraceCheckUtils]: 20: Hoare triple {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} assume !(0 == ~cond); {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} is VALID [2018-11-23 12:22:54,805 INFO L273 TraceCheckUtils]: 21: Hoare triple {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} assume true; {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} is VALID [2018-11-23 12:22:54,806 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} {12709#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} #93#return; {12709#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:54,807 INFO L273 TraceCheckUtils]: 23: Hoare triple {12709#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {12709#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:54,808 INFO L273 TraceCheckUtils]: 24: Hoare triple {12709#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12738#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:54,809 INFO L273 TraceCheckUtils]: 25: Hoare triple {12738#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12738#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:54,809 INFO L273 TraceCheckUtils]: 26: Hoare triple {12738#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume #t~short6; {12738#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:54,811 INFO L256 TraceCheckUtils]: 27: Hoare triple {12738#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} is VALID [2018-11-23 12:22:54,811 INFO L273 TraceCheckUtils]: 28: Hoare triple {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} ~cond := #in~cond; {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} is VALID [2018-11-23 12:22:54,812 INFO L273 TraceCheckUtils]: 29: Hoare triple {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} assume !(0 == ~cond); {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} is VALID [2018-11-23 12:22:54,812 INFO L273 TraceCheckUtils]: 30: Hoare triple {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} assume true; {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} is VALID [2018-11-23 12:22:54,813 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} {12738#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} #93#return; {12738#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:54,814 INFO L273 TraceCheckUtils]: 32: Hoare triple {12738#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {12738#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:54,815 INFO L273 TraceCheckUtils]: 33: Hoare triple {12738#(and (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12766#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:54,815 INFO L273 TraceCheckUtils]: 34: Hoare triple {12766#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12766#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:54,818 INFO L273 TraceCheckUtils]: 35: Hoare triple {12766#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} assume #t~short6; {12766#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:54,819 INFO L256 TraceCheckUtils]: 36: Hoare triple {12766#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} is VALID [2018-11-23 12:22:54,820 INFO L273 TraceCheckUtils]: 37: Hoare triple {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} ~cond := #in~cond; {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} is VALID [2018-11-23 12:22:54,820 INFO L273 TraceCheckUtils]: 38: Hoare triple {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} assume !(0 == ~cond); {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} is VALID [2018-11-23 12:22:54,820 INFO L273 TraceCheckUtils]: 39: Hoare triple {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} assume true; {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} is VALID [2018-11-23 12:22:54,821 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {12719#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_13| Int)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_13|) 12) 0))} {12766#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} #93#return; {12766#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:54,821 INFO L273 TraceCheckUtils]: 41: Hoare triple {12766#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {12766#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:54,822 INFO L273 TraceCheckUtils]: 42: Hoare triple {12766#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12794#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:54,823 INFO L273 TraceCheckUtils]: 43: Hoare triple {12794#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {12794#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:22:54,824 INFO L273 TraceCheckUtils]: 44: Hoare triple {12794#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 12)) 0) (= |main_~#volArray~0.offset| 0))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {12655#|main_#t~short6|} is VALID [2018-11-23 12:22:54,825 INFO L256 TraceCheckUtils]: 45: Hoare triple {12655#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {12804#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:22:54,825 INFO L273 TraceCheckUtils]: 46: Hoare triple {12804#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {12808#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:22:54,826 INFO L273 TraceCheckUtils]: 47: Hoare triple {12808#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12644#false} is VALID [2018-11-23 12:22:54,826 INFO L273 TraceCheckUtils]: 48: Hoare triple {12644#false} assume !false; {12644#false} is VALID [2018-11-23 12:22:54,832 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 0 proven. 31 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:22:54,851 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:54,851 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13] total 25 [2018-11-23 12:22:54,852 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 49 [2018-11-23 12:22:54,852 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:54,852 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states. [2018-11-23 12:22:54,943 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:54,943 INFO L459 AbstractCegarLoop]: Interpolant automaton has 25 states [2018-11-23 12:22:54,944 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2018-11-23 12:22:54,944 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=527, Unknown=0, NotChecked=0, Total=600 [2018-11-23 12:22:54,944 INFO L87 Difference]: Start difference. First operand 268 states and 330 transitions. Second operand 25 states. [2018-11-23 12:23:06,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:06,394 INFO L93 Difference]: Finished difference Result 567 states and 703 transitions. [2018-11-23 12:23:06,394 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 39 states. [2018-11-23 12:23:06,394 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 49 [2018-11-23 12:23:06,394 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:06,394 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 12:23:06,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 187 transitions. [2018-11-23 12:23:06,397 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 12:23:06,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 187 transitions. [2018-11-23 12:23:06,399 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 39 states and 187 transitions. [2018-11-23 12:23:06,719 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 187 edges. 187 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:06,739 INFO L225 Difference]: With dead ends: 567 [2018-11-23 12:23:06,739 INFO L226 Difference]: Without dead ends: 460 [2018-11-23 12:23:06,742 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 37 SyntacticMatches, 5 SemanticMatches, 58 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 943 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=524, Invalid=3016, Unknown=0, NotChecked=0, Total=3540 [2018-11-23 12:23:06,742 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 460 states. [2018-11-23 12:23:11,891 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 460 to 386. [2018-11-23 12:23:11,892 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:11,892 INFO L82 GeneralOperation]: Start isEquivalent. First operand 460 states. Second operand 386 states. [2018-11-23 12:23:11,892 INFO L74 IsIncluded]: Start isIncluded. First operand 460 states. Second operand 386 states. [2018-11-23 12:23:11,892 INFO L87 Difference]: Start difference. First operand 460 states. Second operand 386 states. [2018-11-23 12:23:11,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:11,908 INFO L93 Difference]: Finished difference Result 460 states and 554 transitions. [2018-11-23 12:23:11,908 INFO L276 IsEmpty]: Start isEmpty. Operand 460 states and 554 transitions. [2018-11-23 12:23:11,909 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:11,909 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:11,910 INFO L74 IsIncluded]: Start isIncluded. First operand 386 states. Second operand 460 states. [2018-11-23 12:23:11,910 INFO L87 Difference]: Start difference. First operand 386 states. Second operand 460 states. [2018-11-23 12:23:11,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:11,925 INFO L93 Difference]: Finished difference Result 460 states and 554 transitions. [2018-11-23 12:23:11,925 INFO L276 IsEmpty]: Start isEmpty. Operand 460 states and 554 transitions. [2018-11-23 12:23:11,926 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:11,926 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:11,926 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:11,927 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:11,927 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 386 states. [2018-11-23 12:23:11,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 386 states to 386 states and 471 transitions. [2018-11-23 12:23:11,939 INFO L78 Accepts]: Start accepts. Automaton has 386 states and 471 transitions. Word has length 49 [2018-11-23 12:23:11,939 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:11,939 INFO L480 AbstractCegarLoop]: Abstraction has 386 states and 471 transitions. [2018-11-23 12:23:11,939 INFO L481 AbstractCegarLoop]: Interpolant automaton has 25 states. [2018-11-23 12:23:11,939 INFO L276 IsEmpty]: Start isEmpty. Operand 386 states and 471 transitions. [2018-11-23 12:23:11,940 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2018-11-23 12:23:11,941 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:11,941 INFO L402 BasicCegarLoop]: trace histogram [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-23 12:23:11,941 INFO L423 AbstractCegarLoop]: === Iteration 20 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:11,941 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:11,941 INFO L82 PathProgramCache]: Analyzing trace with hash -410809780, now seen corresponding path program 1 times [2018-11-23 12:23:11,941 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:11,941 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:11,942 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:11,942 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:11,942 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:11,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:12,069 INFO L256 TraceCheckUtils]: 0: Hoare triple {15059#true} call ULTIMATE.init(); {15059#true} is VALID [2018-11-23 12:23:12,069 INFO L273 TraceCheckUtils]: 1: Hoare triple {15059#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {15059#true} is VALID [2018-11-23 12:23:12,069 INFO L273 TraceCheckUtils]: 2: Hoare triple {15059#true} assume true; {15059#true} is VALID [2018-11-23 12:23:12,070 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {15059#true} {15059#true} #89#return; {15059#true} is VALID [2018-11-23 12:23:12,070 INFO L256 TraceCheckUtils]: 4: Hoare triple {15059#true} call #t~ret7 := main(); {15059#true} is VALID [2018-11-23 12:23:12,070 INFO L273 TraceCheckUtils]: 5: Hoare triple {15059#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {15059#true} is VALID [2018-11-23 12:23:12,070 INFO L273 TraceCheckUtils]: 6: Hoare triple {15059#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {15059#true} is VALID [2018-11-23 12:23:12,070 INFO L273 TraceCheckUtils]: 7: Hoare triple {15059#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {15059#true} is VALID [2018-11-23 12:23:12,070 INFO L273 TraceCheckUtils]: 8: Hoare triple {15059#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {15059#true} is VALID [2018-11-23 12:23:12,070 INFO L273 TraceCheckUtils]: 9: Hoare triple {15059#true} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {15059#true} is VALID [2018-11-23 12:23:12,071 INFO L273 TraceCheckUtils]: 10: Hoare triple {15059#true} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {15059#true} is VALID [2018-11-23 12:23:12,071 INFO L273 TraceCheckUtils]: 11: Hoare triple {15059#true} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {15059#true} is VALID [2018-11-23 12:23:12,071 INFO L273 TraceCheckUtils]: 12: Hoare triple {15059#true} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} is VALID [2018-11-23 12:23:12,072 INFO L273 TraceCheckUtils]: 13: Hoare triple {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} is VALID [2018-11-23 12:23:12,072 INFO L273 TraceCheckUtils]: 14: Hoare triple {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} is VALID [2018-11-23 12:23:12,072 INFO L273 TraceCheckUtils]: 15: Hoare triple {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} is VALID [2018-11-23 12:23:12,073 INFO L273 TraceCheckUtils]: 16: Hoare triple {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} is VALID [2018-11-23 12:23:12,073 INFO L273 TraceCheckUtils]: 17: Hoare triple {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} is VALID [2018-11-23 12:23:12,073 INFO L273 TraceCheckUtils]: 18: Hoare triple {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} is VALID [2018-11-23 12:23:12,074 INFO L273 TraceCheckUtils]: 19: Hoare triple {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} is VALID [2018-11-23 12:23:12,074 INFO L273 TraceCheckUtils]: 20: Hoare triple {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} is VALID [2018-11-23 12:23:12,075 INFO L273 TraceCheckUtils]: 21: Hoare triple {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} is VALID [2018-11-23 12:23:12,075 INFO L273 TraceCheckUtils]: 22: Hoare triple {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} is VALID [2018-11-23 12:23:12,076 INFO L273 TraceCheckUtils]: 23: Hoare triple {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} is VALID [2018-11-23 12:23:12,076 INFO L273 TraceCheckUtils]: 24: Hoare triple {15061#(< main_~MINVAL~0 (+ main_~CCCELVOL1~0 1))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {15060#false} is VALID [2018-11-23 12:23:12,077 INFO L273 TraceCheckUtils]: 25: Hoare triple {15060#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15060#false} is VALID [2018-11-23 12:23:12,077 INFO L273 TraceCheckUtils]: 26: Hoare triple {15060#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {15060#false} is VALID [2018-11-23 12:23:12,077 INFO L273 TraceCheckUtils]: 27: Hoare triple {15060#false} ~i~0 := 0; {15060#false} is VALID [2018-11-23 12:23:12,077 INFO L273 TraceCheckUtils]: 28: Hoare triple {15060#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {15060#false} is VALID [2018-11-23 12:23:12,078 INFO L273 TraceCheckUtils]: 29: Hoare triple {15060#false} assume #t~short6; {15060#false} is VALID [2018-11-23 12:23:12,078 INFO L256 TraceCheckUtils]: 30: Hoare triple {15060#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {15059#true} is VALID [2018-11-23 12:23:12,078 INFO L273 TraceCheckUtils]: 31: Hoare triple {15059#true} ~cond := #in~cond; {15059#true} is VALID [2018-11-23 12:23:12,078 INFO L273 TraceCheckUtils]: 32: Hoare triple {15059#true} assume !(0 == ~cond); {15059#true} is VALID [2018-11-23 12:23:12,078 INFO L273 TraceCheckUtils]: 33: Hoare triple {15059#true} assume true; {15059#true} is VALID [2018-11-23 12:23:12,079 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {15059#true} {15060#false} #93#return; {15060#false} is VALID [2018-11-23 12:23:12,079 INFO L273 TraceCheckUtils]: 35: Hoare triple {15060#false} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {15060#false} is VALID [2018-11-23 12:23:12,079 INFO L273 TraceCheckUtils]: 36: Hoare triple {15060#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {15060#false} is VALID [2018-11-23 12:23:12,079 INFO L273 TraceCheckUtils]: 37: Hoare triple {15060#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {15060#false} is VALID [2018-11-23 12:23:12,079 INFO L273 TraceCheckUtils]: 38: Hoare triple {15060#false} assume #t~short6; {15060#false} is VALID [2018-11-23 12:23:12,080 INFO L256 TraceCheckUtils]: 39: Hoare triple {15060#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {15059#true} is VALID [2018-11-23 12:23:12,080 INFO L273 TraceCheckUtils]: 40: Hoare triple {15059#true} ~cond := #in~cond; {15059#true} is VALID [2018-11-23 12:23:12,080 INFO L273 TraceCheckUtils]: 41: Hoare triple {15059#true} assume !(0 == ~cond); {15059#true} is VALID [2018-11-23 12:23:12,080 INFO L273 TraceCheckUtils]: 42: Hoare triple {15059#true} assume true; {15059#true} is VALID [2018-11-23 12:23:12,080 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {15059#true} {15060#false} #93#return; {15060#false} is VALID [2018-11-23 12:23:12,081 INFO L273 TraceCheckUtils]: 44: Hoare triple {15060#false} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {15060#false} is VALID [2018-11-23 12:23:12,081 INFO L273 TraceCheckUtils]: 45: Hoare triple {15060#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {15060#false} is VALID [2018-11-23 12:23:12,081 INFO L273 TraceCheckUtils]: 46: Hoare triple {15060#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {15060#false} is VALID [2018-11-23 12:23:12,081 INFO L273 TraceCheckUtils]: 47: Hoare triple {15060#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {15060#false} is VALID [2018-11-23 12:23:12,081 INFO L256 TraceCheckUtils]: 48: Hoare triple {15060#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {15060#false} is VALID [2018-11-23 12:23:12,081 INFO L273 TraceCheckUtils]: 49: Hoare triple {15060#false} ~cond := #in~cond; {15060#false} is VALID [2018-11-23 12:23:12,081 INFO L273 TraceCheckUtils]: 50: Hoare triple {15060#false} assume 0 == ~cond; {15060#false} is VALID [2018-11-23 12:23:12,082 INFO L273 TraceCheckUtils]: 51: Hoare triple {15060#false} assume !false; {15060#false} is VALID [2018-11-23 12:23:12,083 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 19 proven. 0 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2018-11-23 12:23:12,083 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:23:12,083 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:23:12,084 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 52 [2018-11-23 12:23:12,084 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:12,084 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:23:12,135 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:12,135 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:23:12,136 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:23:12,136 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:23:12,136 INFO L87 Difference]: Start difference. First operand 386 states and 471 transitions. Second operand 3 states. [2018-11-23 12:23:15,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:15,625 INFO L93 Difference]: Finished difference Result 556 states and 685 transitions. [2018-11-23 12:23:15,625 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:23:15,625 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 52 [2018-11-23 12:23:15,625 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:15,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:23:15,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 71 transitions. [2018-11-23 12:23:15,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:23:15,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 71 transitions. [2018-11-23 12:23:15,627 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 71 transitions. [2018-11-23 12:23:16,091 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:16,101 INFO L225 Difference]: With dead ends: 556 [2018-11-23 12:23:16,101 INFO L226 Difference]: Without dead ends: 339 [2018-11-23 12:23:16,102 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:23:16,103 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 339 states. [2018-11-23 12:23:21,051 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 339 to 286. [2018-11-23 12:23:21,052 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:21,052 INFO L82 GeneralOperation]: Start isEquivalent. First operand 339 states. Second operand 286 states. [2018-11-23 12:23:21,052 INFO L74 IsIncluded]: Start isIncluded. First operand 339 states. Second operand 286 states. [2018-11-23 12:23:21,052 INFO L87 Difference]: Start difference. First operand 339 states. Second operand 286 states. [2018-11-23 12:23:21,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:21,061 INFO L93 Difference]: Finished difference Result 339 states and 408 transitions. [2018-11-23 12:23:21,061 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 408 transitions. [2018-11-23 12:23:21,062 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:21,062 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:21,062 INFO L74 IsIncluded]: Start isIncluded. First operand 286 states. Second operand 339 states. [2018-11-23 12:23:21,063 INFO L87 Difference]: Start difference. First operand 286 states. Second operand 339 states. [2018-11-23 12:23:21,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:21,072 INFO L93 Difference]: Finished difference Result 339 states and 408 transitions. [2018-11-23 12:23:21,072 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 408 transitions. [2018-11-23 12:23:21,073 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:21,073 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:21,073 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:21,073 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:21,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 286 states. [2018-11-23 12:23:21,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 286 states to 286 states and 342 transitions. [2018-11-23 12:23:21,081 INFO L78 Accepts]: Start accepts. Automaton has 286 states and 342 transitions. Word has length 52 [2018-11-23 12:23:21,081 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:21,081 INFO L480 AbstractCegarLoop]: Abstraction has 286 states and 342 transitions. [2018-11-23 12:23:21,081 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:23:21,081 INFO L276 IsEmpty]: Start isEmpty. Operand 286 states and 342 transitions. [2018-11-23 12:23:21,082 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2018-11-23 12:23:21,082 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:21,082 INFO L402 BasicCegarLoop]: trace histogram [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-23 12:23:21,082 INFO L423 AbstractCegarLoop]: === Iteration 21 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:21,083 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:21,083 INFO L82 PathProgramCache]: Analyzing trace with hash -1273143988, now seen corresponding path program 2 times [2018-11-23 12:23:21,083 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:21,083 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:21,084 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:21,084 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:23:21,084 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:21,089 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:21,157 INFO L256 TraceCheckUtils]: 0: Hoare triple {16856#true} call ULTIMATE.init(); {16856#true} is VALID [2018-11-23 12:23:21,157 INFO L273 TraceCheckUtils]: 1: Hoare triple {16856#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {16856#true} is VALID [2018-11-23 12:23:21,157 INFO L273 TraceCheckUtils]: 2: Hoare triple {16856#true} assume true; {16856#true} is VALID [2018-11-23 12:23:21,157 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {16856#true} {16856#true} #89#return; {16856#true} is VALID [2018-11-23 12:23:21,158 INFO L256 TraceCheckUtils]: 4: Hoare triple {16856#true} call #t~ret7 := main(); {16856#true} is VALID [2018-11-23 12:23:21,158 INFO L273 TraceCheckUtils]: 5: Hoare triple {16856#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {16856#true} is VALID [2018-11-23 12:23:21,158 INFO L273 TraceCheckUtils]: 6: Hoare triple {16856#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {16856#true} is VALID [2018-11-23 12:23:21,158 INFO L273 TraceCheckUtils]: 7: Hoare triple {16856#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {16856#true} is VALID [2018-11-23 12:23:21,158 INFO L273 TraceCheckUtils]: 8: Hoare triple {16856#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {16856#true} is VALID [2018-11-23 12:23:21,158 INFO L273 TraceCheckUtils]: 9: Hoare triple {16856#true} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {16856#true} is VALID [2018-11-23 12:23:21,158 INFO L273 TraceCheckUtils]: 10: Hoare triple {16856#true} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {16856#true} is VALID [2018-11-23 12:23:21,158 INFO L273 TraceCheckUtils]: 11: Hoare triple {16856#true} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {16856#true} is VALID [2018-11-23 12:23:21,163 INFO L273 TraceCheckUtils]: 12: Hoare triple {16856#true} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {16858#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:23:21,163 INFO L273 TraceCheckUtils]: 13: Hoare triple {16858#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16858#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:23:21,165 INFO L273 TraceCheckUtils]: 14: Hoare triple {16858#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {16858#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:23:21,165 INFO L273 TraceCheckUtils]: 15: Hoare triple {16858#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {16858#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:23:21,167 INFO L273 TraceCheckUtils]: 16: Hoare triple {16858#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {16858#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:23:21,167 INFO L273 TraceCheckUtils]: 17: Hoare triple {16858#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {16858#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:23:21,167 INFO L273 TraceCheckUtils]: 18: Hoare triple {16858#(<= (+ main_~CCCELVOL1~0 1) main_~MINVAL~0)} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {16857#false} is VALID [2018-11-23 12:23:21,168 INFO L273 TraceCheckUtils]: 19: Hoare triple {16857#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16857#false} is VALID [2018-11-23 12:23:21,168 INFO L273 TraceCheckUtils]: 20: Hoare triple {16857#false} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {16857#false} is VALID [2018-11-23 12:23:21,168 INFO L273 TraceCheckUtils]: 21: Hoare triple {16857#false} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {16857#false} is VALID [2018-11-23 12:23:21,168 INFO L273 TraceCheckUtils]: 22: Hoare triple {16857#false} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {16857#false} is VALID [2018-11-23 12:23:21,168 INFO L273 TraceCheckUtils]: 23: Hoare triple {16857#false} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {16857#false} is VALID [2018-11-23 12:23:21,168 INFO L273 TraceCheckUtils]: 24: Hoare triple {16857#false} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {16857#false} is VALID [2018-11-23 12:23:21,168 INFO L273 TraceCheckUtils]: 25: Hoare triple {16857#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16857#false} is VALID [2018-11-23 12:23:21,168 INFO L273 TraceCheckUtils]: 26: Hoare triple {16857#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {16857#false} is VALID [2018-11-23 12:23:21,169 INFO L273 TraceCheckUtils]: 27: Hoare triple {16857#false} ~i~0 := 0; {16857#false} is VALID [2018-11-23 12:23:21,169 INFO L273 TraceCheckUtils]: 28: Hoare triple {16857#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {16857#false} is VALID [2018-11-23 12:23:21,169 INFO L273 TraceCheckUtils]: 29: Hoare triple {16857#false} assume #t~short6; {16857#false} is VALID [2018-11-23 12:23:21,169 INFO L256 TraceCheckUtils]: 30: Hoare triple {16857#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16856#true} is VALID [2018-11-23 12:23:21,169 INFO L273 TraceCheckUtils]: 31: Hoare triple {16856#true} ~cond := #in~cond; {16856#true} is VALID [2018-11-23 12:23:21,169 INFO L273 TraceCheckUtils]: 32: Hoare triple {16856#true} assume !(0 == ~cond); {16856#true} is VALID [2018-11-23 12:23:21,169 INFO L273 TraceCheckUtils]: 33: Hoare triple {16856#true} assume true; {16856#true} is VALID [2018-11-23 12:23:21,169 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {16856#true} {16857#false} #93#return; {16857#false} is VALID [2018-11-23 12:23:21,169 INFO L273 TraceCheckUtils]: 35: Hoare triple {16857#false} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {16857#false} is VALID [2018-11-23 12:23:21,170 INFO L273 TraceCheckUtils]: 36: Hoare triple {16857#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {16857#false} is VALID [2018-11-23 12:23:21,170 INFO L273 TraceCheckUtils]: 37: Hoare triple {16857#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {16857#false} is VALID [2018-11-23 12:23:21,170 INFO L273 TraceCheckUtils]: 38: Hoare triple {16857#false} assume #t~short6; {16857#false} is VALID [2018-11-23 12:23:21,170 INFO L256 TraceCheckUtils]: 39: Hoare triple {16857#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16856#true} is VALID [2018-11-23 12:23:21,170 INFO L273 TraceCheckUtils]: 40: Hoare triple {16856#true} ~cond := #in~cond; {16856#true} is VALID [2018-11-23 12:23:21,170 INFO L273 TraceCheckUtils]: 41: Hoare triple {16856#true} assume !(0 == ~cond); {16856#true} is VALID [2018-11-23 12:23:21,170 INFO L273 TraceCheckUtils]: 42: Hoare triple {16856#true} assume true; {16856#true} is VALID [2018-11-23 12:23:21,170 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {16856#true} {16857#false} #93#return; {16857#false} is VALID [2018-11-23 12:23:21,171 INFO L273 TraceCheckUtils]: 44: Hoare triple {16857#false} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {16857#false} is VALID [2018-11-23 12:23:21,171 INFO L273 TraceCheckUtils]: 45: Hoare triple {16857#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {16857#false} is VALID [2018-11-23 12:23:21,171 INFO L273 TraceCheckUtils]: 46: Hoare triple {16857#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {16857#false} is VALID [2018-11-23 12:23:21,171 INFO L273 TraceCheckUtils]: 47: Hoare triple {16857#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {16857#false} is VALID [2018-11-23 12:23:21,171 INFO L256 TraceCheckUtils]: 48: Hoare triple {16857#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {16857#false} is VALID [2018-11-23 12:23:21,171 INFO L273 TraceCheckUtils]: 49: Hoare triple {16857#false} ~cond := #in~cond; {16857#false} is VALID [2018-11-23 12:23:21,171 INFO L273 TraceCheckUtils]: 50: Hoare triple {16857#false} assume 0 == ~cond; {16857#false} is VALID [2018-11-23 12:23:21,171 INFO L273 TraceCheckUtils]: 51: Hoare triple {16857#false} assume !false; {16857#false} is VALID [2018-11-23 12:23:21,173 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 23 proven. 0 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2018-11-23 12:23:21,173 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:23:21,173 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:23:21,173 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 52 [2018-11-23 12:23:21,173 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:21,173 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:23:21,209 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-23 12:23:21,209 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:23:21,209 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:23:21,209 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:23:21,210 INFO L87 Difference]: Start difference. First operand 286 states and 342 transitions. Second operand 3 states. [2018-11-23 12:23:25,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:25,161 INFO L93 Difference]: Finished difference Result 360 states and 428 transitions. [2018-11-23 12:23:25,161 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:23:25,161 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 52 [2018-11-23 12:23:25,162 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:25,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:23:25,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 71 transitions. [2018-11-23 12:23:25,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:23:25,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 71 transitions. [2018-11-23 12:23:25,163 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 71 transitions. [2018-11-23 12:23:25,280 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:25,289 INFO L225 Difference]: With dead ends: 360 [2018-11-23 12:23:25,290 INFO L226 Difference]: Without dead ends: 271 [2018-11-23 12:23:25,290 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:23:25,291 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 271 states. [2018-11-23 12:23:28,351 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 271 to 258. [2018-11-23 12:23:28,351 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:28,352 INFO L82 GeneralOperation]: Start isEquivalent. First operand 271 states. Second operand 258 states. [2018-11-23 12:23:28,352 INFO L74 IsIncluded]: Start isIncluded. First operand 271 states. Second operand 258 states. [2018-11-23 12:23:28,352 INFO L87 Difference]: Start difference. First operand 271 states. Second operand 258 states. [2018-11-23 12:23:28,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:28,359 INFO L93 Difference]: Finished difference Result 271 states and 321 transitions. [2018-11-23 12:23:28,359 INFO L276 IsEmpty]: Start isEmpty. Operand 271 states and 321 transitions. [2018-11-23 12:23:28,360 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:28,360 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:28,360 INFO L74 IsIncluded]: Start isIncluded. First operand 258 states. Second operand 271 states. [2018-11-23 12:23:28,360 INFO L87 Difference]: Start difference. First operand 258 states. Second operand 271 states. [2018-11-23 12:23:28,366 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:28,366 INFO L93 Difference]: Finished difference Result 271 states and 321 transitions. [2018-11-23 12:23:28,366 INFO L276 IsEmpty]: Start isEmpty. Operand 271 states and 321 transitions. [2018-11-23 12:23:28,366 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:28,367 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:28,367 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:28,367 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:28,367 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 258 states. [2018-11-23 12:23:28,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 258 states to 258 states and 304 transitions. [2018-11-23 12:23:28,373 INFO L78 Accepts]: Start accepts. Automaton has 258 states and 304 transitions. Word has length 52 [2018-11-23 12:23:28,373 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:28,373 INFO L480 AbstractCegarLoop]: Abstraction has 258 states and 304 transitions. [2018-11-23 12:23:28,373 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:23:28,374 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 304 transitions. [2018-11-23 12:23:28,374 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2018-11-23 12:23:28,374 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:28,375 INFO L402 BasicCegarLoop]: trace histogram [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-23 12:23:28,375 INFO L423 AbstractCegarLoop]: === Iteration 22 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:28,375 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:28,375 INFO L82 PathProgramCache]: Analyzing trace with hash 1654570314, now seen corresponding path program 1 times [2018-11-23 12:23:28,375 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:28,375 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:28,376 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:28,376 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:28,376 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:28,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:28,434 INFO L256 TraceCheckUtils]: 0: Hoare triple {18228#true} call ULTIMATE.init(); {18228#true} is VALID [2018-11-23 12:23:28,434 INFO L273 TraceCheckUtils]: 1: Hoare triple {18228#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {18228#true} is VALID [2018-11-23 12:23:28,434 INFO L273 TraceCheckUtils]: 2: Hoare triple {18228#true} assume true; {18228#true} is VALID [2018-11-23 12:23:28,434 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {18228#true} {18228#true} #89#return; {18228#true} is VALID [2018-11-23 12:23:28,434 INFO L256 TraceCheckUtils]: 4: Hoare triple {18228#true} call #t~ret7 := main(); {18228#true} is VALID [2018-11-23 12:23:28,435 INFO L273 TraceCheckUtils]: 5: Hoare triple {18228#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {18228#true} is VALID [2018-11-23 12:23:28,435 INFO L273 TraceCheckUtils]: 6: Hoare triple {18228#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {18228#true} is VALID [2018-11-23 12:23:28,435 INFO L273 TraceCheckUtils]: 7: Hoare triple {18228#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {18228#true} is VALID [2018-11-23 12:23:28,435 INFO L273 TraceCheckUtils]: 8: Hoare triple {18228#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {18228#true} is VALID [2018-11-23 12:23:28,435 INFO L273 TraceCheckUtils]: 9: Hoare triple {18228#true} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {18228#true} is VALID [2018-11-23 12:23:28,435 INFO L273 TraceCheckUtils]: 10: Hoare triple {18228#true} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {18228#true} is VALID [2018-11-23 12:23:28,436 INFO L273 TraceCheckUtils]: 11: Hoare triple {18228#true} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:23:28,437 INFO L273 TraceCheckUtils]: 12: Hoare triple {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:23:28,437 INFO L273 TraceCheckUtils]: 13: Hoare triple {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:23:28,439 INFO L273 TraceCheckUtils]: 14: Hoare triple {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:23:28,439 INFO L273 TraceCheckUtils]: 15: Hoare triple {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:23:28,441 INFO L273 TraceCheckUtils]: 16: Hoare triple {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:23:28,441 INFO L273 TraceCheckUtils]: 17: Hoare triple {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:23:28,444 INFO L273 TraceCheckUtils]: 18: Hoare triple {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:23:28,446 INFO L273 TraceCheckUtils]: 19: Hoare triple {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:23:28,446 INFO L273 TraceCheckUtils]: 20: Hoare triple {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:23:28,448 INFO L273 TraceCheckUtils]: 21: Hoare triple {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:23:28,448 INFO L273 TraceCheckUtils]: 22: Hoare triple {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} is VALID [2018-11-23 12:23:28,449 INFO L273 TraceCheckUtils]: 23: Hoare triple {18230#(< main_~MINVAL~0 (+ main_~CCCELVOL2~0 1))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {18229#false} is VALID [2018-11-23 12:23:28,449 INFO L273 TraceCheckUtils]: 24: Hoare triple {18229#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {18229#false} is VALID [2018-11-23 12:23:28,449 INFO L273 TraceCheckUtils]: 25: Hoare triple {18229#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18229#false} is VALID [2018-11-23 12:23:28,449 INFO L273 TraceCheckUtils]: 26: Hoare triple {18229#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {18229#false} is VALID [2018-11-23 12:23:28,449 INFO L273 TraceCheckUtils]: 27: Hoare triple {18229#false} ~i~0 := 0; {18229#false} is VALID [2018-11-23 12:23:28,449 INFO L273 TraceCheckUtils]: 28: Hoare triple {18229#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {18229#false} is VALID [2018-11-23 12:23:28,449 INFO L273 TraceCheckUtils]: 29: Hoare triple {18229#false} assume #t~short6; {18229#false} is VALID [2018-11-23 12:23:28,449 INFO L256 TraceCheckUtils]: 30: Hoare triple {18229#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {18228#true} is VALID [2018-11-23 12:23:28,450 INFO L273 TraceCheckUtils]: 31: Hoare triple {18228#true} ~cond := #in~cond; {18228#true} is VALID [2018-11-23 12:23:28,450 INFO L273 TraceCheckUtils]: 32: Hoare triple {18228#true} assume !(0 == ~cond); {18228#true} is VALID [2018-11-23 12:23:28,450 INFO L273 TraceCheckUtils]: 33: Hoare triple {18228#true} assume true; {18228#true} is VALID [2018-11-23 12:23:28,450 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {18228#true} {18229#false} #93#return; {18229#false} is VALID [2018-11-23 12:23:28,450 INFO L273 TraceCheckUtils]: 35: Hoare triple {18229#false} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {18229#false} is VALID [2018-11-23 12:23:28,450 INFO L273 TraceCheckUtils]: 36: Hoare triple {18229#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {18229#false} is VALID [2018-11-23 12:23:28,451 INFO L273 TraceCheckUtils]: 37: Hoare triple {18229#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {18229#false} is VALID [2018-11-23 12:23:28,451 INFO L273 TraceCheckUtils]: 38: Hoare triple {18229#false} assume #t~short6; {18229#false} is VALID [2018-11-23 12:23:28,451 INFO L256 TraceCheckUtils]: 39: Hoare triple {18229#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {18228#true} is VALID [2018-11-23 12:23:28,451 INFO L273 TraceCheckUtils]: 40: Hoare triple {18228#true} ~cond := #in~cond; {18228#true} is VALID [2018-11-23 12:23:28,451 INFO L273 TraceCheckUtils]: 41: Hoare triple {18228#true} assume !(0 == ~cond); {18228#true} is VALID [2018-11-23 12:23:28,452 INFO L273 TraceCheckUtils]: 42: Hoare triple {18228#true} assume true; {18228#true} is VALID [2018-11-23 12:23:28,452 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {18228#true} {18229#false} #93#return; {18229#false} is VALID [2018-11-23 12:23:28,452 INFO L273 TraceCheckUtils]: 44: Hoare triple {18229#false} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {18229#false} is VALID [2018-11-23 12:23:28,452 INFO L273 TraceCheckUtils]: 45: Hoare triple {18229#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {18229#false} is VALID [2018-11-23 12:23:28,452 INFO L273 TraceCheckUtils]: 46: Hoare triple {18229#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {18229#false} is VALID [2018-11-23 12:23:28,452 INFO L273 TraceCheckUtils]: 47: Hoare triple {18229#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {18229#false} is VALID [2018-11-23 12:23:28,452 INFO L256 TraceCheckUtils]: 48: Hoare triple {18229#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {18229#false} is VALID [2018-11-23 12:23:28,452 INFO L273 TraceCheckUtils]: 49: Hoare triple {18229#false} ~cond := #in~cond; {18229#false} is VALID [2018-11-23 12:23:28,453 INFO L273 TraceCheckUtils]: 50: Hoare triple {18229#false} assume 0 == ~cond; {18229#false} is VALID [2018-11-23 12:23:28,453 INFO L273 TraceCheckUtils]: 51: Hoare triple {18229#false} assume !false; {18229#false} is VALID [2018-11-23 12:23:28,454 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 19 proven. 0 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2018-11-23 12:23:28,454 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:23:28,455 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:23:28,455 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 52 [2018-11-23 12:23:28,455 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:28,455 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:23:28,488 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:28,488 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:23:28,488 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:23:28,488 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:23:28,489 INFO L87 Difference]: Start difference. First operand 258 states and 304 transitions. Second operand 3 states. [2018-11-23 12:23:34,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:34,077 INFO L93 Difference]: Finished difference Result 403 states and 483 transitions. [2018-11-23 12:23:34,077 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:23:34,077 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 52 [2018-11-23 12:23:34,078 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:34,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:23:34,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 69 transitions. [2018-11-23 12:23:34,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:23:34,079 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 69 transitions. [2018-11-23 12:23:34,079 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 69 transitions. [2018-11-23 12:23:34,143 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:34,149 INFO L225 Difference]: With dead ends: 403 [2018-11-23 12:23:34,149 INFO L226 Difference]: Without dead ends: 290 [2018-11-23 12:23:34,150 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:23:34,150 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 290 states. [2018-11-23 12:23:37,966 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 290 to 258. [2018-11-23 12:23:37,967 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:37,967 INFO L82 GeneralOperation]: Start isEquivalent. First operand 290 states. Second operand 258 states. [2018-11-23 12:23:37,967 INFO L74 IsIncluded]: Start isIncluded. First operand 290 states. Second operand 258 states. [2018-11-23 12:23:37,967 INFO L87 Difference]: Start difference. First operand 290 states. Second operand 258 states. [2018-11-23 12:23:37,974 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:37,974 INFO L93 Difference]: Finished difference Result 290 states and 344 transitions. [2018-11-23 12:23:37,974 INFO L276 IsEmpty]: Start isEmpty. Operand 290 states and 344 transitions. [2018-11-23 12:23:37,975 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:37,975 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:37,975 INFO L74 IsIncluded]: Start isIncluded. First operand 258 states. Second operand 290 states. [2018-11-23 12:23:37,976 INFO L87 Difference]: Start difference. First operand 258 states. Second operand 290 states. [2018-11-23 12:23:37,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:37,983 INFO L93 Difference]: Finished difference Result 290 states and 344 transitions. [2018-11-23 12:23:37,983 INFO L276 IsEmpty]: Start isEmpty. Operand 290 states and 344 transitions. [2018-11-23 12:23:37,984 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:37,984 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:37,984 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:37,984 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:37,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 258 states. [2018-11-23 12:23:37,990 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 258 states to 258 states and 302 transitions. [2018-11-23 12:23:37,990 INFO L78 Accepts]: Start accepts. Automaton has 258 states and 302 transitions. Word has length 52 [2018-11-23 12:23:37,991 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:37,991 INFO L480 AbstractCegarLoop]: Abstraction has 258 states and 302 transitions. [2018-11-23 12:23:37,991 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:23:37,991 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 302 transitions. [2018-11-23 12:23:37,992 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2018-11-23 12:23:37,992 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:37,992 INFO L402 BasicCegarLoop]: trace histogram [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-23 12:23:37,992 INFO L423 AbstractCegarLoop]: === Iteration 23 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:37,992 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:37,992 INFO L82 PathProgramCache]: Analyzing trace with hash 692013642, now seen corresponding path program 2 times [2018-11-23 12:23:37,993 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:37,993 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:37,993 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:37,993 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:23:37,994 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:37,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:38,050 INFO L256 TraceCheckUtils]: 0: Hoare triple {19701#true} call ULTIMATE.init(); {19701#true} is VALID [2018-11-23 12:23:38,050 INFO L273 TraceCheckUtils]: 1: Hoare triple {19701#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {19701#true} is VALID [2018-11-23 12:23:38,050 INFO L273 TraceCheckUtils]: 2: Hoare triple {19701#true} assume true; {19701#true} is VALID [2018-11-23 12:23:38,050 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {19701#true} {19701#true} #89#return; {19701#true} is VALID [2018-11-23 12:23:38,051 INFO L256 TraceCheckUtils]: 4: Hoare triple {19701#true} call #t~ret7 := main(); {19701#true} is VALID [2018-11-23 12:23:38,051 INFO L273 TraceCheckUtils]: 5: Hoare triple {19701#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {19701#true} is VALID [2018-11-23 12:23:38,051 INFO L273 TraceCheckUtils]: 6: Hoare triple {19701#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {19701#true} is VALID [2018-11-23 12:23:38,051 INFO L273 TraceCheckUtils]: 7: Hoare triple {19701#true} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {19701#true} is VALID [2018-11-23 12:23:38,051 INFO L273 TraceCheckUtils]: 8: Hoare triple {19701#true} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {19701#true} is VALID [2018-11-23 12:23:38,051 INFO L273 TraceCheckUtils]: 9: Hoare triple {19701#true} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {19701#true} is VALID [2018-11-23 12:23:38,051 INFO L273 TraceCheckUtils]: 10: Hoare triple {19701#true} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {19701#true} is VALID [2018-11-23 12:23:38,053 INFO L273 TraceCheckUtils]: 11: Hoare triple {19701#true} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {19703#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:23:38,053 INFO L273 TraceCheckUtils]: 12: Hoare triple {19703#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {19703#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:23:38,055 INFO L273 TraceCheckUtils]: 13: Hoare triple {19703#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {19703#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:23:38,055 INFO L273 TraceCheckUtils]: 14: Hoare triple {19703#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {19703#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:23:38,057 INFO L273 TraceCheckUtils]: 15: Hoare triple {19703#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {19703#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:23:38,057 INFO L273 TraceCheckUtils]: 16: Hoare triple {19703#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {19703#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} is VALID [2018-11-23 12:23:38,059 INFO L273 TraceCheckUtils]: 17: Hoare triple {19703#(<= (+ main_~CCCELVOL2~0 1) main_~MINVAL~0)} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {19702#false} is VALID [2018-11-23 12:23:38,059 INFO L273 TraceCheckUtils]: 18: Hoare triple {19702#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {19702#false} is VALID [2018-11-23 12:23:38,059 INFO L273 TraceCheckUtils]: 19: Hoare triple {19702#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {19702#false} is VALID [2018-11-23 12:23:38,059 INFO L273 TraceCheckUtils]: 20: Hoare triple {19702#false} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {19702#false} is VALID [2018-11-23 12:23:38,059 INFO L273 TraceCheckUtils]: 21: Hoare triple {19702#false} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {19702#false} is VALID [2018-11-23 12:23:38,059 INFO L273 TraceCheckUtils]: 22: Hoare triple {19702#false} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {19702#false} is VALID [2018-11-23 12:23:38,059 INFO L273 TraceCheckUtils]: 23: Hoare triple {19702#false} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {19702#false} is VALID [2018-11-23 12:23:38,060 INFO L273 TraceCheckUtils]: 24: Hoare triple {19702#false} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {19702#false} is VALID [2018-11-23 12:23:38,060 INFO L273 TraceCheckUtils]: 25: Hoare triple {19702#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {19702#false} is VALID [2018-11-23 12:23:38,060 INFO L273 TraceCheckUtils]: 26: Hoare triple {19702#false} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {19702#false} is VALID [2018-11-23 12:23:38,060 INFO L273 TraceCheckUtils]: 27: Hoare triple {19702#false} ~i~0 := 0; {19702#false} is VALID [2018-11-23 12:23:38,060 INFO L273 TraceCheckUtils]: 28: Hoare triple {19702#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {19702#false} is VALID [2018-11-23 12:23:38,060 INFO L273 TraceCheckUtils]: 29: Hoare triple {19702#false} assume #t~short6; {19702#false} is VALID [2018-11-23 12:23:38,060 INFO L256 TraceCheckUtils]: 30: Hoare triple {19702#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {19701#true} is VALID [2018-11-23 12:23:38,061 INFO L273 TraceCheckUtils]: 31: Hoare triple {19701#true} ~cond := #in~cond; {19701#true} is VALID [2018-11-23 12:23:38,061 INFO L273 TraceCheckUtils]: 32: Hoare triple {19701#true} assume !(0 == ~cond); {19701#true} is VALID [2018-11-23 12:23:38,061 INFO L273 TraceCheckUtils]: 33: Hoare triple {19701#true} assume true; {19701#true} is VALID [2018-11-23 12:23:38,061 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {19701#true} {19702#false} #93#return; {19702#false} is VALID [2018-11-23 12:23:38,062 INFO L273 TraceCheckUtils]: 35: Hoare triple {19702#false} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {19702#false} is VALID [2018-11-23 12:23:38,062 INFO L273 TraceCheckUtils]: 36: Hoare triple {19702#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19702#false} is VALID [2018-11-23 12:23:38,062 INFO L273 TraceCheckUtils]: 37: Hoare triple {19702#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {19702#false} is VALID [2018-11-23 12:23:38,062 INFO L273 TraceCheckUtils]: 38: Hoare triple {19702#false} assume #t~short6; {19702#false} is VALID [2018-11-23 12:23:38,062 INFO L256 TraceCheckUtils]: 39: Hoare triple {19702#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {19701#true} is VALID [2018-11-23 12:23:38,062 INFO L273 TraceCheckUtils]: 40: Hoare triple {19701#true} ~cond := #in~cond; {19701#true} is VALID [2018-11-23 12:23:38,062 INFO L273 TraceCheckUtils]: 41: Hoare triple {19701#true} assume !(0 == ~cond); {19701#true} is VALID [2018-11-23 12:23:38,063 INFO L273 TraceCheckUtils]: 42: Hoare triple {19701#true} assume true; {19701#true} is VALID [2018-11-23 12:23:38,063 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {19701#true} {19702#false} #93#return; {19702#false} is VALID [2018-11-23 12:23:38,063 INFO L273 TraceCheckUtils]: 44: Hoare triple {19702#false} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {19702#false} is VALID [2018-11-23 12:23:38,063 INFO L273 TraceCheckUtils]: 45: Hoare triple {19702#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19702#false} is VALID [2018-11-23 12:23:38,063 INFO L273 TraceCheckUtils]: 46: Hoare triple {19702#false} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {19702#false} is VALID [2018-11-23 12:23:38,063 INFO L273 TraceCheckUtils]: 47: Hoare triple {19702#false} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {19702#false} is VALID [2018-11-23 12:23:38,063 INFO L256 TraceCheckUtils]: 48: Hoare triple {19702#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {19702#false} is VALID [2018-11-23 12:23:38,063 INFO L273 TraceCheckUtils]: 49: Hoare triple {19702#false} ~cond := #in~cond; {19702#false} is VALID [2018-11-23 12:23:38,063 INFO L273 TraceCheckUtils]: 50: Hoare triple {19702#false} assume 0 == ~cond; {19702#false} is VALID [2018-11-23 12:23:38,064 INFO L273 TraceCheckUtils]: 51: Hoare triple {19702#false} assume !false; {19702#false} is VALID [2018-11-23 12:23:38,065 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 22 proven. 0 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2018-11-23 12:23:38,065 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:23:38,065 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:23:38,065 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 52 [2018-11-23 12:23:38,066 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:38,066 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:23:38,102 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-23 12:23:38,102 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:23:38,102 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:23:38,102 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:23:38,103 INFO L87 Difference]: Start difference. First operand 258 states and 302 transitions. Second operand 3 states. [2018-11-23 12:23:41,253 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:41,253 INFO L93 Difference]: Finished difference Result 326 states and 380 transitions. [2018-11-23 12:23:41,253 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:23:41,253 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 52 [2018-11-23 12:23:41,253 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:41,254 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:23:41,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 70 transitions. [2018-11-23 12:23:41,254 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:23:41,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 70 transitions. [2018-11-23 12:23:41,255 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 70 transitions. [2018-11-23 12:23:41,322 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:41,327 INFO L225 Difference]: With dead ends: 326 [2018-11-23 12:23:41,327 INFO L226 Difference]: Without dead ends: 235 [2018-11-23 12:23:41,327 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:23:41,328 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 235 states. [2018-11-23 12:23:45,505 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 235 to 232. [2018-11-23 12:23:45,505 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:45,505 INFO L82 GeneralOperation]: Start isEquivalent. First operand 235 states. Second operand 232 states. [2018-11-23 12:23:45,505 INFO L74 IsIncluded]: Start isIncluded. First operand 235 states. Second operand 232 states. [2018-11-23 12:23:45,506 INFO L87 Difference]: Start difference. First operand 235 states. Second operand 232 states. [2018-11-23 12:23:45,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:45,510 INFO L93 Difference]: Finished difference Result 235 states and 271 transitions. [2018-11-23 12:23:45,510 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 271 transitions. [2018-11-23 12:23:45,510 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:45,510 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:45,510 INFO L74 IsIncluded]: Start isIncluded. First operand 232 states. Second operand 235 states. [2018-11-23 12:23:45,510 INFO L87 Difference]: Start difference. First operand 232 states. Second operand 235 states. [2018-11-23 12:23:45,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:45,515 INFO L93 Difference]: Finished difference Result 235 states and 271 transitions. [2018-11-23 12:23:45,516 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 271 transitions. [2018-11-23 12:23:45,516 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:45,516 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:45,516 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:45,517 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:45,517 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 232 states. [2018-11-23 12:23:45,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 268 transitions. [2018-11-23 12:23:45,522 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 268 transitions. Word has length 52 [2018-11-23 12:23:45,522 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:45,522 INFO L480 AbstractCegarLoop]: Abstraction has 232 states and 268 transitions. [2018-11-23 12:23:45,522 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:23:45,522 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 268 transitions. [2018-11-23 12:23:45,523 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2018-11-23 12:23:45,523 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:45,523 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:45,523 INFO L423 AbstractCegarLoop]: === Iteration 24 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:45,524 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:45,524 INFO L82 PathProgramCache]: Analyzing trace with hash 175055585, now seen corresponding path program 4 times [2018-11-23 12:23:45,524 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:45,524 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:45,525 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:45,525 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:45,525 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:45,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:46,526 WARN L180 SmtUtils]: Spent 146.00 ms on a formula simplification. DAG size of input: 18 DAG size of output: 16 [2018-11-23 12:23:46,801 INFO L256 TraceCheckUtils]: 0: Hoare triple {20927#true} call ULTIMATE.init(); {20927#true} is VALID [2018-11-23 12:23:46,801 INFO L273 TraceCheckUtils]: 1: Hoare triple {20927#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {20927#true} is VALID [2018-11-23 12:23:46,802 INFO L273 TraceCheckUtils]: 2: Hoare triple {20927#true} assume true; {20927#true} is VALID [2018-11-23 12:23:46,802 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {20927#true} {20927#true} #89#return; {20927#true} is VALID [2018-11-23 12:23:46,802 INFO L256 TraceCheckUtils]: 4: Hoare triple {20927#true} call #t~ret7 := main(); {20927#true} is VALID [2018-11-23 12:23:46,802 INFO L273 TraceCheckUtils]: 5: Hoare triple {20927#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {20927#true} is VALID [2018-11-23 12:23:46,803 INFO L273 TraceCheckUtils]: 6: Hoare triple {20927#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {20929#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:23:46,804 INFO L273 TraceCheckUtils]: 7: Hoare triple {20929#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {20930#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:23:46,804 INFO L273 TraceCheckUtils]: 8: Hoare triple {20930#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {20930#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:23:46,805 INFO L273 TraceCheckUtils]: 9: Hoare triple {20930#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {20931#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:23:46,805 INFO L273 TraceCheckUtils]: 10: Hoare triple {20931#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {20931#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:23:46,806 INFO L273 TraceCheckUtils]: 11: Hoare triple {20931#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {20931#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:23:46,806 INFO L273 TraceCheckUtils]: 12: Hoare triple {20931#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {20931#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:23:46,807 INFO L273 TraceCheckUtils]: 13: Hoare triple {20931#(and (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {20932#(and (or (and (<= 2 main_~i~0) (<= main_~i~0 2)) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= main_~i~0 1))) (< 0 (+ ~CELLCOUNT~0 1)) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:23:46,808 INFO L273 TraceCheckUtils]: 14: Hoare triple {20932#(and (or (and (<= 2 main_~i~0) (<= main_~i~0 2)) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= main_~i~0 1))) (< 0 (+ ~CELLCOUNT~0 1)) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {20932#(and (or (and (<= 2 main_~i~0) (<= main_~i~0 2)) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= main_~i~0 1))) (< 0 (+ ~CELLCOUNT~0 1)) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:23:46,810 INFO L273 TraceCheckUtils]: 15: Hoare triple {20932#(and (or (and (<= 2 main_~i~0) (<= main_~i~0 2)) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= main_~i~0 1))) (< 0 (+ ~CELLCOUNT~0 1)) (<= main_~MINVAL~0 main_~CCCELVOL4~0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {20933#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (or (and (<= 2 main_~i~0) (<= main_~i~0 2)) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= main_~i~0 1))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:23:46,811 INFO L273 TraceCheckUtils]: 16: Hoare triple {20933#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (or (and (<= 2 main_~i~0) (<= main_~i~0 2)) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= main_~i~0 1))) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {20933#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (or (and (<= 2 main_~i~0) (<= main_~i~0 2)) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= main_~i~0 1))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:23:46,812 INFO L273 TraceCheckUtils]: 17: Hoare triple {20933#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (or (and (<= 2 main_~i~0) (<= main_~i~0 2)) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= main_~i~0 1))) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {20933#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (or (and (<= 2 main_~i~0) (<= main_~i~0 2)) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= main_~i~0 1))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:23:46,814 INFO L273 TraceCheckUtils]: 18: Hoare triple {20933#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (or (and (<= 2 main_~i~0) (<= main_~i~0 2)) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= main_~i~0 1))) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {20933#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (or (and (<= 2 main_~i~0) (<= main_~i~0 2)) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= main_~i~0 1))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:23:46,815 INFO L273 TraceCheckUtils]: 19: Hoare triple {20933#(and (<= main_~MINVAL~0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (or (and (<= 2 main_~i~0) (<= main_~i~0 2)) (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= main_~i~0 1))) (< 0 (+ ~CELLCOUNT~0 1)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {20934#(and (or (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= main_~i~0 2)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:23:46,817 INFO L273 TraceCheckUtils]: 20: Hoare triple {20934#(and (or (and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (<= main_~i~0 2)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {20935#(or (<= ~CELLCOUNT~0 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16))))))} is VALID [2018-11-23 12:23:46,817 INFO L273 TraceCheckUtils]: 21: Hoare triple {20935#(or (<= ~CELLCOUNT~0 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16))))))} ~i~0 := 0; {20936#(and (or (<= ~CELLCOUNT~0 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:46,818 INFO L273 TraceCheckUtils]: 22: Hoare triple {20936#(and (or (<= ~CELLCOUNT~0 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {20936#(and (or (<= ~CELLCOUNT~0 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:46,819 INFO L273 TraceCheckUtils]: 23: Hoare triple {20936#(and (or (<= ~CELLCOUNT~0 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} assume #t~short6; {20936#(and (or (<= ~CELLCOUNT~0 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:46,819 INFO L256 TraceCheckUtils]: 24: Hoare triple {20936#(and (or (<= ~CELLCOUNT~0 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {20927#true} is VALID [2018-11-23 12:23:46,819 INFO L273 TraceCheckUtils]: 25: Hoare triple {20927#true} ~cond := #in~cond; {20927#true} is VALID [2018-11-23 12:23:46,820 INFO L273 TraceCheckUtils]: 26: Hoare triple {20927#true} assume !(0 == ~cond); {20927#true} is VALID [2018-11-23 12:23:46,820 INFO L273 TraceCheckUtils]: 27: Hoare triple {20927#true} assume true; {20927#true} is VALID [2018-11-23 12:23:46,821 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {20927#true} {20936#(and (or (<= ~CELLCOUNT~0 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} #93#return; {20936#(and (or (<= ~CELLCOUNT~0 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:46,821 INFO L273 TraceCheckUtils]: 29: Hoare triple {20936#(and (or (<= ~CELLCOUNT~0 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {20936#(and (or (<= ~CELLCOUNT~0 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:46,823 INFO L273 TraceCheckUtils]: 30: Hoare triple {20936#(and (or (<= ~CELLCOUNT~0 4) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {20937#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} is VALID [2018-11-23 12:23:46,823 INFO L273 TraceCheckUtils]: 31: Hoare triple {20937#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {20937#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} is VALID [2018-11-23 12:23:46,824 INFO L273 TraceCheckUtils]: 32: Hoare triple {20937#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} assume #t~short6; {20937#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} is VALID [2018-11-23 12:23:46,824 INFO L256 TraceCheckUtils]: 33: Hoare triple {20937#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {20927#true} is VALID [2018-11-23 12:23:46,824 INFO L273 TraceCheckUtils]: 34: Hoare triple {20927#true} ~cond := #in~cond; {20927#true} is VALID [2018-11-23 12:23:46,824 INFO L273 TraceCheckUtils]: 35: Hoare triple {20927#true} assume !(0 == ~cond); {20927#true} is VALID [2018-11-23 12:23:46,824 INFO L273 TraceCheckUtils]: 36: Hoare triple {20927#true} assume true; {20927#true} is VALID [2018-11-23 12:23:46,825 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {20927#true} {20937#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} #93#return; {20937#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} is VALID [2018-11-23 12:23:46,826 INFO L273 TraceCheckUtils]: 38: Hoare triple {20937#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {20937#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} is VALID [2018-11-23 12:23:46,827 INFO L273 TraceCheckUtils]: 39: Hoare triple {20937#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 3)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {20938#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:23:46,827 INFO L273 TraceCheckUtils]: 40: Hoare triple {20938#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {20938#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:23:46,828 INFO L273 TraceCheckUtils]: 41: Hoare triple {20938#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} assume #t~short6; {20938#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:23:46,828 INFO L256 TraceCheckUtils]: 42: Hoare triple {20938#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {20927#true} is VALID [2018-11-23 12:23:46,828 INFO L273 TraceCheckUtils]: 43: Hoare triple {20927#true} ~cond := #in~cond; {20927#true} is VALID [2018-11-23 12:23:46,829 INFO L273 TraceCheckUtils]: 44: Hoare triple {20927#true} assume !(0 == ~cond); {20927#true} is VALID [2018-11-23 12:23:46,829 INFO L273 TraceCheckUtils]: 45: Hoare triple {20927#true} assume true; {20927#true} is VALID [2018-11-23 12:23:46,830 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {20927#true} {20938#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} #93#return; {20938#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:23:46,830 INFO L273 TraceCheckUtils]: 47: Hoare triple {20938#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {20938#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} is VALID [2018-11-23 12:23:46,831 INFO L273 TraceCheckUtils]: 48: Hoare triple {20938#(or (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= ~CELLCOUNT~0 (+ main_~i~0 2)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {20939#(or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))))} is VALID [2018-11-23 12:23:46,831 INFO L273 TraceCheckUtils]: 49: Hoare triple {20939#(or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {20939#(or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))))} is VALID [2018-11-23 12:23:46,831 INFO L273 TraceCheckUtils]: 50: Hoare triple {20939#(or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))))} assume #t~short6; {20939#(or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))))} is VALID [2018-11-23 12:23:46,832 INFO L256 TraceCheckUtils]: 51: Hoare triple {20939#(or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {20927#true} is VALID [2018-11-23 12:23:46,832 INFO L273 TraceCheckUtils]: 52: Hoare triple {20927#true} ~cond := #in~cond; {20927#true} is VALID [2018-11-23 12:23:46,832 INFO L273 TraceCheckUtils]: 53: Hoare triple {20927#true} assume !(0 == ~cond); {20927#true} is VALID [2018-11-23 12:23:46,832 INFO L273 TraceCheckUtils]: 54: Hoare triple {20927#true} assume true; {20927#true} is VALID [2018-11-23 12:23:46,832 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {20927#true} {20939#(or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))))} #93#return; {20939#(or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))))} is VALID [2018-11-23 12:23:46,833 INFO L273 TraceCheckUtils]: 56: Hoare triple {20939#(or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {20939#(or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))))} is VALID [2018-11-23 12:23:46,834 INFO L273 TraceCheckUtils]: 57: Hoare triple {20939#(or (<= ~CELLCOUNT~0 (+ main_~i~0 1)) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {20940#(or (<= ~CELLCOUNT~0 main_~i~0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))))} is VALID [2018-11-23 12:23:46,835 INFO L273 TraceCheckUtils]: 58: Hoare triple {20940#(or (<= ~CELLCOUNT~0 main_~i~0) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {20941#|main_#t~short6|} is VALID [2018-11-23 12:23:46,835 INFO L273 TraceCheckUtils]: 59: Hoare triple {20941#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {20928#false} is VALID [2018-11-23 12:23:46,836 INFO L256 TraceCheckUtils]: 60: Hoare triple {20928#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {20928#false} is VALID [2018-11-23 12:23:46,836 INFO L273 TraceCheckUtils]: 61: Hoare triple {20928#false} ~cond := #in~cond; {20928#false} is VALID [2018-11-23 12:23:46,836 INFO L273 TraceCheckUtils]: 62: Hoare triple {20928#false} assume 0 == ~cond; {20928#false} is VALID [2018-11-23 12:23:46,836 INFO L273 TraceCheckUtils]: 63: Hoare triple {20928#false} assume !false; {20928#false} is VALID [2018-11-23 12:23:46,849 INFO L134 CoverageAnalysis]: Checked inductivity of 82 backedges. 12 proven. 46 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:23:46,849 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:46,849 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:23:46,857 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:23:46,882 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:23:46,883 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:46,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:46,902 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:47,089 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:23:47,097 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:23:47,103 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:47,108 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:47,126 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:47,126 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:22 [2018-11-23 12:23:47,131 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:47,131 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_46|, main_~CCCELVOL4~0]. (and (= (store |v_#memory_int_46| |main_~#volArray~0.base| (store (select |v_#memory_int_46| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)) main_~CCCELVOL4~0)) |#memory_int|) (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0)) [2018-11-23 12:23:47,132 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:23:47,199 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:23:47,211 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:47,217 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:23:47,223 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:47,241 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:47,255 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:47,256 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:22 [2018-11-23 12:23:47,260 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:47,261 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_47|, main_~CCCELVOL3~0]. (let ((.cse0 (select |v_#memory_int_47| |main_~#volArray~0.base|)) (.cse1 (* 16 main_~i~0))) (and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 16)))) (= |#memory_int| (store |v_#memory_int_47| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 12)) main_~CCCELVOL3~0))))) [2018-11-23 12:23:47,261 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:23:47,291 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:23:47,307 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:47,312 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:23:47,318 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:47,326 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:47,340 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:47,341 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:22 [2018-11-23 12:23:47,346 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:47,346 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_48|, main_~CCCELVOL2~0]. (let ((.cse0 (select |v_#memory_int_48| |main_~#volArray~0.base|)) (.cse1 (* 16 main_~i~0))) (and (<= 5 (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 16)))) (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0) (= (store |v_#memory_int_48| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 8)) main_~CCCELVOL2~0)) |#memory_int|))) [2018-11-23 12:23:47,346 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:23:47,376 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 18 [2018-11-23 12:23:47,389 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:47,390 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:47,394 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 37 [2018-11-23 12:23:47,399 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:47,410 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:47,431 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:47,431 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:32, output treesize:31 [2018-11-23 12:23:47,437 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:47,437 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_49|, main_~CCCELVOL1~0]. (let ((.cse0 (select |v_#memory_int_49| |main_~#volArray~0.base|))) (and (= |#memory_int| (store |v_#memory_int_49| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| 28) main_~CCCELVOL1~0))) (<= main_~CCCELVOL1~0 1) (<= 5 (select .cse0 (+ |main_~#volArray~0.offset| 16))) (<= main_~MINVAL~0 main_~CCCELVOL1~0) (= |main_~#volArray~0.offset| 0))) [2018-11-23 12:23:47,437 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse1 (select |#memory_int| |main_~#volArray~0.base|))) (let ((.cse0 (select .cse1 (+ |main_~#volArray~0.offset| 28)))) (and (<= .cse0 1) (= |main_~#volArray~0.offset| 0) (<= main_~MINVAL~0 .cse0) (<= 5 (select .cse1 (+ |main_~#volArray~0.offset| 16)))))) [2018-11-23 12:23:48,467 INFO L256 TraceCheckUtils]: 0: Hoare triple {20927#true} call ULTIMATE.init(); {20927#true} is VALID [2018-11-23 12:23:48,467 INFO L273 TraceCheckUtils]: 1: Hoare triple {20927#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {20927#true} is VALID [2018-11-23 12:23:48,468 INFO L273 TraceCheckUtils]: 2: Hoare triple {20927#true} assume true; {20927#true} is VALID [2018-11-23 12:23:48,468 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {20927#true} {20927#true} #89#return; {20927#true} is VALID [2018-11-23 12:23:48,468 INFO L256 TraceCheckUtils]: 4: Hoare triple {20927#true} call #t~ret7 := main(); {20927#true} is VALID [2018-11-23 12:23:48,468 INFO L273 TraceCheckUtils]: 5: Hoare triple {20927#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {20927#true} is VALID [2018-11-23 12:23:48,469 INFO L273 TraceCheckUtils]: 6: Hoare triple {20927#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {20963#(and (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:23:48,470 INFO L273 TraceCheckUtils]: 7: Hoare triple {20963#(and (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {20967#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:23:48,470 INFO L273 TraceCheckUtils]: 8: Hoare triple {20967#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {20967#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:23:48,471 INFO L273 TraceCheckUtils]: 9: Hoare triple {20967#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {20967#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:23:48,471 INFO L273 TraceCheckUtils]: 10: Hoare triple {20967#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {20967#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:23:48,472 INFO L273 TraceCheckUtils]: 11: Hoare triple {20967#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {20967#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:23:48,472 INFO L273 TraceCheckUtils]: 12: Hoare triple {20967#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {20967#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:23:48,473 INFO L273 TraceCheckUtils]: 13: Hoare triple {20967#(and (<= main_~CCCELVOL1~0 1) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {20986#(and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:23:48,474 INFO L273 TraceCheckUtils]: 14: Hoare triple {20986#(and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {20986#(and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} is VALID [2018-11-23 12:23:48,475 INFO L273 TraceCheckUtils]: 15: Hoare triple {20986#(and (= main_~i~0 2) (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0) (<= 5 main_~CCCELVOL4~0))} assume ~CCCELVOL4~0 >= ~MINVAL~0;call write~int(~CCCELVOL4~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {20993#(and (= main_~i~0 2) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:48,476 INFO L273 TraceCheckUtils]: 16: Hoare triple {20993#(and (= main_~i~0 2) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {20993#(and (= main_~i~0 2) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:48,477 INFO L273 TraceCheckUtils]: 17: Hoare triple {20993#(and (= main_~i~0 2) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL2~0 >= ~MINVAL~0;call write~int(~CCCELVOL2~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {20993#(and (= main_~i~0 2) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:23:48,479 INFO L273 TraceCheckUtils]: 18: Hoare triple {20993#(and (= main_~i~0 2) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (<= main_~CCCELVOL1~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL1~0 >= ~MINVAL~0;call write~int(~CCCELVOL1~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {21003#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} is VALID [2018-11-23 12:23:48,480 INFO L273 TraceCheckUtils]: 19: Hoare triple {21003#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21003#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} is VALID [2018-11-23 12:23:48,481 INFO L273 TraceCheckUtils]: 20: Hoare triple {21003#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {21003#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} is VALID [2018-11-23 12:23:48,481 INFO L273 TraceCheckUtils]: 21: Hoare triple {21003#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} ~i~0 := 0; {21013#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:48,482 INFO L273 TraceCheckUtils]: 22: Hoare triple {21013#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {21013#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:48,483 INFO L273 TraceCheckUtils]: 23: Hoare triple {21013#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0))} assume #t~short6; {21013#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:48,485 INFO L256 TraceCheckUtils]: 24: Hoare triple {21013#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} is VALID [2018-11-23 12:23:48,485 INFO L273 TraceCheckUtils]: 25: Hoare triple {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} ~cond := #in~cond; {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} is VALID [2018-11-23 12:23:48,486 INFO L273 TraceCheckUtils]: 26: Hoare triple {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} assume !(0 == ~cond); {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} is VALID [2018-11-23 12:23:48,486 INFO L273 TraceCheckUtils]: 27: Hoare triple {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} assume true; {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} is VALID [2018-11-23 12:23:48,487 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} {21013#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0))} #93#return; {21013#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:48,488 INFO L273 TraceCheckUtils]: 29: Hoare triple {21013#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {21013#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:48,489 INFO L273 TraceCheckUtils]: 30: Hoare triple {21013#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {21042#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} is VALID [2018-11-23 12:23:48,490 INFO L273 TraceCheckUtils]: 31: Hoare triple {21042#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {21042#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} is VALID [2018-11-23 12:23:48,491 INFO L273 TraceCheckUtils]: 32: Hoare triple {21042#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} assume #t~short6; {21042#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} is VALID [2018-11-23 12:23:48,492 INFO L256 TraceCheckUtils]: 33: Hoare triple {21042#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} is VALID [2018-11-23 12:23:48,493 INFO L273 TraceCheckUtils]: 34: Hoare triple {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} ~cond := #in~cond; {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} is VALID [2018-11-23 12:23:48,493 INFO L273 TraceCheckUtils]: 35: Hoare triple {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} assume !(0 == ~cond); {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} is VALID [2018-11-23 12:23:48,494 INFO L273 TraceCheckUtils]: 36: Hoare triple {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} assume true; {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} is VALID [2018-11-23 12:23:48,495 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} {21042#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} #93#return; {21042#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} is VALID [2018-11-23 12:23:48,495 INFO L273 TraceCheckUtils]: 38: Hoare triple {21042#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {21042#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} is VALID [2018-11-23 12:23:48,496 INFO L273 TraceCheckUtils]: 39: Hoare triple {21042#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (= main_~i~0 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {21070#(and (= main_~i~0 2) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} is VALID [2018-11-23 12:23:48,497 INFO L273 TraceCheckUtils]: 40: Hoare triple {21070#(and (= main_~i~0 2) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {21070#(and (= main_~i~0 2) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} is VALID [2018-11-23 12:23:48,498 INFO L273 TraceCheckUtils]: 41: Hoare triple {21070#(and (= main_~i~0 2) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} assume #t~short6; {21070#(and (= main_~i~0 2) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} is VALID [2018-11-23 12:23:48,516 INFO L256 TraceCheckUtils]: 42: Hoare triple {21070#(and (= main_~i~0 2) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} is VALID [2018-11-23 12:23:48,530 INFO L273 TraceCheckUtils]: 43: Hoare triple {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} ~cond := #in~cond; {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} is VALID [2018-11-23 12:23:48,543 INFO L273 TraceCheckUtils]: 44: Hoare triple {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} assume !(0 == ~cond); {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} is VALID [2018-11-23 12:23:48,551 INFO L273 TraceCheckUtils]: 45: Hoare triple {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} assume true; {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} is VALID [2018-11-23 12:23:48,553 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} {21070#(and (= main_~i~0 2) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} #93#return; {21070#(and (= main_~i~0 2) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} is VALID [2018-11-23 12:23:48,554 INFO L273 TraceCheckUtils]: 47: Hoare triple {21070#(and (= main_~i~0 2) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {21070#(and (= main_~i~0 2) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} is VALID [2018-11-23 12:23:48,554 INFO L273 TraceCheckUtils]: 48: Hoare triple {21070#(and (= main_~i~0 2) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {21098#(and (= main_~i~0 3) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} is VALID [2018-11-23 12:23:48,555 INFO L273 TraceCheckUtils]: 49: Hoare triple {21098#(and (= main_~i~0 3) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {21098#(and (= main_~i~0 3) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} is VALID [2018-11-23 12:23:48,556 INFO L273 TraceCheckUtils]: 50: Hoare triple {21098#(and (= main_~i~0 3) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} assume #t~short6; {21098#(and (= main_~i~0 3) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} is VALID [2018-11-23 12:23:48,557 INFO L256 TraceCheckUtils]: 51: Hoare triple {21098#(and (= main_~i~0 3) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} is VALID [2018-11-23 12:23:48,557 INFO L273 TraceCheckUtils]: 52: Hoare triple {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} ~cond := #in~cond; {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} is VALID [2018-11-23 12:23:48,557 INFO L273 TraceCheckUtils]: 53: Hoare triple {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} assume !(0 == ~cond); {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} is VALID [2018-11-23 12:23:48,558 INFO L273 TraceCheckUtils]: 54: Hoare triple {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} assume true; {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} is VALID [2018-11-23 12:23:48,559 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {21023#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_16| Int)) (and (<= 5 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 16)) (<= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_16|) 28) 1)))} {21098#(and (= main_~i~0 3) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} #93#return; {21098#(and (= main_~i~0 3) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} is VALID [2018-11-23 12:23:48,560 INFO L273 TraceCheckUtils]: 56: Hoare triple {21098#(and (= main_~i~0 3) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {21098#(and (= main_~i~0 3) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} is VALID [2018-11-23 12:23:48,561 INFO L273 TraceCheckUtils]: 57: Hoare triple {21098#(and (= main_~i~0 3) (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {21126#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 4))} is VALID [2018-11-23 12:23:48,562 INFO L273 TraceCheckUtils]: 58: Hoare triple {21126#(and (<= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28)) 1) (<= main_~MINVAL~0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= |main_~#volArray~0.offset| 0) (<= 5 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16))) (= main_~i~0 4))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {20941#|main_#t~short6|} is VALID [2018-11-23 12:23:48,562 INFO L273 TraceCheckUtils]: 59: Hoare triple {20941#|main_#t~short6|} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {20928#false} is VALID [2018-11-23 12:23:48,563 INFO L256 TraceCheckUtils]: 60: Hoare triple {20928#false} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {20928#false} is VALID [2018-11-23 12:23:48,563 INFO L273 TraceCheckUtils]: 61: Hoare triple {20928#false} ~cond := #in~cond; {20928#false} is VALID [2018-11-23 12:23:48,563 INFO L273 TraceCheckUtils]: 62: Hoare triple {20928#false} assume 0 == ~cond; {20928#false} is VALID [2018-11-23 12:23:48,563 INFO L273 TraceCheckUtils]: 63: Hoare triple {20928#false} assume !false; {20928#false} is VALID [2018-11-23 12:23:48,578 INFO L134 CoverageAnalysis]: Checked inductivity of 82 backedges. 12 proven. 46 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:23:48,597 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:48,597 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14] total 26 [2018-11-23 12:23:48,598 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 64 [2018-11-23 12:23:48,598 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:48,598 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states. [2018-11-23 12:23:48,726 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:48,726 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2018-11-23 12:23:48,726 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2018-11-23 12:23:48,727 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=573, Unknown=0, NotChecked=0, Total=650 [2018-11-23 12:23:48,727 INFO L87 Difference]: Start difference. First operand 232 states and 268 transitions. Second operand 26 states. [2018-11-23 12:23:51,017 WARN L180 SmtUtils]: Spent 101.00 ms on a formula simplification. DAG size of input: 68 DAG size of output: 40 [2018-11-23 12:23:52,942 WARN L180 SmtUtils]: Spent 121.00 ms on a formula simplification. DAG size of input: 63 DAG size of output: 61 [2018-11-23 12:23:59,617 WARN L180 SmtUtils]: Spent 102.00 ms on a formula simplification. DAG size of input: 43 DAG size of output: 26 [2018-11-23 12:24:01,574 WARN L180 SmtUtils]: Spent 114.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 51 [2018-11-23 12:24:09,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:09,966 INFO L93 Difference]: Finished difference Result 509 states and 594 transitions. [2018-11-23 12:24:09,966 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 80 states. [2018-11-23 12:24:09,966 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 64 [2018-11-23 12:24:09,967 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:24:09,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:24:09,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 340 transitions. [2018-11-23 12:24:09,970 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:24:09,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 340 transitions. [2018-11-23 12:24:09,973 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 80 states and 340 transitions. [2018-11-23 12:24:10,640 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 340 edges. 340 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:24:10,653 INFO L225 Difference]: With dead ends: 509 [2018-11-23 12:24:10,653 INFO L226 Difference]: Without dead ends: 465 [2018-11-23 12:24:10,656 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 158 GetRequests, 48 SyntacticMatches, 10 SemanticMatches, 100 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3205 ImplicationChecksByTransitivity, 8.6s TimeCoverageRelationStatistics Valid=1471, Invalid=8831, Unknown=0, NotChecked=0, Total=10302 [2018-11-23 12:24:10,657 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 465 states. [2018-11-23 12:24:14,114 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 465 to 303. [2018-11-23 12:24:14,114 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:24:14,114 INFO L82 GeneralOperation]: Start isEquivalent. First operand 465 states. Second operand 303 states. [2018-11-23 12:24:14,114 INFO L74 IsIncluded]: Start isIncluded. First operand 465 states. Second operand 303 states. [2018-11-23 12:24:14,114 INFO L87 Difference]: Start difference. First operand 465 states. Second operand 303 states. [2018-11-23 12:24:14,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:14,129 INFO L93 Difference]: Finished difference Result 465 states and 541 transitions. [2018-11-23 12:24:14,129 INFO L276 IsEmpty]: Start isEmpty. Operand 465 states and 541 transitions. [2018-11-23 12:24:14,130 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:14,131 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:14,131 INFO L74 IsIncluded]: Start isIncluded. First operand 303 states. Second operand 465 states. [2018-11-23 12:24:14,131 INFO L87 Difference]: Start difference. First operand 303 states. Second operand 465 states. [2018-11-23 12:24:14,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:14,145 INFO L93 Difference]: Finished difference Result 465 states and 541 transitions. [2018-11-23 12:24:14,145 INFO L276 IsEmpty]: Start isEmpty. Operand 465 states and 541 transitions. [2018-11-23 12:24:14,146 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:14,146 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:14,146 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:24:14,146 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:24:14,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 303 states. [2018-11-23 12:24:14,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 303 states to 303 states and 356 transitions. [2018-11-23 12:24:14,152 INFO L78 Accepts]: Start accepts. Automaton has 303 states and 356 transitions. Word has length 64 [2018-11-23 12:24:14,152 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:24:14,152 INFO L480 AbstractCegarLoop]: Abstraction has 303 states and 356 transitions. [2018-11-23 12:24:14,152 INFO L481 AbstractCegarLoop]: Interpolant automaton has 26 states. [2018-11-23 12:24:14,153 INFO L276 IsEmpty]: Start isEmpty. Operand 303 states and 356 transitions. [2018-11-23 12:24:14,153 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2018-11-23 12:24:14,153 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:24:14,153 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:24:14,154 INFO L423 AbstractCegarLoop]: === Iteration 25 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:24:14,154 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:24:14,154 INFO L82 PathProgramCache]: Analyzing trace with hash 808780005, now seen corresponding path program 2 times [2018-11-23 12:24:14,154 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:24:14,154 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:24:14,155 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:14,155 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:24:14,155 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:14,168 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:15,121 INFO L256 TraceCheckUtils]: 0: Hoare triple {23305#true} call ULTIMATE.init(); {23305#true} is VALID [2018-11-23 12:24:15,121 INFO L273 TraceCheckUtils]: 1: Hoare triple {23305#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {23305#true} is VALID [2018-11-23 12:24:15,122 INFO L273 TraceCheckUtils]: 2: Hoare triple {23305#true} assume true; {23305#true} is VALID [2018-11-23 12:24:15,122 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {23305#true} {23305#true} #89#return; {23305#true} is VALID [2018-11-23 12:24:15,122 INFO L256 TraceCheckUtils]: 4: Hoare triple {23305#true} call #t~ret7 := main(); {23305#true} is VALID [2018-11-23 12:24:15,122 INFO L273 TraceCheckUtils]: 5: Hoare triple {23305#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {23305#true} is VALID [2018-11-23 12:24:15,123 INFO L273 TraceCheckUtils]: 6: Hoare triple {23305#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {23307#(<= 2 ~CELLCOUNT~0)} is VALID [2018-11-23 12:24:15,124 INFO L273 TraceCheckUtils]: 7: Hoare triple {23307#(<= 2 ~CELLCOUNT~0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {23308#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:24:15,125 INFO L273 TraceCheckUtils]: 8: Hoare triple {23308#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {23308#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:24:15,126 INFO L273 TraceCheckUtils]: 9: Hoare triple {23308#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {23308#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:24:15,126 INFO L273 TraceCheckUtils]: 10: Hoare triple {23308#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {23308#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:24:15,127 INFO L273 TraceCheckUtils]: 11: Hoare triple {23308#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {23308#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:24:15,128 INFO L273 TraceCheckUtils]: 12: Hoare triple {23308#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {23308#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:24:15,129 INFO L273 TraceCheckUtils]: 13: Hoare triple {23308#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (= main_~i~0 1) (< 0 (+ ~CELLCOUNT~0 1)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {23309#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (<= main_~i~0 2)) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:24:15,130 INFO L273 TraceCheckUtils]: 14: Hoare triple {23309#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (<= main_~i~0 2)) (< 0 (+ ~CELLCOUNT~0 1)))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {23309#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (<= main_~i~0 2)) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:24:15,131 INFO L273 TraceCheckUtils]: 15: Hoare triple {23309#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (<= main_~i~0 2)) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {23310#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (<= main_~i~0 2)) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:24:15,133 INFO L273 TraceCheckUtils]: 16: Hoare triple {23310#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (<= main_~i~0 2)) (< 0 (+ ~CELLCOUNT~0 1)))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {23310#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (<= main_~i~0 2)) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:24:15,134 INFO L273 TraceCheckUtils]: 17: Hoare triple {23310#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (<= main_~i~0 2)) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {23310#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (<= main_~i~0 2)) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:24:15,136 INFO L273 TraceCheckUtils]: 18: Hoare triple {23310#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (<= main_~i~0 2)) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {23310#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (<= main_~i~0 2)) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:24:15,137 INFO L273 TraceCheckUtils]: 19: Hoare triple {23310#(and (= 0 (select (store (select |#memory_int| |main_~#volArray~0.base|) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 12)) main_~CCCELVOL3~0) (+ (* 16 main_~i~0) |main_~#volArray~0.offset| (- 16)))) (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (<= main_~i~0 2)) (< 0 (+ ~CELLCOUNT~0 1)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {23311#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (and (or (<= (* 4 main_~i~0) 11) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (<= (* 4 main_~i~0) 12))) (< 0 (+ ~CELLCOUNT~0 1)))} is VALID [2018-11-23 12:24:15,139 INFO L273 TraceCheckUtils]: 20: Hoare triple {23311#(and (= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (and (or (<= (* 4 main_~i~0) 11) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (<= (* 4 main_~i~0) 12))) (< 0 (+ ~CELLCOUNT~0 1)))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {23312#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (or (< 1 (div ~CELLCOUNT~0 4)) (<= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4)))) (or (<= (* 4 (div ~CELLCOUNT~0 4)) 7) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))))} is VALID [2018-11-23 12:24:15,140 INFO L273 TraceCheckUtils]: 21: Hoare triple {23312#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (or (< 1 (div ~CELLCOUNT~0 4)) (<= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4)))) (or (<= (* 4 (div ~CELLCOUNT~0 4)) 7) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))))} ~i~0 := 0; {23313#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (or (< 1 (div ~CELLCOUNT~0 4)) (<= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4)))) (or (<= (* 4 (div ~CELLCOUNT~0 4)) 7) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:24:15,141 INFO L273 TraceCheckUtils]: 22: Hoare triple {23313#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (or (< 1 (div ~CELLCOUNT~0 4)) (<= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4)))) (or (<= (* 4 (div ~CELLCOUNT~0 4)) 7) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {23313#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (or (< 1 (div ~CELLCOUNT~0 4)) (<= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4)))) (or (<= (* 4 (div ~CELLCOUNT~0 4)) 7) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:24:15,142 INFO L273 TraceCheckUtils]: 23: Hoare triple {23313#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (or (< 1 (div ~CELLCOUNT~0 4)) (<= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4)))) (or (<= (* 4 (div ~CELLCOUNT~0 4)) 7) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} assume #t~short6; {23313#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (or (< 1 (div ~CELLCOUNT~0 4)) (<= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4)))) (or (<= (* 4 (div ~CELLCOUNT~0 4)) 7) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:24:15,142 INFO L256 TraceCheckUtils]: 24: Hoare triple {23313#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (or (< 1 (div ~CELLCOUNT~0 4)) (<= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4)))) (or (<= (* 4 (div ~CELLCOUNT~0 4)) 7) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {23305#true} is VALID [2018-11-23 12:24:15,142 INFO L273 TraceCheckUtils]: 25: Hoare triple {23305#true} ~cond := #in~cond; {23305#true} is VALID [2018-11-23 12:24:15,143 INFO L273 TraceCheckUtils]: 26: Hoare triple {23305#true} assume !(0 == ~cond); {23305#true} is VALID [2018-11-23 12:24:15,143 INFO L273 TraceCheckUtils]: 27: Hoare triple {23305#true} assume true; {23305#true} is VALID [2018-11-23 12:24:15,144 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {23305#true} {23313#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (or (< 1 (div ~CELLCOUNT~0 4)) (<= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4)))) (or (<= (* 4 (div ~CELLCOUNT~0 4)) 7) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} #93#return; {23313#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (or (< 1 (div ~CELLCOUNT~0 4)) (<= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4)))) (or (<= (* 4 (div ~CELLCOUNT~0 4)) 7) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:24:15,145 INFO L273 TraceCheckUtils]: 29: Hoare triple {23313#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (or (< 1 (div ~CELLCOUNT~0 4)) (<= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4)))) (or (<= (* 4 (div ~CELLCOUNT~0 4)) 7) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {23313#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (or (< 1 (div ~CELLCOUNT~0 4)) (<= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4)))) (or (<= (* 4 (div ~CELLCOUNT~0 4)) 7) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} is VALID [2018-11-23 12:24:15,146 INFO L273 TraceCheckUtils]: 30: Hoare triple {23313#(and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (or (< 1 (div ~CELLCOUNT~0 4)) (<= ~CELLCOUNT~0 (* 4 (div ~CELLCOUNT~0 4)))) (or (<= (* 4 (div ~CELLCOUNT~0 4)) 7) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 8) (+ |main_~#volArray~0.offset| (- 16)))))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {23314#(and (or (<= (+ ~CELLCOUNT~0 1) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))))))} is VALID [2018-11-23 12:24:15,146 INFO L273 TraceCheckUtils]: 31: Hoare triple {23314#(and (or (<= (+ ~CELLCOUNT~0 1) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {23314#(and (or (<= (+ ~CELLCOUNT~0 1) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))))))} is VALID [2018-11-23 12:24:15,147 INFO L273 TraceCheckUtils]: 32: Hoare triple {23314#(and (or (<= (+ ~CELLCOUNT~0 1) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))))))} assume #t~short6; {23314#(and (or (<= (+ ~CELLCOUNT~0 1) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))))))} is VALID [2018-11-23 12:24:15,147 INFO L256 TraceCheckUtils]: 33: Hoare triple {23314#(and (or (<= (+ ~CELLCOUNT~0 1) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {23305#true} is VALID [2018-11-23 12:24:15,147 INFO L273 TraceCheckUtils]: 34: Hoare triple {23305#true} ~cond := #in~cond; {23305#true} is VALID [2018-11-23 12:24:15,147 INFO L273 TraceCheckUtils]: 35: Hoare triple {23305#true} assume !(0 == ~cond); {23305#true} is VALID [2018-11-23 12:24:15,147 INFO L273 TraceCheckUtils]: 36: Hoare triple {23305#true} assume true; {23305#true} is VALID [2018-11-23 12:24:15,148 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {23305#true} {23314#(and (or (<= (+ ~CELLCOUNT~0 1) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))))))} #93#return; {23314#(and (or (<= (+ ~CELLCOUNT~0 1) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))))))} is VALID [2018-11-23 12:24:15,149 INFO L273 TraceCheckUtils]: 38: Hoare triple {23314#(and (or (<= (+ ~CELLCOUNT~0 1) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))))))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {23314#(and (or (<= (+ ~CELLCOUNT~0 1) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))))))} is VALID [2018-11-23 12:24:15,151 INFO L273 TraceCheckUtils]: 39: Hoare triple {23314#(and (or (<= (+ ~CELLCOUNT~0 1) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))) (or (<= (div ~CELLCOUNT~0 4) 1) (and (<= (* 4 (div ~CELLCOUNT~0 4)) 8) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 7)) (+ |main_~#volArray~0.offset| (- 16))))))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {23315#(and (or (and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 8)) (<= (div ~CELLCOUNT~0 4) 1)) (or (<= (+ ~CELLCOUNT~0 2) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))))} is VALID [2018-11-23 12:24:15,152 INFO L273 TraceCheckUtils]: 40: Hoare triple {23315#(and (or (and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 8)) (<= (div ~CELLCOUNT~0 4) 1)) (or (<= (+ ~CELLCOUNT~0 2) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {23315#(and (or (and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 8)) (<= (div ~CELLCOUNT~0 4) 1)) (or (<= (+ ~CELLCOUNT~0 2) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))))} is VALID [2018-11-23 12:24:15,153 INFO L273 TraceCheckUtils]: 41: Hoare triple {23315#(and (or (and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 8)) (<= (div ~CELLCOUNT~0 4) 1)) (or (<= (+ ~CELLCOUNT~0 2) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))))} assume #t~short6; {23315#(and (or (and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 8)) (<= (div ~CELLCOUNT~0 4) 1)) (or (<= (+ ~CELLCOUNT~0 2) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))))} is VALID [2018-11-23 12:24:15,153 INFO L256 TraceCheckUtils]: 42: Hoare triple {23315#(and (or (and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 8)) (<= (div ~CELLCOUNT~0 4) 1)) (or (<= (+ ~CELLCOUNT~0 2) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {23305#true} is VALID [2018-11-23 12:24:15,153 INFO L273 TraceCheckUtils]: 43: Hoare triple {23305#true} ~cond := #in~cond; {23305#true} is VALID [2018-11-23 12:24:15,153 INFO L273 TraceCheckUtils]: 44: Hoare triple {23305#true} assume !(0 == ~cond); {23305#true} is VALID [2018-11-23 12:24:15,154 INFO L273 TraceCheckUtils]: 45: Hoare triple {23305#true} assume true; {23305#true} is VALID [2018-11-23 12:24:15,155 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {23305#true} {23315#(and (or (and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 8)) (<= (div ~CELLCOUNT~0 4) 1)) (or (<= (+ ~CELLCOUNT~0 2) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))))} #93#return; {23315#(and (or (and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 8)) (<= (div ~CELLCOUNT~0 4) 1)) (or (<= (+ ~CELLCOUNT~0 2) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))))} is VALID [2018-11-23 12:24:15,156 INFO L273 TraceCheckUtils]: 47: Hoare triple {23315#(and (or (and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 8)) (<= (div ~CELLCOUNT~0 4) 1)) (or (<= (+ ~CELLCOUNT~0 2) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {23315#(and (or (and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 8)) (<= (div ~CELLCOUNT~0 4) 1)) (or (<= (+ ~CELLCOUNT~0 2) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))))} is VALID [2018-11-23 12:24:15,157 INFO L273 TraceCheckUtils]: 48: Hoare triple {23315#(and (or (and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 6)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 8)) (<= (div ~CELLCOUNT~0 4) 1)) (or (<= (+ ~CELLCOUNT~0 2) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4)))) (< 1 (div ~CELLCOUNT~0 4))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {23316#(and (or (< 1 (div ~CELLCOUNT~0 4)) (<= (+ ~CELLCOUNT~0 3) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4))))) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 7)) (<= (* 4 (div ~CELLCOUNT~0 4)) 8))} is VALID [2018-11-23 12:24:15,159 INFO L273 TraceCheckUtils]: 49: Hoare triple {23316#(and (or (< 1 (div ~CELLCOUNT~0 4)) (<= (+ ~CELLCOUNT~0 3) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4))))) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 7)) (<= (* 4 (div ~CELLCOUNT~0 4)) 8))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {23316#(and (or (< 1 (div ~CELLCOUNT~0 4)) (<= (+ ~CELLCOUNT~0 3) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4))))) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 7)) (<= (* 4 (div ~CELLCOUNT~0 4)) 8))} is VALID [2018-11-23 12:24:15,177 INFO L273 TraceCheckUtils]: 50: Hoare triple {23316#(and (or (< 1 (div ~CELLCOUNT~0 4)) (<= (+ ~CELLCOUNT~0 3) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4))))) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 7)) (<= (* 4 (div ~CELLCOUNT~0 4)) 8))} assume #t~short6; {23316#(and (or (< 1 (div ~CELLCOUNT~0 4)) (<= (+ ~CELLCOUNT~0 3) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4))))) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 7)) (<= (* 4 (div ~CELLCOUNT~0 4)) 8))} is VALID [2018-11-23 12:24:15,178 INFO L256 TraceCheckUtils]: 51: Hoare triple {23316#(and (or (< 1 (div ~CELLCOUNT~0 4)) (<= (+ ~CELLCOUNT~0 3) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4))))) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 7)) (<= (* 4 (div ~CELLCOUNT~0 4)) 8))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {23305#true} is VALID [2018-11-23 12:24:15,178 INFO L273 TraceCheckUtils]: 52: Hoare triple {23305#true} ~cond := #in~cond; {23305#true} is VALID [2018-11-23 12:24:15,178 INFO L273 TraceCheckUtils]: 53: Hoare triple {23305#true} assume !(0 == ~cond); {23305#true} is VALID [2018-11-23 12:24:15,178 INFO L273 TraceCheckUtils]: 54: Hoare triple {23305#true} assume true; {23305#true} is VALID [2018-11-23 12:24:15,179 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {23305#true} {23316#(and (or (< 1 (div ~CELLCOUNT~0 4)) (<= (+ ~CELLCOUNT~0 3) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4))))) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 7)) (<= (* 4 (div ~CELLCOUNT~0 4)) 8))} #93#return; {23316#(and (or (< 1 (div ~CELLCOUNT~0 4)) (<= (+ ~CELLCOUNT~0 3) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4))))) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 7)) (<= (* 4 (div ~CELLCOUNT~0 4)) 8))} is VALID [2018-11-23 12:24:15,179 INFO L273 TraceCheckUtils]: 56: Hoare triple {23316#(and (or (< 1 (div ~CELLCOUNT~0 4)) (<= (+ ~CELLCOUNT~0 3) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4))))) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 7)) (<= (* 4 (div ~CELLCOUNT~0 4)) 8))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {23316#(and (or (< 1 (div ~CELLCOUNT~0 4)) (<= (+ ~CELLCOUNT~0 3) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4))))) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 7)) (<= (* 4 (div ~CELLCOUNT~0 4)) 8))} is VALID [2018-11-23 12:24:15,180 INFO L273 TraceCheckUtils]: 57: Hoare triple {23316#(and (or (< 1 (div ~CELLCOUNT~0 4)) (<= (+ ~CELLCOUNT~0 3) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4))))) (or (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 (+ main_~i~0 5)) (+ |main_~#volArray~0.offset| (- 16))))) (<= (* 4 (div ~CELLCOUNT~0 4)) 7)) (<= (* 4 (div ~CELLCOUNT~0 4)) 8))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {23317#(or (and (<= (div ~CELLCOUNT~0 4) 1) (<= (+ ~CELLCOUNT~0 4) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4))))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))))} is VALID [2018-11-23 12:24:15,181 INFO L273 TraceCheckUtils]: 58: Hoare triple {23317#(or (and (<= (div ~CELLCOUNT~0 4) 1) (<= (+ ~CELLCOUNT~0 4) (+ main_~i~0 (* 4 (div ~CELLCOUNT~0 4))))) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|))))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {23318#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} is VALID [2018-11-23 12:24:15,182 INFO L273 TraceCheckUtils]: 59: Hoare triple {23318#(= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ (* 4 main_~i~0) |main_~#volArray~0.offset|)))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {23319#|main_#t~short6|} is VALID [2018-11-23 12:24:15,182 INFO L256 TraceCheckUtils]: 60: Hoare triple {23319#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {23320#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:24:15,183 INFO L273 TraceCheckUtils]: 61: Hoare triple {23320#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {23321#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:24:15,183 INFO L273 TraceCheckUtils]: 62: Hoare triple {23321#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {23306#false} is VALID [2018-11-23 12:24:15,183 INFO L273 TraceCheckUtils]: 63: Hoare triple {23306#false} assume !false; {23306#false} is VALID [2018-11-23 12:24:15,201 INFO L134 CoverageAnalysis]: Checked inductivity of 82 backedges. 8 proven. 50 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:24:15,201 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:24:15,201 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:24:15,212 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:24:15,252 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:24:15,252 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:24:15,271 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:15,273 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:24:15,381 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:24:15,388 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:24:15,391 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:15,394 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:15,403 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:15,403 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-23 12:24:15,463 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:24:15,472 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:15,475 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:24:15,479 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:15,488 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:15,498 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:15,499 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-23 12:24:15,504 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:24:15,504 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_51|, main_~CCCELVOL3~0]. (let ((.cse0 (select |v_#memory_int_51| |main_~#volArray~0.base|)) (.cse1 (* 16 main_~i~0))) (and (= main_~i~0 2) (= 0 (select .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 16)))) (= |#memory_int| (store |v_#memory_int_51| |main_~#volArray~0.base| (store .cse0 (+ |main_~#volArray~0.offset| .cse1 (- 12)) main_~CCCELVOL3~0))) (= |main_~#volArray~0.offset| 0))) [2018-11-23 12:24:15,504 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 2) (= |main_~#volArray~0.offset| 0)) [2018-11-23 12:24:15,518 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:24:15,529 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:15,529 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:24:15,533 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:15,542 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:15,554 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:15,554 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-23 12:24:15,615 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 25 [2018-11-23 12:24:15,622 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:15,623 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:15,624 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:15,625 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 52 [2018-11-23 12:24:15,631 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:15,641 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:15,652 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:15,653 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-23 12:24:16,659 INFO L256 TraceCheckUtils]: 0: Hoare triple {23305#true} call ULTIMATE.init(); {23305#true} is VALID [2018-11-23 12:24:16,659 INFO L273 TraceCheckUtils]: 1: Hoare triple {23305#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~CELLCOUNT~0 := 0; {23305#true} is VALID [2018-11-23 12:24:16,659 INFO L273 TraceCheckUtils]: 2: Hoare triple {23305#true} assume true; {23305#true} is VALID [2018-11-23 12:24:16,659 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {23305#true} {23305#true} #89#return; {23305#true} is VALID [2018-11-23 12:24:16,659 INFO L256 TraceCheckUtils]: 4: Hoare triple {23305#true} call #t~ret7 := main(); {23305#true} is VALID [2018-11-23 12:24:16,660 INFO L273 TraceCheckUtils]: 5: Hoare triple {23305#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~CELLCOUNT~0 := #t~nondet1;havoc #t~nondet1; {23305#true} is VALID [2018-11-23 12:24:16,660 INFO L273 TraceCheckUtils]: 6: Hoare triple {23305#true} assume ~CELLCOUNT~0 > 1;havoc ~MINVAL~0;havoc ~i~0;call ~#volArray~0.base, ~#volArray~0.offset := #Ultimate.alloc(4 * ~CELLCOUNT~0);~CCCELVOL4~0 := 5;~CCCELVOL3~0 := 7;~CCCELVOL2~0 := 3;~CCCELVOL1~0 := 1; {23343#(= |main_~#volArray~0.offset| 0)} is VALID [2018-11-23 12:24:16,661 INFO L273 TraceCheckUtils]: 7: Hoare triple {23343#(= |main_~#volArray~0.offset| 0)} assume !(0 != (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4));assume 0 != (if 0 == (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then ~CELLCOUNT~0 % 4 - 4 else ~CELLCOUNT~0 % 4) then 1 else 0);~i~0 := 1; {23347#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:24:16,661 INFO L273 TraceCheckUtils]: 8: Hoare triple {23347#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {23347#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:24:16,662 INFO L273 TraceCheckUtils]: 9: Hoare triple {23347#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {23347#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:24:16,663 INFO L273 TraceCheckUtils]: 10: Hoare triple {23347#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {23347#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:24:16,664 INFO L273 TraceCheckUtils]: 11: Hoare triple {23347#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {23347#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:24:16,664 INFO L273 TraceCheckUtils]: 12: Hoare triple {23347#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {23347#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:24:16,665 INFO L273 TraceCheckUtils]: 13: Hoare triple {23347#(and (= main_~i~0 1) (= |main_~#volArray~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {23366#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:24:16,666 INFO L273 TraceCheckUtils]: 14: Hoare triple {23366#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !!(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {23366#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:24:16,667 INFO L273 TraceCheckUtils]: 15: Hoare triple {23366#(and (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL4~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 4), 4); {23373#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:24:16,668 INFO L273 TraceCheckUtils]: 16: Hoare triple {23373#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume ~CCCELVOL3~0 >= ~MINVAL~0;call write~int(~CCCELVOL3~0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 3), 4); {23373#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:24:16,669 INFO L273 TraceCheckUtils]: 17: Hoare triple {23373#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 2) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL2~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 2), 4); {23380#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8))) 0) (= |main_~#volArray~0.offset| 0))} is VALID [2018-11-23 12:24:16,670 INFO L273 TraceCheckUtils]: 18: Hoare triple {23380#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 16)))) (= main_~i~0 2) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| (* 16 main_~i~0) (- 8))) 0) (= |main_~#volArray~0.offset| 0))} assume !(~CCCELVOL1~0 >= ~MINVAL~0);call write~int(0, ~#volArray~0.base, ~#volArray~0.offset + 4 * (4 * ~i~0 - 1), 4); {23384#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:16,672 INFO L273 TraceCheckUtils]: 19: Hoare triple {23384#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {23384#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:16,673 INFO L273 TraceCheckUtils]: 20: Hoare triple {23384#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !(~i~0 <= (if ~CELLCOUNT~0 < 0 && 0 != ~CELLCOUNT~0 % 4 then 1 + ~CELLCOUNT~0 / 4 else ~CELLCOUNT~0 / 4)); {23384#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:16,674 INFO L273 TraceCheckUtils]: 21: Hoare triple {23384#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} ~i~0 := 0; {23394#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:24:16,675 INFO L273 TraceCheckUtils]: 22: Hoare triple {23394#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {23394#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:24:16,676 INFO L273 TraceCheckUtils]: 23: Hoare triple {23394#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} assume #t~short6; {23394#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:24:16,677 INFO L256 TraceCheckUtils]: 24: Hoare triple {23394#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} is VALID [2018-11-23 12:24:16,678 INFO L273 TraceCheckUtils]: 25: Hoare triple {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} ~cond := #in~cond; {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} is VALID [2018-11-23 12:24:16,678 INFO L273 TraceCheckUtils]: 26: Hoare triple {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} assume !(0 == ~cond); {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} is VALID [2018-11-23 12:24:16,679 INFO L273 TraceCheckUtils]: 27: Hoare triple {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} assume true; {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} is VALID [2018-11-23 12:24:16,680 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} {23394#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} #93#return; {23394#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:24:16,681 INFO L273 TraceCheckUtils]: 29: Hoare triple {23394#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {23394#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} is VALID [2018-11-23 12:24:16,682 INFO L273 TraceCheckUtils]: 30: Hoare triple {23394#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {23423#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:16,683 INFO L273 TraceCheckUtils]: 31: Hoare triple {23423#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {23423#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:16,684 INFO L273 TraceCheckUtils]: 32: Hoare triple {23423#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume #t~short6; {23423#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:16,685 INFO L256 TraceCheckUtils]: 33: Hoare triple {23423#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} is VALID [2018-11-23 12:24:16,686 INFO L273 TraceCheckUtils]: 34: Hoare triple {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} ~cond := #in~cond; {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} is VALID [2018-11-23 12:24:16,686 INFO L273 TraceCheckUtils]: 35: Hoare triple {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} assume !(0 == ~cond); {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} is VALID [2018-11-23 12:24:16,687 INFO L273 TraceCheckUtils]: 36: Hoare triple {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} assume true; {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} is VALID [2018-11-23 12:24:16,688 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} {23423#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #93#return; {23423#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:16,689 INFO L273 TraceCheckUtils]: 38: Hoare triple {23423#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {23423#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:16,690 INFO L273 TraceCheckUtils]: 39: Hoare triple {23423#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= main_~i~0 1) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {23451#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:16,691 INFO L273 TraceCheckUtils]: 40: Hoare triple {23451#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {23451#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:16,692 INFO L273 TraceCheckUtils]: 41: Hoare triple {23451#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume #t~short6; {23451#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:16,693 INFO L256 TraceCheckUtils]: 42: Hoare triple {23451#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} is VALID [2018-11-23 12:24:16,694 INFO L273 TraceCheckUtils]: 43: Hoare triple {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} ~cond := #in~cond; {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} is VALID [2018-11-23 12:24:16,695 INFO L273 TraceCheckUtils]: 44: Hoare triple {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} assume !(0 == ~cond); {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} is VALID [2018-11-23 12:24:16,695 INFO L273 TraceCheckUtils]: 45: Hoare triple {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} assume true; {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} is VALID [2018-11-23 12:24:16,696 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} {23451#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #93#return; {23451#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:16,697 INFO L273 TraceCheckUtils]: 47: Hoare triple {23451#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {23451#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:16,698 INFO L273 TraceCheckUtils]: 48: Hoare triple {23451#(and (= main_~i~0 2) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {23479#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:16,699 INFO L273 TraceCheckUtils]: 49: Hoare triple {23479#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {23479#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:16,700 INFO L273 TraceCheckUtils]: 50: Hoare triple {23479#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} assume #t~short6; {23479#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:16,702 INFO L256 TraceCheckUtils]: 51: Hoare triple {23479#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} is VALID [2018-11-23 12:24:16,702 INFO L273 TraceCheckUtils]: 52: Hoare triple {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} ~cond := #in~cond; {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} is VALID [2018-11-23 12:24:16,703 INFO L273 TraceCheckUtils]: 53: Hoare triple {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} assume !(0 == ~cond); {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} is VALID [2018-11-23 12:24:16,703 INFO L273 TraceCheckUtils]: 54: Hoare triple {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} assume true; {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} is VALID [2018-11-23 12:24:16,704 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {23404#(exists ((|v_main_~#volArray~0.base_BEFORE_CALL_20| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 16)) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 28) 0) (= (select (select |#memory_int| |v_main_~#volArray~0.base_BEFORE_CALL_20|) 24) 0)))} {23479#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #93#return; {23479#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:16,705 INFO L273 TraceCheckUtils]: 56: Hoare triple {23479#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} havoc #t~mem4;havoc #t~short6;havoc #t~mem5; {23479#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} is VALID [2018-11-23 12:24:16,706 INFO L273 TraceCheckUtils]: 57: Hoare triple {23479#(and (= main_~i~0 3) (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {23507#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 4))} is VALID [2018-11-23 12:24:16,707 INFO L273 TraceCheckUtils]: 58: Hoare triple {23507#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 4))} assume !!(~i~0 < ~CELLCOUNT~0);call #t~mem4 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := #t~mem4 >= ~MINVAL~0; {23507#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 4))} is VALID [2018-11-23 12:24:16,708 INFO L273 TraceCheckUtils]: 59: Hoare triple {23507#(and (= 0 (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 28))) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 24)) 0) (= |main_~#volArray~0.offset| 0) (= (select (select |#memory_int| |main_~#volArray~0.base|) (+ |main_~#volArray~0.offset| 16)) 0) (= main_~i~0 4))} assume !#t~short6;call #t~mem5 := read~int(~#volArray~0.base, ~#volArray~0.offset + 4 * ~i~0, 4);#t~short6 := 0 == #t~mem5; {23319#|main_#t~short6|} is VALID [2018-11-23 12:24:16,709 INFO L256 TraceCheckUtils]: 60: Hoare triple {23319#|main_#t~short6|} call __VERIFIER_assert((if #t~short6 then 1 else 0)); {23517#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:24:16,710 INFO L273 TraceCheckUtils]: 61: Hoare triple {23517#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {23521#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:24:16,710 INFO L273 TraceCheckUtils]: 62: Hoare triple {23521#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23306#false} is VALID [2018-11-23 12:24:16,711 INFO L273 TraceCheckUtils]: 63: Hoare triple {23306#false} assume !false; {23306#false} is VALID [2018-11-23 12:24:16,727 INFO L134 CoverageAnalysis]: Checked inductivity of 82 backedges. 0 proven. 58 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:24:16,746 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:24:16,746 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 31 [2018-11-23 12:24:16,747 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 64 [2018-11-23 12:24:16,747 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:24:16,747 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states. [2018-11-23 12:24:16,882 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:24:16,883 INFO L459 AbstractCegarLoop]: Interpolant automaton has 31 states [2018-11-23 12:24:16,883 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2018-11-23 12:24:16,883 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=98, Invalid=832, Unknown=0, NotChecked=0, Total=930 [2018-11-23 12:24:16,884 INFO L87 Difference]: Start difference. First operand 303 states and 356 transitions. Second operand 31 states.