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_Bitvector.epf -i ../../../trunk/examples/svcomp/array-tiling/rewnifrev_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 10:32:32,244 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 10:32:32,245 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 10:32:32,257 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 10:32:32,258 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 10:32:32,259 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 10:32:32,260 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 10:32:32,262 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 10:32:32,264 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 10:32:32,264 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 10:32:32,265 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 10:32:32,265 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 10:32:32,266 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 10:32:32,267 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 10:32:32,268 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 10:32:32,269 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 10:32:32,270 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 10:32:32,272 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 10:32:32,274 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 10:32:32,276 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 10:32:32,277 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 10:32:32,278 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 10:32:32,280 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 10:32:32,281 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 10:32:32,281 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 10:32:32,282 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 10:32:32,283 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 10:32:32,284 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 10:32:32,285 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 10:32:32,286 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 10:32:32,286 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 10:32:32,287 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 10:32:32,287 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 10:32:32,287 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 10:32:32,288 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 10:32:32,289 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 10:32:32,289 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 10:32:32,309 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 10:32:32,310 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 10:32:32,311 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 10:32:32,314 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 10:32:32,315 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 10:32:32,315 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 10:32:32,315 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 10:32:32,315 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 10:32:32,316 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 10:32:32,316 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 10:32:32,316 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 10:32:32,316 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 10:32:32,316 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 10:32:32,317 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 10:32:32,318 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 10:32:32,318 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 10:32:32,318 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 10:32:32,318 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 10:32:32,319 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 10:32:32,319 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 10:32:32,319 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 10:32:32,319 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 10:32:32,319 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 10:32:32,321 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 10:32:32,321 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 10:32:32,322 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 10:32:32,322 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 10:32:32,322 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 10:32:32,322 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 10:32:32,322 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 10:32:32,323 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 10:32:32,323 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 10:32:32,323 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 10:32:32,383 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 10:32:32,397 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 10:32:32,400 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 10:32:32,402 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 10:32:32,403 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 10:32:32,403 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-tiling/rewnifrev_true-unreach-call.i [2018-11-23 10:32:32,466 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f5d75a851/dea81cafca6c40918173c8149713e724/FLAG7beceb434 [2018-11-23 10:32:32,971 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 10:32:32,972 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-tiling/rewnifrev_true-unreach-call.i [2018-11-23 10:32:32,978 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f5d75a851/dea81cafca6c40918173c8149713e724/FLAG7beceb434 [2018-11-23 10:32:33,322 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f5d75a851/dea81cafca6c40918173c8149713e724 [2018-11-23 10:32:33,332 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 10:32:33,333 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 10:32:33,335 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 10:32:33,335 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 10:32:33,339 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 10:32:33,340 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 10:32:33" (1/1) ... [2018-11-23 10:32:33,344 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@360eea2c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:32:33, skipping insertion in model container [2018-11-23 10:32:33,344 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 10:32:33" (1/1) ... [2018-11-23 10:32:33,355 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 10:32:33,380 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 10:32:33,635 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 10:32:33,641 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 10:32:33,671 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 10:32:33,698 INFO L195 MainTranslator]: Completed translation [2018-11-23 10:32:33,699 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:32:33 WrapperNode [2018-11-23 10:32:33,699 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 10:32:33,700 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 10:32:33,701 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 10:32:33,701 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 10:32:33,711 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:32:33" (1/1) ... [2018-11-23 10:32:33,724 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:32:33" (1/1) ... [2018-11-23 10:32:33,734 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 10:32:33,734 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 10:32:33,734 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 10:32:33,735 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 10:32:33,746 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:32:33" (1/1) ... [2018-11-23 10:32:33,747 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:32:33" (1/1) ... [2018-11-23 10:32:33,750 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:32:33" (1/1) ... [2018-11-23 10:32:33,750 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:32:33" (1/1) ... [2018-11-23 10:32:33,767 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:32:33" (1/1) ... [2018-11-23 10:32:33,781 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:32:33" (1/1) ... [2018-11-23 10:32:33,784 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:32:33" (1/1) ... [2018-11-23 10:32:33,790 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 10:32:33,791 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 10:32:33,791 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 10:32:33,791 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 10:32:33,792 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:32:33" (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 10:32:33,917 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 10:32:33,917 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 10:32:33,917 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 10:32:33,917 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 10:32:33,917 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 10:32:33,918 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 10:32:33,918 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 10:32:33,918 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 10:32:33,918 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 10:32:33,918 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 10:32:33,919 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 10:32:33,919 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 10:32:34,491 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 10:32:34,492 INFO L280 CfgBuilder]: Removed 2 assue(true) statements. [2018-11-23 10:32:34,492 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 10:32:34 BoogieIcfgContainer [2018-11-23 10:32:34,492 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 10:32:34,493 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 10:32:34,494 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 10:32:34,497 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 10:32:34,497 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 10:32:33" (1/3) ... [2018-11-23 10:32:34,498 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@43522ae2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 10:32:34, skipping insertion in model container [2018-11-23 10:32:34,498 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:32:33" (2/3) ... [2018-11-23 10:32:34,499 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@43522ae2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 10:32:34, skipping insertion in model container [2018-11-23 10:32:34,499 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 10:32:34" (3/3) ... [2018-11-23 10:32:34,501 INFO L112 eAbstractionObserver]: Analyzing ICFG rewnifrev_true-unreach-call.i [2018-11-23 10:32:34,512 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 10:32:34,521 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 10:32:34,538 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 10:32:34,571 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 10:32:34,572 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 10:32:34,572 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 10:32:34,573 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 10:32:34,573 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 10:32:34,573 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 10:32:34,573 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 10:32:34,573 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 10:32:34,574 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 10:32:34,591 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states. [2018-11-23 10:32:34,598 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 10:32:34,598 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:32:34,599 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:32:34,601 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:32:34,608 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:32:34,608 INFO L82 PathProgramCache]: Analyzing trace with hash -1204506220, now seen corresponding path program 1 times [2018-11-23 10:32:34,612 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:32:34,613 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 2 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:32:34,631 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:32:34,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:32:34,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:32:34,700 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:32:34,876 INFO L256 TraceCheckUtils]: 0: Hoare triple {31#true} call ULTIMATE.init(); {31#true} is VALID [2018-11-23 10:32:34,880 INFO L273 TraceCheckUtils]: 1: Hoare triple {31#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {31#true} is VALID [2018-11-23 10:32:34,880 INFO L273 TraceCheckUtils]: 2: Hoare triple {31#true} assume true; {31#true} is VALID [2018-11-23 10:32:34,881 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {31#true} {31#true} #63#return; {31#true} is VALID [2018-11-23 10:32:34,881 INFO L256 TraceCheckUtils]: 4: Hoare triple {31#true} call #t~ret5 := main(); {31#true} is VALID [2018-11-23 10:32:34,881 INFO L273 TraceCheckUtils]: 5: Hoare triple {31#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {31#true} is VALID [2018-11-23 10:32:34,882 INFO L273 TraceCheckUtils]: 6: Hoare triple {31#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := ~bvsub32(~SIZE~0, 1bv32); {31#true} is VALID [2018-11-23 10:32:34,883 INFO L273 TraceCheckUtils]: 7: Hoare triple {31#true} assume !true; {32#false} is VALID [2018-11-23 10:32:34,883 INFO L273 TraceCheckUtils]: 8: Hoare triple {32#false} ~i~0 := 0bv32; {32#false} is VALID [2018-11-23 10:32:34,883 INFO L273 TraceCheckUtils]: 9: Hoare triple {32#false} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {32#false} is VALID [2018-11-23 10:32:34,883 INFO L256 TraceCheckUtils]: 10: Hoare triple {32#false} call __VERIFIER_assert((if ~bvsge32(#t~mem4, ~i~0) then 1bv32 else 0bv32)); {32#false} is VALID [2018-11-23 10:32:34,884 INFO L273 TraceCheckUtils]: 11: Hoare triple {32#false} ~cond := #in~cond; {32#false} is VALID [2018-11-23 10:32:34,884 INFO L273 TraceCheckUtils]: 12: Hoare triple {32#false} assume 0bv32 == ~cond; {32#false} is VALID [2018-11-23 10:32:34,884 INFO L273 TraceCheckUtils]: 13: Hoare triple {32#false} assume !false; {32#false} is VALID [2018-11-23 10:32:34,888 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 10:32:34,888 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:32:34,894 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:32:34,895 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 10:32:34,900 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 14 [2018-11-23 10:32:34,903 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:32:34,907 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 10:32:35,092 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:32:35,093 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 10:32:35,104 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 10:32:35,104 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 10:32:35,108 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 2 states. [2018-11-23 10:32:35,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:32:35,329 INFO L93 Difference]: Finished difference Result 45 states and 54 transitions. [2018-11-23 10:32:35,329 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 10:32:35,329 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 14 [2018-11-23 10:32:35,330 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:32:35,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 10:32:35,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 54 transitions. [2018-11-23 10:32:35,342 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 10:32:35,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 54 transitions. [2018-11-23 10:32:35,351 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 54 transitions. [2018-11-23 10:32:35,621 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:32:35,634 INFO L225 Difference]: With dead ends: 45 [2018-11-23 10:32:35,635 INFO L226 Difference]: Without dead ends: 22 [2018-11-23 10:32:35,639 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 10:32:35,658 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states. [2018-11-23 10:32:35,705 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 22. [2018-11-23 10:32:35,705 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:32:35,705 INFO L82 GeneralOperation]: Start isEquivalent. First operand 22 states. Second operand 22 states. [2018-11-23 10:32:35,706 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 22 states. [2018-11-23 10:32:35,706 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 22 states. [2018-11-23 10:32:35,710 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:32:35,710 INFO L93 Difference]: Finished difference Result 22 states and 24 transitions. [2018-11-23 10:32:35,710 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 24 transitions. [2018-11-23 10:32:35,711 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:32:35,711 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:32:35,711 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 22 states. [2018-11-23 10:32:35,712 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 22 states. [2018-11-23 10:32:35,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:32:35,716 INFO L93 Difference]: Finished difference Result 22 states and 24 transitions. [2018-11-23 10:32:35,716 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 24 transitions. [2018-11-23 10:32:35,716 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:32:35,717 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:32:35,717 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:32:35,717 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:32:35,717 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 10:32:35,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 24 transitions. [2018-11-23 10:32:35,722 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 24 transitions. Word has length 14 [2018-11-23 10:32:35,722 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:32:35,723 INFO L480 AbstractCegarLoop]: Abstraction has 22 states and 24 transitions. [2018-11-23 10:32:35,723 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 10:32:35,723 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 24 transitions. [2018-11-23 10:32:35,724 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 10:32:35,724 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:32:35,724 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:32:35,724 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:32:35,725 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:32:35,725 INFO L82 PathProgramCache]: Analyzing trace with hash 142847815, now seen corresponding path program 1 times [2018-11-23 10:32:35,726 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:32:35,726 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 3 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:32:35,757 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:32:35,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:32:35,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:32:35,805 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:32:35,899 INFO L256 TraceCheckUtils]: 0: Hoare triple {204#true} call ULTIMATE.init(); {204#true} is VALID [2018-11-23 10:32:35,900 INFO L273 TraceCheckUtils]: 1: Hoare triple {204#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {204#true} is VALID [2018-11-23 10:32:35,900 INFO L273 TraceCheckUtils]: 2: Hoare triple {204#true} assume true; {204#true} is VALID [2018-11-23 10:32:35,901 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {204#true} {204#true} #63#return; {204#true} is VALID [2018-11-23 10:32:35,901 INFO L256 TraceCheckUtils]: 4: Hoare triple {204#true} call #t~ret5 := main(); {204#true} is VALID [2018-11-23 10:32:35,901 INFO L273 TraceCheckUtils]: 5: Hoare triple {204#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {204#true} is VALID [2018-11-23 10:32:35,904 INFO L273 TraceCheckUtils]: 6: Hoare triple {204#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := ~bvsub32(~SIZE~0, 1bv32); {227#(bvsgt (bvadd main_~i~0 (_ bv1 32)) (_ bv1 32))} is VALID [2018-11-23 10:32:35,907 INFO L273 TraceCheckUtils]: 7: Hoare triple {227#(bvsgt (bvadd main_~i~0 (_ bv1 32)) (_ bv1 32))} assume !~bvsge32(~i~0, 0bv32); {205#false} is VALID [2018-11-23 10:32:35,907 INFO L273 TraceCheckUtils]: 8: Hoare triple {205#false} ~i~0 := 0bv32; {205#false} is VALID [2018-11-23 10:32:35,907 INFO L273 TraceCheckUtils]: 9: Hoare triple {205#false} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {205#false} is VALID [2018-11-23 10:32:35,908 INFO L256 TraceCheckUtils]: 10: Hoare triple {205#false} call __VERIFIER_assert((if ~bvsge32(#t~mem4, ~i~0) then 1bv32 else 0bv32)); {205#false} is VALID [2018-11-23 10:32:35,908 INFO L273 TraceCheckUtils]: 11: Hoare triple {205#false} ~cond := #in~cond; {205#false} is VALID [2018-11-23 10:32:35,909 INFO L273 TraceCheckUtils]: 12: Hoare triple {205#false} assume 0bv32 == ~cond; {205#false} is VALID [2018-11-23 10:32:35,909 INFO L273 TraceCheckUtils]: 13: Hoare triple {205#false} assume !false; {205#false} is VALID [2018-11-23 10:32:35,911 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 10:32:35,911 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [MP cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (3)] Exception during sending of exit command (exit): Broken pipe [2018-11-23 10:32:35,913 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:32:35,913 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 10:32:35,915 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 14 [2018-11-23 10:32:35,915 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:32:35,916 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 10:32:35,955 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:32:35,955 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 10:32:35,956 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 10:32:35,956 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 10:32:35,957 INFO L87 Difference]: Start difference. First operand 22 states and 24 transitions. Second operand 3 states. [2018-11-23 10:32:36,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:32:36,332 INFO L93 Difference]: Finished difference Result 41 states and 47 transitions. [2018-11-23 10:32:36,332 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 10:32:36,333 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 14 [2018-11-23 10:32:36,333 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:32:36,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 10:32:36,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 47 transitions. [2018-11-23 10:32:36,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 10:32:36,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 47 transitions. [2018-11-23 10:32:36,339 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 47 transitions. [2018-11-23 10:32:36,549 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:32:36,551 INFO L225 Difference]: With dead ends: 41 [2018-11-23 10:32:36,551 INFO L226 Difference]: Without dead ends: 26 [2018-11-23 10:32:36,552 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 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 10:32:36,553 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2018-11-23 10:32:36,607 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 24. [2018-11-23 10:32:36,607 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:32:36,608 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand 24 states. [2018-11-23 10:32:36,608 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 24 states. [2018-11-23 10:32:36,608 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 24 states. [2018-11-23 10:32:36,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:32:36,610 INFO L93 Difference]: Finished difference Result 26 states and 28 transitions. [2018-11-23 10:32:36,610 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 28 transitions. [2018-11-23 10:32:36,611 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:32:36,611 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:32:36,611 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 26 states. [2018-11-23 10:32:36,612 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 26 states. [2018-11-23 10:32:36,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:32:36,614 INFO L93 Difference]: Finished difference Result 26 states and 28 transitions. [2018-11-23 10:32:36,614 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 28 transitions. [2018-11-23 10:32:36,615 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:32:36,615 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:32:36,615 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:32:36,616 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:32:36,616 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 10:32:36,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 26 transitions. [2018-11-23 10:32:36,618 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 26 transitions. Word has length 14 [2018-11-23 10:32:36,618 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:32:36,618 INFO L480 AbstractCegarLoop]: Abstraction has 24 states and 26 transitions. [2018-11-23 10:32:36,618 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 10:32:36,619 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2018-11-23 10:32:36,619 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 10:32:36,620 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:32:36,620 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:32:36,620 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:32:36,620 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:32:36,620 INFO L82 PathProgramCache]: Analyzing trace with hash -1002652542, now seen corresponding path program 1 times [2018-11-23 10:32:36,621 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:32:36,621 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 4 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:32:36,642 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:32:36,675 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:32:36,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:32:36,704 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:32:36,868 INFO L256 TraceCheckUtils]: 0: Hoare triple {387#true} call ULTIMATE.init(); {387#true} is VALID [2018-11-23 10:32:36,868 INFO L273 TraceCheckUtils]: 1: Hoare triple {387#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {387#true} is VALID [2018-11-23 10:32:36,869 INFO L273 TraceCheckUtils]: 2: Hoare triple {387#true} assume true; {387#true} is VALID [2018-11-23 10:32:36,869 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {387#true} {387#true} #63#return; {387#true} is VALID [2018-11-23 10:32:36,869 INFO L256 TraceCheckUtils]: 4: Hoare triple {387#true} call #t~ret5 := main(); {387#true} is VALID [2018-11-23 10:32:36,870 INFO L273 TraceCheckUtils]: 5: Hoare triple {387#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {387#true} is VALID [2018-11-23 10:32:36,870 INFO L273 TraceCheckUtils]: 6: Hoare triple {387#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := ~bvsub32(~SIZE~0, 1bv32); {387#true} is VALID [2018-11-23 10:32:36,871 INFO L273 TraceCheckUtils]: 7: Hoare triple {387#true} assume !!~bvsge32(~i~0, 0bv32); {413#(bvsge main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:32:36,872 INFO L273 TraceCheckUtils]: 8: Hoare triple {413#(bvsge main_~i~0 (_ bv0 32))} assume ~bvsge32(~bvsub32(~i~0, 1bv32), 0bv32);call write~intINTTYPE4(~bvsub32(~i~0, 2bv32), ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, 1bv32))), 4bv32); {417#(and (bvsge main_~i~0 (_ bv0 32)) (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:32:36,873 INFO L273 TraceCheckUtils]: 9: Hoare triple {417#(and (bvsge main_~i~0 (_ bv0 32)) (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call write~intINTTYPE4(~i~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {417#(and (bvsge main_~i~0 (_ bv0 32)) (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:32:36,875 INFO L273 TraceCheckUtils]: 10: Hoare triple {417#(and (bvsge main_~i~0 (_ bv0 32)) (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvsub32(#t~post2, 1bv32);havoc #t~post2; {424#(and (bvsge (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32)) (bvsge main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:32:36,876 INFO L273 TraceCheckUtils]: 11: Hoare triple {424#(and (bvsge (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32)) (bvsge main_~i~0 (_ bv0 32)))} assume !~bvsge32(~i~0, 0bv32); {388#false} is VALID [2018-11-23 10:32:36,877 INFO L273 TraceCheckUtils]: 12: Hoare triple {388#false} ~i~0 := 0bv32; {388#false} is VALID [2018-11-23 10:32:36,877 INFO L273 TraceCheckUtils]: 13: Hoare triple {388#false} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {388#false} is VALID [2018-11-23 10:32:36,877 INFO L256 TraceCheckUtils]: 14: Hoare triple {388#false} call __VERIFIER_assert((if ~bvsge32(#t~mem4, ~i~0) then 1bv32 else 0bv32)); {388#false} is VALID [2018-11-23 10:32:36,878 INFO L273 TraceCheckUtils]: 15: Hoare triple {388#false} ~cond := #in~cond; {388#false} is VALID [2018-11-23 10:32:36,878 INFO L273 TraceCheckUtils]: 16: Hoare triple {388#false} assume 0bv32 == ~cond; {388#false} is VALID [2018-11-23 10:32:36,878 INFO L273 TraceCheckUtils]: 17: Hoare triple {388#false} assume !false; {388#false} is VALID [2018-11-23 10:32:36,880 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 10:32:36,881 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:32:36,886 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:32:36,886 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 10:32:36,887 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 18 [2018-11-23 10:32:36,887 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:32:36,889 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 10:32:36,973 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:32:36,973 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 10:32:36,973 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 10:32:36,974 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 10:32:36,974 INFO L87 Difference]: Start difference. First operand 24 states and 26 transitions. Second operand 5 states. [2018-11-23 10:32:37,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:32:37,492 INFO L93 Difference]: Finished difference Result 45 states and 50 transitions. [2018-11-23 10:32:37,493 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 10:32:37,493 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 18 [2018-11-23 10:32:37,493 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:32:37,493 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 10:32:37,497 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 50 transitions. [2018-11-23 10:32:37,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 10:32:37,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 50 transitions. [2018-11-23 10:32:37,501 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 50 transitions. [2018-11-23 10:32:37,755 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:32:37,757 INFO L225 Difference]: With dead ends: 45 [2018-11-23 10:32:37,757 INFO L226 Difference]: Without dead ends: 34 [2018-11-23 10:32:37,758 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=14, Invalid=16, Unknown=0, NotChecked=0, Total=30 [2018-11-23 10:32:37,758 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2018-11-23 10:32:37,780 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 27. [2018-11-23 10:32:37,780 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:32:37,780 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand 27 states. [2018-11-23 10:32:37,781 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 27 states. [2018-11-23 10:32:37,781 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 27 states. [2018-11-23 10:32:37,785 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:32:37,786 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2018-11-23 10:32:37,786 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2018-11-23 10:32:37,786 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:32:37,787 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:32:37,787 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 34 states. [2018-11-23 10:32:37,787 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 34 states. [2018-11-23 10:32:37,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:32:37,791 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2018-11-23 10:32:37,791 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2018-11-23 10:32:37,792 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:32:37,792 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:32:37,792 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:32:37,792 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:32:37,793 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 10:32:37,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 29 transitions. [2018-11-23 10:32:37,795 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 29 transitions. Word has length 18 [2018-11-23 10:32:37,795 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:32:37,795 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 29 transitions. [2018-11-23 10:32:37,795 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 10:32:37,795 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 29 transitions. [2018-11-23 10:32:37,796 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 10:32:37,796 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:32:37,796 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:32:37,797 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:32:37,797 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:32:37,797 INFO L82 PathProgramCache]: Analyzing trace with hash -1636198789, now seen corresponding path program 1 times [2018-11-23 10:32:37,798 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:32:37,798 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 5 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:32:37,814 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:32:37,860 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:32:37,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:32:37,876 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:32:38,054 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 15 treesize of output 12 [2018-11-23 10:32:38,068 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 12 treesize of output 11 [2018-11-23 10:32:38,071 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:32:38,077 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:32:38,099 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 10:32:38,099 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:28, output treesize:24 [2018-11-23 10:32:38,113 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:32:38,113 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_8|, main_~i~0]. (and (bvsge main_~i~0 (_ bv0 32)) (not (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) (= (store |v_#memory_int_8| |main_~#a~0.base| (store (select |v_#memory_int_8| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)) main_~i~0)) |#memory_int|) (= |main_~#a~0.offset| (_ bv0 32))) [2018-11-23 10:32:38,113 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [main_~i~0]. (and (not (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) (bvsge main_~i~0 (_ bv0 32)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))) (= |main_~#a~0.offset| (_ bv0 32))) [2018-11-23 10:32:38,422 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 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 19 treesize of output 15 [2018-11-23 10:32:38,433 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:32:38,435 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 10:32:38,438 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:32:38,444 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:32:38,462 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:32:38,462 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:31, output treesize:13 [2018-11-23 10:32:38,472 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:32:38,472 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, v_prenex_1]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (bvsge v_prenex_1 (_ bv0 32)) (not (bvsge (bvadd v_prenex_1 (_ bv4294967295 32)) (_ bv0 32))) (= |main_#t~mem4| (select .cse0 (bvmul (_ bv4 32) main_~i~0))) (= (select .cse0 (bvmul (_ bv4 32) v_prenex_1)) v_prenex_1) (= main_~i~0 (_ bv0 32)))) [2018-11-23 10:32:38,472 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (bvsge (bvadd |main_#t~mem4| (_ bv4294967295 32)) (_ bv0 32))) (= main_~i~0 (_ bv0 32)) (bvsge |main_#t~mem4| (_ bv0 32))) [2018-11-23 10:32:38,602 INFO L256 TraceCheckUtils]: 0: Hoare triple {613#true} call ULTIMATE.init(); {613#true} is VALID [2018-11-23 10:32:38,602 INFO L273 TraceCheckUtils]: 1: Hoare triple {613#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {613#true} is VALID [2018-11-23 10:32:38,603 INFO L273 TraceCheckUtils]: 2: Hoare triple {613#true} assume true; {613#true} is VALID [2018-11-23 10:32:38,603 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {613#true} {613#true} #63#return; {613#true} is VALID [2018-11-23 10:32:38,603 INFO L256 TraceCheckUtils]: 4: Hoare triple {613#true} call #t~ret5 := main(); {613#true} is VALID [2018-11-23 10:32:38,603 INFO L273 TraceCheckUtils]: 5: Hoare triple {613#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {613#true} is VALID [2018-11-23 10:32:38,607 INFO L273 TraceCheckUtils]: 6: Hoare triple {613#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := ~bvsub32(~SIZE~0, 1bv32); {636#(= |main_~#a~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:32:38,607 INFO L273 TraceCheckUtils]: 7: Hoare triple {636#(= |main_~#a~0.offset| (_ bv0 32))} assume !!~bvsge32(~i~0, 0bv32); {636#(= |main_~#a~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:32:38,608 INFO L273 TraceCheckUtils]: 8: Hoare triple {636#(= |main_~#a~0.offset| (_ bv0 32))} assume ~bvsge32(~bvsub32(~i~0, 1bv32), 0bv32);call write~intINTTYPE4(~bvsub32(~i~0, 2bv32), ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, 1bv32))), 4bv32); {636#(= |main_~#a~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:32:38,608 INFO L273 TraceCheckUtils]: 9: Hoare triple {636#(= |main_~#a~0.offset| (_ bv0 32))} call write~intINTTYPE4(~i~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {636#(= |main_~#a~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:32:38,609 INFO L273 TraceCheckUtils]: 10: Hoare triple {636#(= |main_~#a~0.offset| (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvsub32(#t~post2, 1bv32);havoc #t~post2; {636#(= |main_~#a~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:32:38,619 INFO L273 TraceCheckUtils]: 11: Hoare triple {636#(= |main_~#a~0.offset| (_ bv0 32))} assume !!~bvsge32(~i~0, 0bv32); {652#(and (bvsge main_~i~0 (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:32:38,620 INFO L273 TraceCheckUtils]: 12: Hoare triple {652#(and (bvsge main_~i~0 (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)))} assume !~bvsge32(~bvsub32(~i~0, 1bv32), 0bv32); {656#(and (not (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) (bvsge main_~i~0 (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:32:38,622 INFO L273 TraceCheckUtils]: 13: Hoare triple {656#(and (not (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) (bvsge main_~i~0 (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)))} call write~intINTTYPE4(~i~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {660#(and (exists ((main_~i~0 (_ BitVec 32))) (and (not (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) (bvsge main_~i~0 (_ bv0 32)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))) (= |main_~#a~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:32:38,627 INFO L273 TraceCheckUtils]: 14: Hoare triple {660#(and (exists ((main_~i~0 (_ BitVec 32))) (and (not (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) (bvsge main_~i~0 (_ bv0 32)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))) (= |main_~#a~0.offset| (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvsub32(#t~post2, 1bv32);havoc #t~post2; {660#(and (exists ((main_~i~0 (_ BitVec 32))) (and (not (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) (bvsge main_~i~0 (_ bv0 32)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))) (= |main_~#a~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:32:38,630 INFO L273 TraceCheckUtils]: 15: Hoare triple {660#(and (exists ((main_~i~0 (_ BitVec 32))) (and (not (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) (bvsge main_~i~0 (_ bv0 32)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))) (= |main_~#a~0.offset| (_ bv0 32)))} assume !~bvsge32(~i~0, 0bv32); {660#(and (exists ((main_~i~0 (_ BitVec 32))) (and (not (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) (bvsge main_~i~0 (_ bv0 32)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))) (= |main_~#a~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:32:38,638 INFO L273 TraceCheckUtils]: 16: Hoare triple {660#(and (exists ((main_~i~0 (_ BitVec 32))) (and (not (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) (bvsge main_~i~0 (_ bv0 32)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))) (= |main_~#a~0.offset| (_ bv0 32)))} ~i~0 := 0bv32; {670#(and (exists ((v_prenex_1 (_ BitVec 32))) (and (bvsge v_prenex_1 (_ bv0 32)) (not (bvsge (bvadd v_prenex_1 (_ bv4294967295 32)) (_ bv0 32))) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_1)))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:32:38,642 INFO L273 TraceCheckUtils]: 17: Hoare triple {670#(and (exists ((v_prenex_1 (_ BitVec 32))) (and (bvsge v_prenex_1 (_ bv0 32)) (not (bvsge (bvadd v_prenex_1 (_ bv4294967295 32)) (_ bv0 32))) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_1)))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {674#(and (not (bvsge (bvadd |main_#t~mem4| (_ bv4294967295 32)) (_ bv0 32))) (= main_~i~0 (_ bv0 32)) (bvsge |main_#t~mem4| (_ bv0 32)))} is VALID [2018-11-23 10:32:38,645 INFO L256 TraceCheckUtils]: 18: Hoare triple {674#(and (not (bvsge (bvadd |main_#t~mem4| (_ bv4294967295 32)) (_ bv0 32))) (= main_~i~0 (_ bv0 32)) (bvsge |main_#t~mem4| (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem4, ~i~0) then 1bv32 else 0bv32)); {678#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:32:38,648 INFO L273 TraceCheckUtils]: 19: Hoare triple {678#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {682#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:32:38,654 INFO L273 TraceCheckUtils]: 20: Hoare triple {682#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {614#false} is VALID [2018-11-23 10:32:38,654 INFO L273 TraceCheckUtils]: 21: Hoare triple {614#false} assume !false; {614#false} is VALID [2018-11-23 10:32:38,657 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 10:32:38,657 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:32:38,659 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:32:38,659 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2018-11-23 10:32:38,660 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 22 [2018-11-23 10:32:38,660 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:32:38,660 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-23 10:32:38,761 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 10:32:38,761 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 10:32:38,762 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 10:32:38,762 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2018-11-23 10:32:38,762 INFO L87 Difference]: Start difference. First operand 27 states and 29 transitions. Second operand 10 states. [2018-11-23 10:32:39,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:32:40,000 INFO L93 Difference]: Finished difference Result 43 states and 47 transitions. [2018-11-23 10:32:40,000 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 10:32:40,000 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 22 [2018-11-23 10:32:40,001 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:32:40,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 10:32:40,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 46 transitions. [2018-11-23 10:32:40,004 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 10:32:40,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 46 transitions. [2018-11-23 10:32:40,007 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 46 transitions. [2018-11-23 10:32:40,162 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:32:40,164 INFO L225 Difference]: With dead ends: 43 [2018-11-23 10:32:40,165 INFO L226 Difference]: Without dead ends: 41 [2018-11-23 10:32:40,165 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=44, Invalid=112, Unknown=0, NotChecked=0, Total=156 [2018-11-23 10:32:40,166 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2018-11-23 10:32:40,196 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 33. [2018-11-23 10:32:40,196 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:32:40,196 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 33 states. [2018-11-23 10:32:40,197 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 33 states. [2018-11-23 10:32:40,197 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 33 states. [2018-11-23 10:32:40,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:32:40,201 INFO L93 Difference]: Finished difference Result 41 states and 45 transitions. [2018-11-23 10:32:40,201 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2018-11-23 10:32:40,202 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:32:40,202 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:32:40,202 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 41 states. [2018-11-23 10:32:40,203 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 41 states. [2018-11-23 10:32:40,206 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:32:40,206 INFO L93 Difference]: Finished difference Result 41 states and 45 transitions. [2018-11-23 10:32:40,206 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2018-11-23 10:32:40,207 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:32:40,207 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:32:40,207 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:32:40,208 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:32:40,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 10:32:40,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 35 transitions. [2018-11-23 10:32:40,210 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 35 transitions. Word has length 22 [2018-11-23 10:32:40,210 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:32:40,210 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 35 transitions. [2018-11-23 10:32:40,211 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 10:32:40,211 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 35 transitions. [2018-11-23 10:32:40,212 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 10:32:40,212 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:32:40,212 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:32:40,212 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:32:40,213 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:32:40,213 INFO L82 PathProgramCache]: Analyzing trace with hash -1656033490, now seen corresponding path program 1 times [2018-11-23 10:32:40,213 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:32:40,214 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 6 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:32:40,233 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:32:40,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:32:40,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:32:40,345 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:32:40,395 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 15 treesize of output 12 [2018-11-23 10:32:40,407 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 12 treesize of output 11 [2018-11-23 10:32:40,409 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:32:40,413 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:32:40,426 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:32:40,426 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:19, output treesize:15 [2018-11-23 10:32:40,666 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 25 [2018-11-23 10:32:40,706 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:32:40,709 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:32:40,711 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 25 treesize of output 52 [2018-11-23 10:32:40,713 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:32:40,738 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:32:40,821 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 10:32:40,822 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:39, output treesize:35 [2018-11-23 10:32:50,431 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 31 [2018-11-23 10:32:50,544 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:32:50,545 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:32:50,547 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:32:50,549 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2018-11-23 10:32:50,552 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:32:50,565 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:32:50,589 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:32:50,589 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:51, output treesize:17 [2018-11-23 10:32:50,618 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:32:50,618 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, |main_~#a~0.offset|, v_prenex_2]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (bvmul (_ bv4 32) v_prenex_2))) (and (= |main_#t~mem4| (select .cse0 (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))) (= v_prenex_2 (select .cse0 (bvadd |main_~#a~0.offset| .cse1))) (bvsge v_prenex_2 (_ bv0 32)) (= (bvadd (select .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4 32))) (_ bv4294967295 32)) v_prenex_2) (not (bvsge (bvadd v_prenex_2 (_ bv4294967295 32)) (_ bv0 32))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))) [2018-11-23 10:32:50,618 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (bvsge (bvadd |main_#t~mem4| (_ bv4294967295 32)) (_ bv0 32)) (not (bvsge (bvadd |main_#t~mem4| (_ bv4294967294 32)) (_ bv0 32))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) [2018-11-23 10:32:50,776 INFO L256 TraceCheckUtils]: 0: Hoare triple {880#true} call ULTIMATE.init(); {880#true} is VALID [2018-11-23 10:32:50,777 INFO L273 TraceCheckUtils]: 1: Hoare triple {880#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {880#true} is VALID [2018-11-23 10:32:50,777 INFO L273 TraceCheckUtils]: 2: Hoare triple {880#true} assume true; {880#true} is VALID [2018-11-23 10:32:50,777 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {880#true} {880#true} #63#return; {880#true} is VALID [2018-11-23 10:32:50,777 INFO L256 TraceCheckUtils]: 4: Hoare triple {880#true} call #t~ret5 := main(); {880#true} is VALID [2018-11-23 10:32:50,778 INFO L273 TraceCheckUtils]: 5: Hoare triple {880#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {880#true} is VALID [2018-11-23 10:32:50,778 INFO L273 TraceCheckUtils]: 6: Hoare triple {880#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := ~bvsub32(~SIZE~0, 1bv32); {880#true} is VALID [2018-11-23 10:32:50,778 INFO L273 TraceCheckUtils]: 7: Hoare triple {880#true} assume !!~bvsge32(~i~0, 0bv32); {906#(bvsge main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:32:50,779 INFO L273 TraceCheckUtils]: 8: Hoare triple {906#(bvsge main_~i~0 (_ bv0 32))} assume ~bvsge32(~bvsub32(~i~0, 1bv32), 0bv32);call write~intINTTYPE4(~bvsub32(~i~0, 2bv32), ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, 1bv32))), 4bv32); {906#(bvsge main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:32:50,780 INFO L273 TraceCheckUtils]: 9: Hoare triple {906#(bvsge main_~i~0 (_ bv0 32))} call write~intINTTYPE4(~i~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {913#(and (bvsge main_~i~0 (_ bv0 32)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))} is VALID [2018-11-23 10:32:51,137 INFO L273 TraceCheckUtils]: 10: Hoare triple {913#(and (bvsge main_~i~0 (_ bv0 32)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))} #t~post2 := ~i~0;~i~0 := ~bvsub32(#t~post2, 1bv32);havoc #t~post2; {917#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv4294967295 32)) main_~i~0) (bvsge (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32)))} is VALID [2018-11-23 10:32:51,138 INFO L273 TraceCheckUtils]: 11: Hoare triple {917#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv4294967295 32)) main_~i~0) (bvsge (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32)))} assume !!~bvsge32(~i~0, 0bv32); {921#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv4294967295 32)) main_~i~0) (bvsge (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32)) (bvsge main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:32:51,139 INFO L273 TraceCheckUtils]: 12: Hoare triple {921#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv4294967295 32)) main_~i~0) (bvsge (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32)) (bvsge main_~i~0 (_ bv0 32)))} assume !~bvsge32(~bvsub32(~i~0, 1bv32), 0bv32); {925#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv4294967295 32)) main_~i~0) (not (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) (bvsge main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:32:51,618 INFO L273 TraceCheckUtils]: 13: Hoare triple {925#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv4294967295 32)) main_~i~0) (not (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) (bvsge main_~i~0 (_ bv0 32)))} call write~intINTTYPE4(~i~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {929#(exists ((main_~i~0 (_ BitVec 32))) (and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv4294967295 32)) main_~i~0) (not (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) (bvsge main_~i~0 (_ bv0 32)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))))} is VALID [2018-11-23 10:32:51,619 INFO L273 TraceCheckUtils]: 14: Hoare triple {929#(exists ((main_~i~0 (_ BitVec 32))) (and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv4294967295 32)) main_~i~0) (not (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) (bvsge main_~i~0 (_ bv0 32)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))))} #t~post2 := ~i~0;~i~0 := ~bvsub32(#t~post2, 1bv32);havoc #t~post2; {929#(exists ((main_~i~0 (_ BitVec 32))) (and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv4294967295 32)) main_~i~0) (not (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) (bvsge main_~i~0 (_ bv0 32)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))))} is VALID [2018-11-23 10:32:51,623 INFO L273 TraceCheckUtils]: 15: Hoare triple {929#(exists ((main_~i~0 (_ BitVec 32))) (and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv4294967295 32)) main_~i~0) (not (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) (bvsge main_~i~0 (_ bv0 32)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))))} assume !~bvsge32(~i~0, 0bv32); {929#(exists ((main_~i~0 (_ BitVec 32))) (and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv4294967295 32)) main_~i~0) (not (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) (bvsge main_~i~0 (_ bv0 32)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))))} is VALID [2018-11-23 10:32:52,375 INFO L273 TraceCheckUtils]: 16: Hoare triple {929#(exists ((main_~i~0 (_ BitVec 32))) (and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv4294967295 32)) main_~i~0) (not (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) (bvsge main_~i~0 (_ bv0 32)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))))} ~i~0 := 0bv32; {939#(and (exists ((v_prenex_2 (_ BitVec 32))) (and (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2)))) (bvsge v_prenex_2 (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2) (_ bv4 32))) (_ bv4294967295 32)) v_prenex_2) (not (bvsge (bvadd v_prenex_2 (_ bv4294967295 32)) (_ bv0 32))))) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:32:52,376 INFO L273 TraceCheckUtils]: 17: Hoare triple {939#(and (exists ((v_prenex_2 (_ BitVec 32))) (and (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2)))) (bvsge v_prenex_2 (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2) (_ bv4 32))) (_ bv4294967295 32)) v_prenex_2) (not (bvsge (bvadd v_prenex_2 (_ bv4294967295 32)) (_ bv0 32))))) (= main_~i~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {939#(and (exists ((v_prenex_2 (_ BitVec 32))) (and (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2)))) (bvsge v_prenex_2 (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2) (_ bv4 32))) (_ bv4294967295 32)) v_prenex_2) (not (bvsge (bvadd v_prenex_2 (_ bv4294967295 32)) (_ bv0 32))))) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:32:52,412 INFO L256 TraceCheckUtils]: 18: Hoare triple {939#(and (exists ((v_prenex_2 (_ BitVec 32))) (and (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2)))) (bvsge v_prenex_2 (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2) (_ bv4 32))) (_ bv4294967295 32)) v_prenex_2) (not (bvsge (bvadd v_prenex_2 (_ bv4294967295 32)) (_ bv0 32))))) (= main_~i~0 (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem4, ~i~0) then 1bv32 else 0bv32)); {946#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (v_prenex_2 (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd (bvmul (_ bv4 32) v_prenex_2) |v_main_~#a~0.offset_BEFORE_CALL_1|)) v_prenex_2) (bvsge v_prenex_2 (_ bv0 32)) (= (bvadd v_prenex_2 (_ bv1 32)) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd (bvmul (_ bv4 32) v_prenex_2) |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv4 32)))) (not (bvsge (bvadd v_prenex_2 (_ bv4294967295 32)) (_ bv0 32)))))} is VALID [2018-11-23 10:32:52,414 INFO L273 TraceCheckUtils]: 19: Hoare triple {946#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (v_prenex_2 (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd (bvmul (_ bv4 32) v_prenex_2) |v_main_~#a~0.offset_BEFORE_CALL_1|)) v_prenex_2) (bvsge v_prenex_2 (_ bv0 32)) (= (bvadd v_prenex_2 (_ bv1 32)) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd (bvmul (_ bv4 32) v_prenex_2) |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv4 32)))) (not (bvsge (bvadd v_prenex_2 (_ bv4294967295 32)) (_ bv0 32)))))} ~cond := #in~cond; {946#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (v_prenex_2 (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd (bvmul (_ bv4 32) v_prenex_2) |v_main_~#a~0.offset_BEFORE_CALL_1|)) v_prenex_2) (bvsge v_prenex_2 (_ bv0 32)) (= (bvadd v_prenex_2 (_ bv1 32)) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd (bvmul (_ bv4 32) v_prenex_2) |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv4 32)))) (not (bvsge (bvadd v_prenex_2 (_ bv4294967295 32)) (_ bv0 32)))))} is VALID [2018-11-23 10:32:52,415 INFO L273 TraceCheckUtils]: 20: Hoare triple {946#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (v_prenex_2 (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd (bvmul (_ bv4 32) v_prenex_2) |v_main_~#a~0.offset_BEFORE_CALL_1|)) v_prenex_2) (bvsge v_prenex_2 (_ bv0 32)) (= (bvadd v_prenex_2 (_ bv1 32)) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd (bvmul (_ bv4 32) v_prenex_2) |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv4 32)))) (not (bvsge (bvadd v_prenex_2 (_ bv4294967295 32)) (_ bv0 32)))))} assume !(0bv32 == ~cond); {946#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (v_prenex_2 (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd (bvmul (_ bv4 32) v_prenex_2) |v_main_~#a~0.offset_BEFORE_CALL_1|)) v_prenex_2) (bvsge v_prenex_2 (_ bv0 32)) (= (bvadd v_prenex_2 (_ bv1 32)) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd (bvmul (_ bv4 32) v_prenex_2) |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv4 32)))) (not (bvsge (bvadd v_prenex_2 (_ bv4294967295 32)) (_ bv0 32)))))} is VALID [2018-11-23 10:32:52,415 INFO L273 TraceCheckUtils]: 21: Hoare triple {946#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (v_prenex_2 (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd (bvmul (_ bv4 32) v_prenex_2) |v_main_~#a~0.offset_BEFORE_CALL_1|)) v_prenex_2) (bvsge v_prenex_2 (_ bv0 32)) (= (bvadd v_prenex_2 (_ bv1 32)) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd (bvmul (_ bv4 32) v_prenex_2) |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv4 32)))) (not (bvsge (bvadd v_prenex_2 (_ bv4294967295 32)) (_ bv0 32)))))} assume true; {946#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (v_prenex_2 (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd (bvmul (_ bv4 32) v_prenex_2) |v_main_~#a~0.offset_BEFORE_CALL_1|)) v_prenex_2) (bvsge v_prenex_2 (_ bv0 32)) (= (bvadd v_prenex_2 (_ bv1 32)) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd (bvmul (_ bv4 32) v_prenex_2) |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv4 32)))) (not (bvsge (bvadd v_prenex_2 (_ bv4294967295 32)) (_ bv0 32)))))} is VALID [2018-11-23 10:32:52,416 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {946#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (v_prenex_2 (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd (bvmul (_ bv4 32) v_prenex_2) |v_main_~#a~0.offset_BEFORE_CALL_1|)) v_prenex_2) (bvsge v_prenex_2 (_ bv0 32)) (= (bvadd v_prenex_2 (_ bv1 32)) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd (bvmul (_ bv4 32) v_prenex_2) |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv4 32)))) (not (bvsge (bvadd v_prenex_2 (_ bv4294967295 32)) (_ bv0 32)))))} {939#(and (exists ((v_prenex_2 (_ BitVec 32))) (and (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2)))) (bvsge v_prenex_2 (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2) (_ bv4 32))) (_ bv4294967295 32)) v_prenex_2) (not (bvsge (bvadd v_prenex_2 (_ bv4294967295 32)) (_ bv0 32))))) (= main_~i~0 (_ bv0 32)))} #67#return; {939#(and (exists ((v_prenex_2 (_ BitVec 32))) (and (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2)))) (bvsge v_prenex_2 (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2) (_ bv4 32))) (_ bv4294967295 32)) v_prenex_2) (not (bvsge (bvadd v_prenex_2 (_ bv4294967295 32)) (_ bv0 32))))) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:32:52,417 INFO L273 TraceCheckUtils]: 23: Hoare triple {939#(and (exists ((v_prenex_2 (_ BitVec 32))) (and (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2)))) (bvsge v_prenex_2 (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2) (_ bv4 32))) (_ bv4294967295 32)) v_prenex_2) (not (bvsge (bvadd v_prenex_2 (_ bv4294967295 32)) (_ bv0 32))))) (= main_~i~0 (_ bv0 32)))} havoc #t~mem4; {939#(and (exists ((v_prenex_2 (_ BitVec 32))) (and (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2)))) (bvsge v_prenex_2 (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2) (_ bv4 32))) (_ bv4294967295 32)) v_prenex_2) (not (bvsge (bvadd v_prenex_2 (_ bv4294967295 32)) (_ bv0 32))))) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:32:52,418 INFO L273 TraceCheckUtils]: 24: Hoare triple {939#(and (exists ((v_prenex_2 (_ BitVec 32))) (and (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2)))) (bvsge v_prenex_2 (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2) (_ bv4 32))) (_ bv4294967295 32)) v_prenex_2) (not (bvsge (bvadd v_prenex_2 (_ bv4294967295 32)) (_ bv0 32))))) (= main_~i~0 (_ bv0 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {965#(and (exists ((v_prenex_2 (_ BitVec 32))) (and (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2)))) (bvsge v_prenex_2 (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2) (_ bv4 32))) (_ bv4294967295 32)) v_prenex_2) (not (bvsge (bvadd v_prenex_2 (_ bv4294967295 32)) (_ bv0 32))))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:32:54,423 INFO L273 TraceCheckUtils]: 25: Hoare triple {965#(and (exists ((v_prenex_2 (_ BitVec 32))) (and (= v_prenex_2 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2)))) (bvsge v_prenex_2 (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) v_prenex_2) (_ bv4 32))) (_ bv4294967295 32)) v_prenex_2) (not (bvsge (bvadd v_prenex_2 (_ bv4294967295 32)) (_ bv0 32))))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {969#(and (bvsge (bvadd |main_#t~mem4| (_ bv4294967295 32)) (_ bv0 32)) (not (bvsge (bvadd |main_#t~mem4| (_ bv4294967294 32)) (_ bv0 32))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is UNKNOWN [2018-11-23 10:32:54,426 INFO L256 TraceCheckUtils]: 26: Hoare triple {969#(and (bvsge (bvadd |main_#t~mem4| (_ bv4294967295 32)) (_ bv0 32)) (not (bvsge (bvadd |main_#t~mem4| (_ bv4294967294 32)) (_ bv0 32))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem4, ~i~0) then 1bv32 else 0bv32)); {973#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:32:54,427 INFO L273 TraceCheckUtils]: 27: Hoare triple {973#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {977#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:32:54,427 INFO L273 TraceCheckUtils]: 28: Hoare triple {977#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {881#false} is VALID [2018-11-23 10:32:54,427 INFO L273 TraceCheckUtils]: 29: Hoare triple {881#false} assume !false; {881#false} is VALID [2018-11-23 10:32:54,434 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 4 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:32:54,435 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:33:33,751 WARN L307 Elim1Store]: Array PQE input equivalent to true [2018-11-23 10:33:33,752 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 10:33:33,753 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:33:33,754 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:38, output treesize:1 [2018-11-23 10:33:33,768 INFO L273 TraceCheckUtils]: 29: Hoare triple {881#false} assume !false; {881#false} is VALID [2018-11-23 10:33:33,769 INFO L273 TraceCheckUtils]: 28: Hoare triple {987#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {881#false} is VALID [2018-11-23 10:33:33,769 INFO L273 TraceCheckUtils]: 27: Hoare triple {991#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {987#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:33:33,770 INFO L256 TraceCheckUtils]: 26: Hoare triple {995#(bvsge |main_#t~mem4| main_~i~0)} call __VERIFIER_assert((if ~bvsge32(#t~mem4, ~i~0) then 1bv32 else 0bv32)); {991#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:33:33,771 INFO L273 TraceCheckUtils]: 25: Hoare triple {999#(bvsge (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))) main_~i~0)} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {995#(bvsge |main_#t~mem4| main_~i~0)} is VALID [2018-11-23 10:33:35,778 INFO L273 TraceCheckUtils]: 24: Hoare triple {1003#(bvsge (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (bvadd main_~i~0 (_ bv1 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {999#(bvsge (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))) main_~i~0)} is UNKNOWN [2018-11-23 10:33:35,779 INFO L273 TraceCheckUtils]: 23: Hoare triple {1003#(bvsge (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (bvadd main_~i~0 (_ bv1 32)))} havoc #t~mem4; {1003#(bvsge (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (bvadd main_~i~0 (_ bv1 32)))} is VALID [2018-11-23 10:33:35,780 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {880#true} {1003#(bvsge (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (bvadd main_~i~0 (_ bv1 32)))} #67#return; {1003#(bvsge (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (bvadd main_~i~0 (_ bv1 32)))} is VALID [2018-11-23 10:33:35,780 INFO L273 TraceCheckUtils]: 21: Hoare triple {880#true} assume true; {880#true} is VALID [2018-11-23 10:33:35,780 INFO L273 TraceCheckUtils]: 20: Hoare triple {880#true} assume !(0bv32 == ~cond); {880#true} is VALID [2018-11-23 10:33:35,780 INFO L273 TraceCheckUtils]: 19: Hoare triple {880#true} ~cond := #in~cond; {880#true} is VALID [2018-11-23 10:33:35,781 INFO L256 TraceCheckUtils]: 18: Hoare triple {1003#(bvsge (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (bvadd main_~i~0 (_ bv1 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem4, ~i~0) then 1bv32 else 0bv32)); {880#true} is VALID [2018-11-23 10:33:35,785 INFO L273 TraceCheckUtils]: 17: Hoare triple {1003#(bvsge (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (bvadd main_~i~0 (_ bv1 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1003#(bvsge (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (bvadd main_~i~0 (_ bv1 32)))} is VALID [2018-11-23 10:33:35,786 INFO L273 TraceCheckUtils]: 16: Hoare triple {1028#(bvsge (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv1 32))} ~i~0 := 0bv32; {1003#(bvsge (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (bvadd main_~i~0 (_ bv1 32)))} is VALID [2018-11-23 10:33:35,786 INFO L273 TraceCheckUtils]: 15: Hoare triple {1028#(bvsge (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv1 32))} assume !~bvsge32(~i~0, 0bv32); {1028#(bvsge (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv1 32))} is VALID [2018-11-23 10:33:35,787 INFO L273 TraceCheckUtils]: 14: Hoare triple {1028#(bvsge (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv1 32))} #t~post2 := ~i~0;~i~0 := ~bvsub32(#t~post2, 1bv32);havoc #t~post2; {1028#(bvsge (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv1 32))} is VALID [2018-11-23 10:33:35,810 INFO L273 TraceCheckUtils]: 13: Hoare triple {1038#(bvsge (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)) main_~i~0) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv1 32))} call write~intINTTYPE4(~i~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1028#(bvsge (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv1 32))} is VALID [2018-11-23 10:33:35,811 INFO L273 TraceCheckUtils]: 12: Hoare triple {1042#(or (bvsge (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)) main_~i~0) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv1 32)) (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !~bvsge32(~bvsub32(~i~0, 1bv32), 0bv32); {1038#(bvsge (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)) main_~i~0) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv1 32))} is VALID [2018-11-23 10:33:35,812 INFO L273 TraceCheckUtils]: 11: Hoare triple {1046#(or (not (bvsge main_~i~0 (_ bv0 32))) (bvsge (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)) main_~i~0) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv1 32)) (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvsge32(~i~0, 0bv32); {1042#(or (bvsge (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)) main_~i~0) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv1 32)) (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:33:35,817 INFO L273 TraceCheckUtils]: 10: Hoare triple {1050#(or (not (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) (bvsge (bvadd main_~i~0 (_ bv4294967294 32)) (_ bv0 32)) (bvsge (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32)) (bvadd main_~i~0 (_ bv4294967295 32))) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv1 32)))} #t~post2 := ~i~0;~i~0 := ~bvsub32(#t~post2, 1bv32);havoc #t~post2; {1046#(or (not (bvsge main_~i~0 (_ bv0 32))) (bvsge (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)) main_~i~0) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv1 32)) (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:33:35,836 INFO L273 TraceCheckUtils]: 9: Hoare triple {880#true} call write~intINTTYPE4(~i~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1050#(or (not (bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) (bvsge (bvadd main_~i~0 (_ bv4294967294 32)) (_ bv0 32)) (bvsge (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32)) (bvadd main_~i~0 (_ bv4294967295 32))) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv1 32)))} is VALID [2018-11-23 10:33:35,836 INFO L273 TraceCheckUtils]: 8: Hoare triple {880#true} assume ~bvsge32(~bvsub32(~i~0, 1bv32), 0bv32);call write~intINTTYPE4(~bvsub32(~i~0, 2bv32), ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, 1bv32))), 4bv32); {880#true} is VALID [2018-11-23 10:33:35,836 INFO L273 TraceCheckUtils]: 7: Hoare triple {880#true} assume !!~bvsge32(~i~0, 0bv32); {880#true} is VALID [2018-11-23 10:33:35,837 INFO L273 TraceCheckUtils]: 6: Hoare triple {880#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := ~bvsub32(~SIZE~0, 1bv32); {880#true} is VALID [2018-11-23 10:33:35,837 INFO L273 TraceCheckUtils]: 5: Hoare triple {880#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {880#true} is VALID [2018-11-23 10:33:35,837 INFO L256 TraceCheckUtils]: 4: Hoare triple {880#true} call #t~ret5 := main(); {880#true} is VALID [2018-11-23 10:33:35,838 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {880#true} {880#true} #63#return; {880#true} is VALID [2018-11-23 10:33:35,838 INFO L273 TraceCheckUtils]: 2: Hoare triple {880#true} assume true; {880#true} is VALID [2018-11-23 10:33:35,838 INFO L273 TraceCheckUtils]: 1: Hoare triple {880#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {880#true} is VALID [2018-11-23 10:33:35,838 INFO L256 TraceCheckUtils]: 0: Hoare triple {880#true} call ULTIMATE.init(); {880#true} is VALID [2018-11-23 10:33:35,842 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:33:35,850 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:33:35,850 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 12] total 24 [2018-11-23 10:33:35,851 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 30 [2018-11-23 10:33:35,852 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:33:35,852 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-23 10:33:50,944 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 49 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2018-11-23 10:33:50,944 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-23 10:33:50,944 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-23 10:33:50,944 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=446, Unknown=20, NotChecked=0, Total=552 [2018-11-23 10:33:50,945 INFO L87 Difference]: Start difference. First operand 33 states and 35 transitions. Second operand 24 states. [2018-11-23 10:33:58,141 WARN L180 SmtUtils]: Spent 6.19 s on a formula simplification. DAG size of input: 32 DAG size of output: 26 [2018-11-23 10:34:02,606 WARN L180 SmtUtils]: Spent 110.00 ms on a formula simplification that was a NOOP. DAG size: 25 [2018-11-23 10:34:09,298 WARN L180 SmtUtils]: Spent 6.08 s on a formula simplification that was a NOOP. DAG size: 26 [2018-11-23 10:34:14,813 WARN L180 SmtUtils]: Spent 4.23 s on a formula simplification. DAG size of input: 26 DAG size of output: 22 [2018-11-23 10:34:39,767 WARN L180 SmtUtils]: Spent 24.20 s on a formula simplification. DAG size of input: 38 DAG size of output: 37 [2018-11-23 10:34:54,615 WARN L180 SmtUtils]: Spent 9.95 s on a formula simplification. DAG size of input: 46 DAG size of output: 29 [2018-11-23 10:35:13,752 WARN L180 SmtUtils]: Spent 6.47 s on a formula simplification. DAG size of input: 32 DAG size of output: 29 [2018-11-23 10:35:29,050 WARN L180 SmtUtils]: Spent 10.25 s on a formula simplification. DAG size of input: 32 DAG size of output: 29 [2018-11-23 10:35:40,757 WARN L180 SmtUtils]: Spent 8.12 s on a formula simplification that was a NOOP. DAG size: 36 [2018-11-23 10:36:21,309 WARN L180 SmtUtils]: Spent 10.02 s on a formula simplification. DAG size of input: 48 DAG size of output: 31