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-examples/standard_vararg_true-unreach-call_ground_true-termination.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 10:13:51,005 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 10:13:51,008 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 10:13:51,023 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 10:13:51,023 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 10:13:51,024 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 10:13:51,025 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 10:13:51,027 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 10:13:51,029 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 10:13:51,030 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 10:13:51,031 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 10:13:51,031 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 10:13:51,032 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 10:13:51,033 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 10:13:51,034 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 10:13:51,035 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 10:13:51,036 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 10:13:51,039 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 10:13:51,044 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 10:13:51,049 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 10:13:51,050 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 10:13:51,051 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 10:13:51,056 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 10:13:51,056 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 10:13:51,056 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 10:13:51,057 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 10:13:51,058 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 10:13:51,059 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 10:13:51,060 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 10:13:51,064 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 10:13:51,064 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 10:13:51,065 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 10:13:51,065 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 10:13:51,065 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 10:13:51,066 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 10:13:51,067 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 10:13:51,067 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:13:51,086 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 10:13:51,086 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 10:13:51,087 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 10:13:51,087 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 10:13:51,088 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 10:13:51,088 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 10:13:51,088 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 10:13:51,089 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 10:13:51,090 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 10:13:51,090 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 10:13:51,090 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 10:13:51,090 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 10:13:51,090 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 10:13:51,091 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 10:13:51,091 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 10:13:51,091 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 10:13:51,091 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 10:13:51,091 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 10:13:51,091 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 10:13:51,092 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 10:13:51,093 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 10:13:51,093 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 10:13:51,093 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 10:13:51,093 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 10:13:51,093 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 10:13:51,094 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 10:13:51,094 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 10:13:51,094 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 10:13:51,095 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 10:13:51,095 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 10:13:51,095 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 10:13:51,095 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 10:13:51,095 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 10:13:51,164 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 10:13:51,182 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 10:13:51,185 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 10:13:51,186 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 10:13:51,187 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 10:13:51,187 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-examples/standard_vararg_true-unreach-call_ground_true-termination.i [2018-11-23 10:13:51,248 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c68a3f4a4/cc30251dbfad41288969962390f916b1/FLAGa6b09e077 [2018-11-23 10:13:51,754 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 10:13:51,755 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-examples/standard_vararg_true-unreach-call_ground_true-termination.i [2018-11-23 10:13:51,761 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c68a3f4a4/cc30251dbfad41288969962390f916b1/FLAGa6b09e077 [2018-11-23 10:13:52,075 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c68a3f4a4/cc30251dbfad41288969962390f916b1 [2018-11-23 10:13:52,086 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 10:13:52,088 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 10:13:52,089 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 10:13:52,089 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 10:13:52,093 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 10:13:52,095 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 10:13:52" (1/1) ... [2018-11-23 10:13:52,098 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@275e0492 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:13:52, skipping insertion in model container [2018-11-23 10:13:52,098 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 10:13:52" (1/1) ... [2018-11-23 10:13:52,109 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 10:13:52,135 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 10:13:52,354 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 10:13:52,360 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 10:13:52,388 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 10:13:52,424 INFO L195 MainTranslator]: Completed translation [2018-11-23 10:13:52,424 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:13:52 WrapperNode [2018-11-23 10:13:52,425 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 10:13:52,426 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 10:13:52,426 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 10:13:52,426 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 10:13:52,436 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:13:52" (1/1) ... [2018-11-23 10:13:52,448 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:13:52" (1/1) ... [2018-11-23 10:13:52,457 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 10:13:52,458 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 10:13:52,458 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 10:13:52,458 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 10:13:52,470 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:13:52" (1/1) ... [2018-11-23 10:13:52,470 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:13:52" (1/1) ... [2018-11-23 10:13:52,473 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:13:52" (1/1) ... [2018-11-23 10:13:52,474 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:13:52" (1/1) ... [2018-11-23 10:13:52,492 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:13:52" (1/1) ... [2018-11-23 10:13:52,499 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:13:52" (1/1) ... [2018-11-23 10:13:52,500 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:13:52" (1/1) ... [2018-11-23 10:13:52,503 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 10:13:52,504 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 10:13:52,504 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 10:13:52,504 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 10:13:52,505 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:13:52" (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:13:52,639 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 10:13:52,640 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 10:13:52,640 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 10:13:52,640 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 10:13:52,640 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 10:13:52,640 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 10:13:52,640 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 10:13:52,641 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 10:13:52,641 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 10:13:52,641 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 10:13:52,641 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 10:13:53,151 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 10:13:53,151 INFO L280 CfgBuilder]: Removed 2 assue(true) statements. [2018-11-23 10:13:53,152 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 10:13:53 BoogieIcfgContainer [2018-11-23 10:13:53,152 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 10:13:53,153 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 10:13:53,153 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 10:13:53,156 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 10:13:53,156 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 10:13:52" (1/3) ... [2018-11-23 10:13:53,157 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4a56d3c5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 10:13:53, skipping insertion in model container [2018-11-23 10:13:53,157 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:13:52" (2/3) ... [2018-11-23 10:13:53,158 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4a56d3c5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 10:13:53, skipping insertion in model container [2018-11-23 10:13:53,158 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 10:13:53" (3/3) ... [2018-11-23 10:13:53,160 INFO L112 eAbstractionObserver]: Analyzing ICFG standard_vararg_true-unreach-call_ground_true-termination.i [2018-11-23 10:13:53,168 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 10:13:53,175 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 10:13:53,194 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 10:13:53,228 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 10:13:53,229 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 10:13:53,229 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 10:13:53,229 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 10:13:53,229 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 10:13:53,229 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 10:13:53,230 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 10:13:53,230 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 10:13:53,230 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 10:13:53,249 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states. [2018-11-23 10:13:53,256 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2018-11-23 10:13:53,256 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:13:53,257 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:13:53,259 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:13:53,266 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:13:53,267 INFO L82 PathProgramCache]: Analyzing trace with hash -1821336840, now seen corresponding path program 1 times [2018-11-23 10:13:53,271 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:13:53,272 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:13:53,296 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:13:53,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:13:53,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:13:53,363 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:13:53,473 INFO L256 TraceCheckUtils]: 0: Hoare triple {27#true} call ULTIMATE.init(); {27#true} is VALID [2018-11-23 10:13:53,476 INFO L273 TraceCheckUtils]: 1: Hoare triple {27#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {27#true} is VALID [2018-11-23 10:13:53,477 INFO L273 TraceCheckUtils]: 2: Hoare triple {27#true} assume true; {27#true} is VALID [2018-11-23 10:13:53,477 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {27#true} {27#true} #49#return; {27#true} is VALID [2018-11-23 10:13:53,477 INFO L256 TraceCheckUtils]: 4: Hoare triple {27#true} call #t~ret4 := main(); {27#true} is VALID [2018-11-23 10:13:53,478 INFO L273 TraceCheckUtils]: 5: Hoare triple {27#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {27#true} is VALID [2018-11-23 10:13:53,481 INFO L273 TraceCheckUtils]: 6: Hoare triple {27#true} assume !true; {28#false} is VALID [2018-11-23 10:13:53,481 INFO L273 TraceCheckUtils]: 7: Hoare triple {28#false} havoc ~x~0;~x~0 := 0bv32; {28#false} is VALID [2018-11-23 10:13:53,482 INFO L273 TraceCheckUtils]: 8: Hoare triple {28#false} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {28#false} is VALID [2018-11-23 10:13:53,482 INFO L256 TraceCheckUtils]: 9: Hoare triple {28#false} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {28#false} is VALID [2018-11-23 10:13:53,482 INFO L273 TraceCheckUtils]: 10: Hoare triple {28#false} ~cond := #in~cond; {28#false} is VALID [2018-11-23 10:13:53,483 INFO L273 TraceCheckUtils]: 11: Hoare triple {28#false} assume 0bv32 == ~cond; {28#false} is VALID [2018-11-23 10:13:53,483 INFO L273 TraceCheckUtils]: 12: Hoare triple {28#false} assume !false; {28#false} is VALID [2018-11-23 10:13:53,486 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:13:53,486 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:13:53,492 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:13:53,492 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 10:13:53,497 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 13 [2018-11-23 10:13:53,501 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:13:53,505 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 10:13:53,557 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:13:53,557 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 10:13:53,565 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 10:13:53,566 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 10:13:53,568 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 2 states. [2018-11-23 10:13:53,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:13:53,862 INFO L93 Difference]: Finished difference Result 40 states and 47 transitions. [2018-11-23 10:13:53,862 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 10:13:53,862 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 13 [2018-11-23 10:13:53,863 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:13:53,864 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 10:13:53,874 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 47 transitions. [2018-11-23 10:13:53,874 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 10:13:53,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 47 transitions. [2018-11-23 10:13:53,880 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 47 transitions. [2018-11-23 10:13:54,120 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:13:54,131 INFO L225 Difference]: With dead ends: 40 [2018-11-23 10:13:54,131 INFO L226 Difference]: Without dead ends: 19 [2018-11-23 10:13:54,134 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 12 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:13:54,152 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 19 states. [2018-11-23 10:13:54,182 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 19 to 19. [2018-11-23 10:13:54,183 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:13:54,183 INFO L82 GeneralOperation]: Start isEquivalent. First operand 19 states. Second operand 19 states. [2018-11-23 10:13:54,184 INFO L74 IsIncluded]: Start isIncluded. First operand 19 states. Second operand 19 states. [2018-11-23 10:13:54,184 INFO L87 Difference]: Start difference. First operand 19 states. Second operand 19 states. [2018-11-23 10:13:54,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:13:54,188 INFO L93 Difference]: Finished difference Result 19 states and 20 transitions. [2018-11-23 10:13:54,188 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2018-11-23 10:13:54,188 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:13:54,189 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:13:54,189 INFO L74 IsIncluded]: Start isIncluded. First operand 19 states. Second operand 19 states. [2018-11-23 10:13:54,189 INFO L87 Difference]: Start difference. First operand 19 states. Second operand 19 states. [2018-11-23 10:13:54,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:13:54,193 INFO L93 Difference]: Finished difference Result 19 states and 20 transitions. [2018-11-23 10:13:54,193 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2018-11-23 10:13:54,194 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:13:54,194 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:13:54,194 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:13:54,194 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:13:54,195 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 10:13:54,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 20 transitions. [2018-11-23 10:13:54,198 INFO L78 Accepts]: Start accepts. Automaton has 19 states and 20 transitions. Word has length 13 [2018-11-23 10:13:54,199 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:13:54,199 INFO L480 AbstractCegarLoop]: Abstraction has 19 states and 20 transitions. [2018-11-23 10:13:54,199 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 10:13:54,199 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2018-11-23 10:13:54,200 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 10:13:54,200 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:13:54,200 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:13:54,201 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:13:54,201 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:13:54,201 INFO L82 PathProgramCache]: Analyzing trace with hash -1223369710, now seen corresponding path program 1 times [2018-11-23 10:13:54,202 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:13:54,202 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:13:54,219 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:13:54,260 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:13:54,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:13:54,286 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:13:54,507 INFO L256 TraceCheckUtils]: 0: Hoare triple {183#true} call ULTIMATE.init(); {183#true} is VALID [2018-11-23 10:13:54,507 INFO L273 TraceCheckUtils]: 1: Hoare triple {183#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {183#true} is VALID [2018-11-23 10:13:54,507 INFO L273 TraceCheckUtils]: 2: Hoare triple {183#true} assume true; {183#true} is VALID [2018-11-23 10:13:54,508 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {183#true} {183#true} #49#return; {183#true} is VALID [2018-11-23 10:13:54,508 INFO L256 TraceCheckUtils]: 4: Hoare triple {183#true} call #t~ret4 := main(); {183#true} is VALID [2018-11-23 10:13:54,512 INFO L273 TraceCheckUtils]: 5: Hoare triple {183#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {203#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:13:54,512 INFO L273 TraceCheckUtils]: 6: Hoare triple {203#(= main_~a~0 (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {203#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:13:54,514 INFO L273 TraceCheckUtils]: 7: Hoare triple {203#(= main_~a~0 (_ bv0 32))} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {203#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:13:54,516 INFO L273 TraceCheckUtils]: 8: Hoare triple {203#(= main_~a~0 (_ bv0 32))} havoc ~x~0;~x~0 := 0bv32; {213#(and (= main_~a~0 (_ bv0 32)) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:13:54,517 INFO L273 TraceCheckUtils]: 9: Hoare triple {213#(and (= main_~a~0 (_ bv0 32)) (= main_~x~0 (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {184#false} is VALID [2018-11-23 10:13:54,518 INFO L256 TraceCheckUtils]: 10: Hoare triple {184#false} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {184#false} is VALID [2018-11-23 10:13:54,518 INFO L273 TraceCheckUtils]: 11: Hoare triple {184#false} ~cond := #in~cond; {184#false} is VALID [2018-11-23 10:13:54,518 INFO L273 TraceCheckUtils]: 12: Hoare triple {184#false} assume 0bv32 == ~cond; {184#false} is VALID [2018-11-23 10:13:54,519 INFO L273 TraceCheckUtils]: 13: Hoare triple {184#false} assume !false; {184#false} is VALID [2018-11-23 10:13:54,520 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:13:54,521 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:13:54,527 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:13:54,527 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 10:13:54,529 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 14 [2018-11-23 10:13:54,529 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:13:54,529 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 10:13:54,582 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:13:54,582 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 10:13:54,582 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 10:13:54,582 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 10:13:54,583 INFO L87 Difference]: Start difference. First operand 19 states and 20 transitions. Second operand 4 states. [2018-11-23 10:13:54,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:13:54,754 INFO L93 Difference]: Finished difference Result 33 states and 35 transitions. [2018-11-23 10:13:54,754 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 10:13:54,755 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 14 [2018-11-23 10:13:54,755 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:13:54,755 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 10:13:54,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 35 transitions. [2018-11-23 10:13:54,759 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 10:13:54,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 35 transitions. [2018-11-23 10:13:54,762 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 35 transitions. [2018-11-23 10:13:55,122 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:13:55,124 INFO L225 Difference]: With dead ends: 33 [2018-11-23 10:13:55,124 INFO L226 Difference]: Without dead ends: 21 [2018-11-23 10:13:55,125 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 10:13:55,125 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2018-11-23 10:13:55,143 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 21. [2018-11-23 10:13:55,143 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:13:55,143 INFO L82 GeneralOperation]: Start isEquivalent. First operand 21 states. Second operand 21 states. [2018-11-23 10:13:55,143 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 21 states. [2018-11-23 10:13:55,144 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 21 states. [2018-11-23 10:13:55,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:13:55,146 INFO L93 Difference]: Finished difference Result 21 states and 22 transitions. [2018-11-23 10:13:55,146 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2018-11-23 10:13:55,147 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:13:55,147 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:13:55,147 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 21 states. [2018-11-23 10:13:55,147 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 21 states. [2018-11-23 10:13:55,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:13:55,150 INFO L93 Difference]: Finished difference Result 21 states and 22 transitions. [2018-11-23 10:13:55,150 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2018-11-23 10:13:55,151 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:13:55,151 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:13:55,151 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:13:55,151 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:13:55,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 10:13:55,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 22 transitions. [2018-11-23 10:13:55,154 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 22 transitions. Word has length 14 [2018-11-23 10:13:55,154 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:13:55,154 INFO L480 AbstractCegarLoop]: Abstraction has 21 states and 22 transitions. [2018-11-23 10:13:55,154 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 10:13:55,154 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2018-11-23 10:13:55,155 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 10:13:55,155 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:13:55,155 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:13:55,156 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:13:55,156 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:13:55,156 INFO L82 PathProgramCache]: Analyzing trace with hash -1451377833, now seen corresponding path program 1 times [2018-11-23 10:13:55,157 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:13:55,157 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:13:55,179 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:13:55,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:13:55,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:13:55,220 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:13:55,551 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 15 treesize of output 11 [2018-11-23 10:13:55,564 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 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 11 treesize of output 3 [2018-11-23 10:13:55,569 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:13:55,572 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:13:55,581 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:13:55,581 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:15, output treesize:3 [2018-11-23 10:13:55,585 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:13:55,585 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#aa~0.base|]. (let ((.cse0 (select (select |#memory_int| |main_~#aa~0.base|) (_ bv0 32)))) (and (bvsge .cse0 (_ bv0 32)) (= .cse0 |main_#t~mem3|))) [2018-11-23 10:13:55,586 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (bvsge |main_#t~mem3| (_ bv0 32)) [2018-11-23 10:13:55,768 INFO L256 TraceCheckUtils]: 0: Hoare triple {346#true} call ULTIMATE.init(); {346#true} is VALID [2018-11-23 10:13:55,768 INFO L273 TraceCheckUtils]: 1: Hoare triple {346#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {346#true} is VALID [2018-11-23 10:13:55,768 INFO L273 TraceCheckUtils]: 2: Hoare triple {346#true} assume true; {346#true} is VALID [2018-11-23 10:13:55,769 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {346#true} {346#true} #49#return; {346#true} is VALID [2018-11-23 10:13:55,769 INFO L256 TraceCheckUtils]: 4: Hoare triple {346#true} call #t~ret4 := main(); {346#true} is VALID [2018-11-23 10:13:55,770 INFO L273 TraceCheckUtils]: 5: Hoare triple {346#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {366#(and (= main_~a~0 (_ bv0 32)) (= (_ bv0 32) |main_~#aa~0.offset|))} is VALID [2018-11-23 10:13:55,771 INFO L273 TraceCheckUtils]: 6: Hoare triple {366#(and (= main_~a~0 (_ bv0 32)) (= (_ bv0 32) |main_~#aa~0.offset|))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {370#(and (= (select (select |#memory_int| |main_~#aa~0.base|) |main_~#aa~0.offset|) |main_#t~mem0|) (= (_ bv0 32) |main_~#aa~0.offset|))} is VALID [2018-11-23 10:13:55,772 INFO L273 TraceCheckUtils]: 7: Hoare triple {370#(and (= (select (select |#memory_int| |main_~#aa~0.base|) |main_~#aa~0.offset|) |main_#t~mem0|) (= (_ bv0 32) |main_~#aa~0.offset|))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {374#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) |main_~#aa~0.offset|) (_ bv0 32)) (= (_ bv0 32) |main_~#aa~0.offset|))} is VALID [2018-11-23 10:13:55,784 INFO L273 TraceCheckUtils]: 8: Hoare triple {374#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) |main_~#aa~0.offset|) (_ bv0 32)) (= (_ bv0 32) |main_~#aa~0.offset|))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {374#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) |main_~#aa~0.offset|) (_ bv0 32)) (= (_ bv0 32) |main_~#aa~0.offset|))} is VALID [2018-11-23 10:13:55,786 INFO L273 TraceCheckUtils]: 9: Hoare triple {374#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) |main_~#aa~0.offset|) (_ bv0 32)) (= (_ bv0 32) |main_~#aa~0.offset|))} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {374#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) |main_~#aa~0.offset|) (_ bv0 32)) (= (_ bv0 32) |main_~#aa~0.offset|))} is VALID [2018-11-23 10:13:55,786 INFO L273 TraceCheckUtils]: 10: Hoare triple {374#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) |main_~#aa~0.offset|) (_ bv0 32)) (= (_ bv0 32) |main_~#aa~0.offset|))} havoc ~x~0;~x~0 := 0bv32; {384#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) |main_~#aa~0.offset|) (_ bv0 32)) (= main_~x~0 (_ bv0 32)) (= (_ bv0 32) |main_~#aa~0.offset|))} is VALID [2018-11-23 10:13:55,788 INFO L273 TraceCheckUtils]: 11: Hoare triple {384#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) |main_~#aa~0.offset|) (_ bv0 32)) (= main_~x~0 (_ bv0 32)) (= (_ bv0 32) |main_~#aa~0.offset|))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {388#(bvsge |main_#t~mem3| (_ bv0 32))} is VALID [2018-11-23 10:13:55,791 INFO L256 TraceCheckUtils]: 12: Hoare triple {388#(bvsge |main_#t~mem3| (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {392#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:13:55,792 INFO L273 TraceCheckUtils]: 13: Hoare triple {392#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {396#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:13:55,792 INFO L273 TraceCheckUtils]: 14: Hoare triple {396#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {347#false} is VALID [2018-11-23 10:13:55,793 INFO L273 TraceCheckUtils]: 15: Hoare triple {347#false} assume !false; {347#false} is VALID [2018-11-23 10:13:55,795 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:13:55,795 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:13:56,100 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 20 treesize of output 16 [2018-11-23 10:13:58,117 WARN L670 Elim1Store]: solver failed to check if following equality is implied: (= |main_~#aa~0.offset| (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~a~0))) [2018-11-23 10:13:58,119 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:13:58,119 INFO L303 Elim1Store]: Index analysis took 2014 ms [2018-11-23 10:13:58,120 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 18 [2018-11-23 10:13:58,149 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:13:58,151 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:13:58,154 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:13:58,155 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-23 10:13:58,195 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:13:58,195 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |main_~#aa~0.base|]. (let ((.cse0 (select |#memory_int| |main_~#aa~0.base|))) (or (bvsge (select .cse0 |main_~#aa~0.offset|) (_ bv0 32)) (not (bvsge (select .cse0 (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~a~0))) (_ bv0 32))))) [2018-11-23 10:13:58,196 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ []. (= |main_~#aa~0.offset| (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~a~0))) [2018-11-23 10:13:58,315 INFO L273 TraceCheckUtils]: 15: Hoare triple {347#false} assume !false; {347#false} is VALID [2018-11-23 10:13:58,316 INFO L273 TraceCheckUtils]: 14: Hoare triple {406#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {347#false} is VALID [2018-11-23 10:13:58,317 INFO L273 TraceCheckUtils]: 13: Hoare triple {410#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {406#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:13:58,318 INFO L256 TraceCheckUtils]: 12: Hoare triple {388#(bvsge |main_#t~mem3| (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {410#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:13:58,320 INFO L273 TraceCheckUtils]: 11: Hoare triple {417#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {388#(bvsge |main_#t~mem3| (_ bv0 32))} is VALID [2018-11-23 10:13:58,321 INFO L273 TraceCheckUtils]: 10: Hoare triple {421#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) |main_~#aa~0.offset|) (_ bv0 32))} havoc ~x~0;~x~0 := 0bv32; {417#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0))) (_ bv0 32))} is VALID [2018-11-23 10:13:58,324 INFO L273 TraceCheckUtils]: 9: Hoare triple {421#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) |main_~#aa~0.offset|) (_ bv0 32))} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {421#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) |main_~#aa~0.offset|) (_ bv0 32))} is VALID [2018-11-23 10:13:58,325 INFO L273 TraceCheckUtils]: 8: Hoare triple {421#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) |main_~#aa~0.offset|) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {421#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) |main_~#aa~0.offset|) (_ bv0 32))} is VALID [2018-11-23 10:13:58,329 INFO L273 TraceCheckUtils]: 7: Hoare triple {431#(or (bvsge (select (select |#memory_int| |main_~#aa~0.base|) |main_~#aa~0.offset|) (_ bv0 32)) (not (bvsge |main_#t~mem0| (_ bv0 32))))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {421#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) |main_~#aa~0.offset|) (_ bv0 32))} is VALID [2018-11-23 10:13:58,333 INFO L273 TraceCheckUtils]: 6: Hoare triple {435#(= (_ bv0 32) (bvmul (_ bv4 32) main_~a~0))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {431#(or (bvsge (select (select |#memory_int| |main_~#aa~0.base|) |main_~#aa~0.offset|) (_ bv0 32)) (not (bvsge |main_#t~mem0| (_ bv0 32))))} is VALID [2018-11-23 10:13:58,338 INFO L273 TraceCheckUtils]: 5: Hoare triple {346#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {435#(= (_ bv0 32) (bvmul (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:13:58,338 INFO L256 TraceCheckUtils]: 4: Hoare triple {346#true} call #t~ret4 := main(); {346#true} is VALID [2018-11-23 10:13:58,338 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {346#true} {346#true} #49#return; {346#true} is VALID [2018-11-23 10:13:58,339 INFO L273 TraceCheckUtils]: 2: Hoare triple {346#true} assume true; {346#true} is VALID [2018-11-23 10:13:58,339 INFO L273 TraceCheckUtils]: 1: Hoare triple {346#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {346#true} is VALID [2018-11-23 10:13:58,339 INFO L256 TraceCheckUtils]: 0: Hoare triple {346#true} call ULTIMATE.init(); {346#true} is VALID [2018-11-23 10:13:58,341 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:13:58,343 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:13:58,343 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 15 [2018-11-23 10:13:58,344 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 16 [2018-11-23 10:13:58,344 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:13:58,344 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 10:14:00,459 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 25 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2018-11-23 10:14:00,460 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 10:14:00,460 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 10:14:00,460 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=172, Unknown=0, NotChecked=0, Total=210 [2018-11-23 10:14:00,461 INFO L87 Difference]: Start difference. First operand 21 states and 22 transitions. Second operand 15 states. [2018-11-23 10:14:01,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:14:01,564 INFO L93 Difference]: Finished difference Result 31 states and 32 transitions. [2018-11-23 10:14:01,564 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 10:14:01,565 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 16 [2018-11-23 10:14:01,565 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:14:01,565 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 10:14:01,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 32 transitions. [2018-11-23 10:14:01,568 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 10:14:01,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 32 transitions. [2018-11-23 10:14:01,571 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 32 transitions. [2018-11-23 10:14:01,624 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:14:01,627 INFO L225 Difference]: With dead ends: 31 [2018-11-23 10:14:01,627 INFO L226 Difference]: Without dead ends: 29 [2018-11-23 10:14:01,628 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=58, Invalid=248, Unknown=0, NotChecked=0, Total=306 [2018-11-23 10:14:01,628 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2018-11-23 10:14:01,651 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 27. [2018-11-23 10:14:01,651 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:14:01,651 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 27 states. [2018-11-23 10:14:01,652 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 27 states. [2018-11-23 10:14:01,652 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 27 states. [2018-11-23 10:14:01,655 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:14:01,655 INFO L93 Difference]: Finished difference Result 29 states and 30 transitions. [2018-11-23 10:14:01,656 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 30 transitions. [2018-11-23 10:14:01,656 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:14:01,656 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:14:01,657 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 29 states. [2018-11-23 10:14:01,657 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 29 states. [2018-11-23 10:14:01,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:14:01,660 INFO L93 Difference]: Finished difference Result 29 states and 30 transitions. [2018-11-23 10:14:01,660 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 30 transitions. [2018-11-23 10:14:01,660 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:14:01,661 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:14:01,661 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:14:01,661 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:14:01,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 10:14:01,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 28 transitions. [2018-11-23 10:14:01,663 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 28 transitions. Word has length 16 [2018-11-23 10:14:01,664 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:14:01,664 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 28 transitions. [2018-11-23 10:14:01,664 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 10:14:01,664 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 28 transitions. [2018-11-23 10:14:01,665 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-23 10:14:01,665 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:14:01,665 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:14:01,665 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:14:01,666 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:14:01,666 INFO L82 PathProgramCache]: Analyzing trace with hash -1647853938, now seen corresponding path program 1 times [2018-11-23 10:14:01,666 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:14:01,667 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:14:01,689 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:14:01,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:14:01,732 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:14:01,733 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:14:01,835 INFO L256 TraceCheckUtils]: 0: Hoare triple {602#true} call ULTIMATE.init(); {602#true} is VALID [2018-11-23 10:14:01,836 INFO L273 TraceCheckUtils]: 1: Hoare triple {602#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {602#true} is VALID [2018-11-23 10:14:01,836 INFO L273 TraceCheckUtils]: 2: Hoare triple {602#true} assume true; {602#true} is VALID [2018-11-23 10:14:01,837 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {602#true} {602#true} #49#return; {602#true} is VALID [2018-11-23 10:14:01,837 INFO L256 TraceCheckUtils]: 4: Hoare triple {602#true} call #t~ret4 := main(); {602#true} is VALID [2018-11-23 10:14:01,839 INFO L273 TraceCheckUtils]: 5: Hoare triple {602#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {622#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:14:01,840 INFO L273 TraceCheckUtils]: 6: Hoare triple {622#(= main_~a~0 (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {622#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:14:01,841 INFO L273 TraceCheckUtils]: 7: Hoare triple {622#(= main_~a~0 (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {629#(= (_ bv1 32) main_~a~0)} is VALID [2018-11-23 10:14:01,842 INFO L273 TraceCheckUtils]: 8: Hoare triple {629#(= (_ bv1 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {629#(= (_ bv1 32) main_~a~0)} is VALID [2018-11-23 10:14:01,843 INFO L273 TraceCheckUtils]: 9: Hoare triple {629#(= (_ bv1 32) main_~a~0)} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {629#(= (_ bv1 32) main_~a~0)} is VALID [2018-11-23 10:14:01,844 INFO L273 TraceCheckUtils]: 10: Hoare triple {629#(= (_ bv1 32) main_~a~0)} havoc ~x~0;~x~0 := 0bv32; {639#(and (= (_ bv1 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:14:01,845 INFO L273 TraceCheckUtils]: 11: Hoare triple {639#(and (= (_ bv1 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {639#(and (= (_ bv1 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:14:01,845 INFO L256 TraceCheckUtils]: 12: Hoare triple {639#(and (= (_ bv1 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {602#true} is VALID [2018-11-23 10:14:01,846 INFO L273 TraceCheckUtils]: 13: Hoare triple {602#true} ~cond := #in~cond; {602#true} is VALID [2018-11-23 10:14:01,846 INFO L273 TraceCheckUtils]: 14: Hoare triple {602#true} assume !(0bv32 == ~cond); {602#true} is VALID [2018-11-23 10:14:01,846 INFO L273 TraceCheckUtils]: 15: Hoare triple {602#true} assume true; {602#true} is VALID [2018-11-23 10:14:01,848 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {602#true} {639#(and (= (_ bv1 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} #53#return; {639#(and (= (_ bv1 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:14:01,849 INFO L273 TraceCheckUtils]: 17: Hoare triple {639#(and (= (_ bv1 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} havoc #t~mem3; {639#(and (= (_ bv1 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:14:01,849 INFO L273 TraceCheckUtils]: 18: Hoare triple {639#(and (= (_ bv1 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {664#(and (= (_ bv1 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:14:01,850 INFO L273 TraceCheckUtils]: 19: Hoare triple {664#(and (= (_ bv1 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {603#false} is VALID [2018-11-23 10:14:01,850 INFO L256 TraceCheckUtils]: 20: Hoare triple {603#false} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {603#false} is VALID [2018-11-23 10:14:01,850 INFO L273 TraceCheckUtils]: 21: Hoare triple {603#false} ~cond := #in~cond; {603#false} is VALID [2018-11-23 10:14:01,851 INFO L273 TraceCheckUtils]: 22: Hoare triple {603#false} assume 0bv32 == ~cond; {603#false} is VALID [2018-11-23 10:14:01,851 INFO L273 TraceCheckUtils]: 23: Hoare triple {603#false} assume !false; {603#false} is VALID [2018-11-23 10:14:01,854 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:14:01,854 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:14:02,055 INFO L273 TraceCheckUtils]: 23: Hoare triple {603#false} assume !false; {603#false} is VALID [2018-11-23 10:14:02,056 INFO L273 TraceCheckUtils]: 22: Hoare triple {603#false} assume 0bv32 == ~cond; {603#false} is VALID [2018-11-23 10:14:02,056 INFO L273 TraceCheckUtils]: 21: Hoare triple {603#false} ~cond := #in~cond; {603#false} is VALID [2018-11-23 10:14:02,056 INFO L256 TraceCheckUtils]: 20: Hoare triple {603#false} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {603#false} is VALID [2018-11-23 10:14:02,057 INFO L273 TraceCheckUtils]: 19: Hoare triple {692#(not (bvslt main_~x~0 main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {603#false} is VALID [2018-11-23 10:14:02,058 INFO L273 TraceCheckUtils]: 18: Hoare triple {696#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {692#(not (bvslt main_~x~0 main_~a~0))} is VALID [2018-11-23 10:14:02,059 INFO L273 TraceCheckUtils]: 17: Hoare triple {696#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} havoc #t~mem3; {696#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} is VALID [2018-11-23 10:14:02,059 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {602#true} {696#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} #53#return; {696#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} is VALID [2018-11-23 10:14:02,060 INFO L273 TraceCheckUtils]: 15: Hoare triple {602#true} assume true; {602#true} is VALID [2018-11-23 10:14:02,060 INFO L273 TraceCheckUtils]: 14: Hoare triple {602#true} assume !(0bv32 == ~cond); {602#true} is VALID [2018-11-23 10:14:02,060 INFO L273 TraceCheckUtils]: 13: Hoare triple {602#true} ~cond := #in~cond; {602#true} is VALID [2018-11-23 10:14:02,061 INFO L256 TraceCheckUtils]: 12: Hoare triple {696#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {602#true} is VALID [2018-11-23 10:14:02,061 INFO L273 TraceCheckUtils]: 11: Hoare triple {696#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {696#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} is VALID [2018-11-23 10:14:02,062 INFO L273 TraceCheckUtils]: 10: Hoare triple {721#(not (bvslt (_ bv1 32) main_~a~0))} havoc ~x~0;~x~0 := 0bv32; {696#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} is VALID [2018-11-23 10:14:02,063 INFO L273 TraceCheckUtils]: 9: Hoare triple {721#(not (bvslt (_ bv1 32) main_~a~0))} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {721#(not (bvslt (_ bv1 32) main_~a~0))} is VALID [2018-11-23 10:14:02,063 INFO L273 TraceCheckUtils]: 8: Hoare triple {721#(not (bvslt (_ bv1 32) main_~a~0))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {721#(not (bvslt (_ bv1 32) main_~a~0))} is VALID [2018-11-23 10:14:02,064 INFO L273 TraceCheckUtils]: 7: Hoare triple {731#(not (bvslt (_ bv1 32) (bvadd main_~a~0 (_ bv1 32))))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {721#(not (bvslt (_ bv1 32) main_~a~0))} is VALID [2018-11-23 10:14:02,065 INFO L273 TraceCheckUtils]: 6: Hoare triple {731#(not (bvslt (_ bv1 32) (bvadd main_~a~0 (_ bv1 32))))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {731#(not (bvslt (_ bv1 32) (bvadd main_~a~0 (_ bv1 32))))} is VALID [2018-11-23 10:14:02,066 INFO L273 TraceCheckUtils]: 5: Hoare triple {602#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {731#(not (bvslt (_ bv1 32) (bvadd main_~a~0 (_ bv1 32))))} is VALID [2018-11-23 10:14:02,067 INFO L256 TraceCheckUtils]: 4: Hoare triple {602#true} call #t~ret4 := main(); {602#true} is VALID [2018-11-23 10:14:02,067 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {602#true} {602#true} #49#return; {602#true} is VALID [2018-11-23 10:14:02,068 INFO L273 TraceCheckUtils]: 2: Hoare triple {602#true} assume true; {602#true} is VALID [2018-11-23 10:14:02,068 INFO L273 TraceCheckUtils]: 1: Hoare triple {602#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {602#true} is VALID [2018-11-23 10:14:02,069 INFO L256 TraceCheckUtils]: 0: Hoare triple {602#true} call ULTIMATE.init(); {602#true} is VALID [2018-11-23 10:14:02,070 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:14:02,082 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:14:02,082 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2018-11-23 10:14:02,083 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 24 [2018-11-23 10:14:02,083 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:14:02,083 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-23 10:14:02,159 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:14:02,160 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 10:14:02,160 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 10:14:02,160 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=63, Unknown=0, NotChecked=0, Total=90 [2018-11-23 10:14:02,161 INFO L87 Difference]: Start difference. First operand 27 states and 28 transitions. Second operand 10 states. [2018-11-23 10:14:02,501 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:14:02,501 INFO L93 Difference]: Finished difference Result 45 states and 48 transitions. [2018-11-23 10:14:02,502 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 10:14:02,502 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 24 [2018-11-23 10:14:02,502 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:14:02,502 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 10:14:02,505 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 42 transitions. [2018-11-23 10:14:02,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 10:14:02,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 42 transitions. [2018-11-23 10:14:02,508 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 42 transitions. [2018-11-23 10:14:02,594 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:14:02,597 INFO L225 Difference]: With dead ends: 45 [2018-11-23 10:14:02,597 INFO L226 Difference]: Without dead ends: 29 [2018-11-23 10:14:02,598 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=27, Invalid=63, Unknown=0, NotChecked=0, Total=90 [2018-11-23 10:14:02,598 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2018-11-23 10:14:02,628 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2018-11-23 10:14:02,628 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:14:02,628 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 29 states. [2018-11-23 10:14:02,628 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 29 states. [2018-11-23 10:14:02,629 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 29 states. [2018-11-23 10:14:02,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:14:02,633 INFO L93 Difference]: Finished difference Result 29 states and 30 transitions. [2018-11-23 10:14:02,633 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 30 transitions. [2018-11-23 10:14:02,634 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:14:02,634 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:14:02,634 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 29 states. [2018-11-23 10:14:02,634 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 29 states. [2018-11-23 10:14:02,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:14:02,637 INFO L93 Difference]: Finished difference Result 29 states and 30 transitions. [2018-11-23 10:14:02,637 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 30 transitions. [2018-11-23 10:14:02,637 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:14:02,638 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:14:02,638 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:14:02,638 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:14:02,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 10:14:02,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 30 transitions. [2018-11-23 10:14:02,640 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 30 transitions. Word has length 24 [2018-11-23 10:14:02,640 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:14:02,641 INFO L480 AbstractCegarLoop]: Abstraction has 29 states and 30 transitions. [2018-11-23 10:14:02,641 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 10:14:02,641 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 30 transitions. [2018-11-23 10:14:02,642 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 10:14:02,642 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:14:02,642 INFO L402 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:14:02,642 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:14:02,642 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:14:02,643 INFO L82 PathProgramCache]: Analyzing trace with hash 126487443, now seen corresponding path program 2 times [2018-11-23 10:14:02,643 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:14:02,643 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:14:02,662 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 10:14:02,726 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 10:14:02,727 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:14:02,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:14:02,745 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:14:03,117 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:14:03,127 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 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 15 treesize of output 3 [2018-11-23 10:14:03,129 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:14:03,131 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:14:03,132 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:14:03,133 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:19, output treesize:3 [2018-11-23 10:14:03,137 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:14:03,138 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#aa~0.base|, |main_~#aa~0.offset|]. (let ((.cse0 (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))))) (and (bvsge .cse0 (_ bv0 32)) (= .cse0 |main_#t~mem3|))) [2018-11-23 10:14:03,138 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (bvsge |main_#t~mem3| (_ bv0 32)) [2018-11-23 10:14:03,210 INFO L256 TraceCheckUtils]: 0: Hoare triple {919#true} call ULTIMATE.init(); {919#true} is VALID [2018-11-23 10:14:03,210 INFO L273 TraceCheckUtils]: 1: Hoare triple {919#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {919#true} is VALID [2018-11-23 10:14:03,211 INFO L273 TraceCheckUtils]: 2: Hoare triple {919#true} assume true; {919#true} is VALID [2018-11-23 10:14:03,211 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {919#true} {919#true} #49#return; {919#true} is VALID [2018-11-23 10:14:03,211 INFO L256 TraceCheckUtils]: 4: Hoare triple {919#true} call #t~ret4 := main(); {919#true} is VALID [2018-11-23 10:14:03,213 INFO L273 TraceCheckUtils]: 5: Hoare triple {919#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {939#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:14:03,213 INFO L273 TraceCheckUtils]: 6: Hoare triple {939#(= main_~a~0 (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {939#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:14:03,214 INFO L273 TraceCheckUtils]: 7: Hoare triple {939#(= main_~a~0 (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {946#(= (_ bv1 32) main_~a~0)} is VALID [2018-11-23 10:14:03,214 INFO L273 TraceCheckUtils]: 8: Hoare triple {946#(= (_ bv1 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {950#(= (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) |main_#t~mem0|)} is VALID [2018-11-23 10:14:03,215 INFO L273 TraceCheckUtils]: 9: Hoare triple {950#(= (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) |main_#t~mem0|)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {954#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:03,215 INFO L273 TraceCheckUtils]: 10: Hoare triple {954#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {954#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:03,216 INFO L273 TraceCheckUtils]: 11: Hoare triple {954#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32))} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {954#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:03,217 INFO L273 TraceCheckUtils]: 12: Hoare triple {954#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32))} havoc ~x~0;~x~0 := 0bv32; {964#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32)) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:14:03,218 INFO L273 TraceCheckUtils]: 13: Hoare triple {964#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32)) (= main_~x~0 (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {964#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32)) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:14:03,235 INFO L256 TraceCheckUtils]: 14: Hoare triple {964#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32)) (= main_~x~0 (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {971#(exists ((|v_main_~#aa~0.offset_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#aa~0.base_BEFORE_CALL_1| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_1| (_ bv4 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:03,236 INFO L273 TraceCheckUtils]: 15: Hoare triple {971#(exists ((|v_main_~#aa~0.offset_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#aa~0.base_BEFORE_CALL_1| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_1| (_ bv4 32))) (_ bv0 32)))} ~cond := #in~cond; {971#(exists ((|v_main_~#aa~0.offset_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#aa~0.base_BEFORE_CALL_1| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_1| (_ bv4 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:03,236 INFO L273 TraceCheckUtils]: 16: Hoare triple {971#(exists ((|v_main_~#aa~0.offset_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#aa~0.base_BEFORE_CALL_1| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_1| (_ bv4 32))) (_ bv0 32)))} assume !(0bv32 == ~cond); {971#(exists ((|v_main_~#aa~0.offset_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#aa~0.base_BEFORE_CALL_1| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_1| (_ bv4 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:03,237 INFO L273 TraceCheckUtils]: 17: Hoare triple {971#(exists ((|v_main_~#aa~0.offset_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#aa~0.base_BEFORE_CALL_1| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_1| (_ bv4 32))) (_ bv0 32)))} assume true; {971#(exists ((|v_main_~#aa~0.offset_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#aa~0.base_BEFORE_CALL_1| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_1| (_ bv4 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:03,239 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {971#(exists ((|v_main_~#aa~0.offset_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#aa~0.base_BEFORE_CALL_1| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_1| (_ bv4 32))) (_ bv0 32)))} {964#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32)) (= main_~x~0 (_ bv0 32)))} #53#return; {964#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32)) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:14:03,240 INFO L273 TraceCheckUtils]: 19: Hoare triple {964#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32)) (= main_~x~0 (_ bv0 32)))} havoc #t~mem3; {964#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32)) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:14:03,242 INFO L273 TraceCheckUtils]: 20: Hoare triple {964#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32)) (= main_~x~0 (_ bv0 32)))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {990#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:14:03,246 INFO L273 TraceCheckUtils]: 21: Hoare triple {990#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {994#(bvsge |main_#t~mem3| (_ bv0 32))} is VALID [2018-11-23 10:14:03,247 INFO L256 TraceCheckUtils]: 22: Hoare triple {994#(bvsge |main_#t~mem3| (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {998#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:14:03,248 INFO L273 TraceCheckUtils]: 23: Hoare triple {998#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {1002#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:14:03,249 INFO L273 TraceCheckUtils]: 24: Hoare triple {1002#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {920#false} is VALID [2018-11-23 10:14:03,249 INFO L273 TraceCheckUtils]: 25: Hoare triple {920#false} assume !false; {920#false} is VALID [2018-11-23 10:14:03,253 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:14:03,253 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:14:07,501 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 22 treesize of output 18 [2018-11-23 10:14:09,523 WARN L670 Elim1Store]: solver failed to check if following equality is implied: (= (bvadd |main_~#aa~0.offset| (_ bv4 32)) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~a~0))) [2018-11-23 10:14:09,525 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:14:09,525 INFO L303 Elim1Store]: Index analysis took 2021 ms [2018-11-23 10:14:09,526 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 20 [2018-11-23 10:14:09,532 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:14:09,535 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:14:09,540 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 10:14:09,540 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:22, output treesize:9 [2018-11-23 10:14:09,547 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:14:09,547 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |main_~#aa~0.base|, |main_~#aa~0.offset|]. (let ((.cse0 (select |#memory_int| |main_~#aa~0.base|))) (or (bvsge (select .cse0 (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32)) (not (bvsge (select .cse0 (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~a~0))) (_ bv0 32))))) [2018-11-23 10:14:09,547 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [|main_~#aa~0.offset|]. (= (bvadd |main_~#aa~0.offset| (_ bv4 32)) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~a~0))) [2018-11-23 10:14:09,669 INFO L273 TraceCheckUtils]: 25: Hoare triple {920#false} assume !false; {920#false} is VALID [2018-11-23 10:14:09,670 INFO L273 TraceCheckUtils]: 24: Hoare triple {1012#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {920#false} is VALID [2018-11-23 10:14:09,671 INFO L273 TraceCheckUtils]: 23: Hoare triple {1016#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {1012#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:14:09,672 INFO L256 TraceCheckUtils]: 22: Hoare triple {994#(bvsge |main_#t~mem3| (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {1016#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:14:09,673 INFO L273 TraceCheckUtils]: 21: Hoare triple {1023#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {994#(bvsge |main_#t~mem3| (_ bv0 32))} is VALID [2018-11-23 10:14:11,704 INFO L273 TraceCheckUtils]: 20: Hoare triple {1027#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1023#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0))) (_ bv0 32))} is UNKNOWN [2018-11-23 10:14:11,705 INFO L273 TraceCheckUtils]: 19: Hoare triple {1027#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} havoc #t~mem3; {1027#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:11,706 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {919#true} {1027#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} #53#return; {1027#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:11,706 INFO L273 TraceCheckUtils]: 17: Hoare triple {919#true} assume true; {919#true} is VALID [2018-11-23 10:14:11,706 INFO L273 TraceCheckUtils]: 16: Hoare triple {919#true} assume !(0bv32 == ~cond); {919#true} is VALID [2018-11-23 10:14:11,706 INFO L273 TraceCheckUtils]: 15: Hoare triple {919#true} ~cond := #in~cond; {919#true} is VALID [2018-11-23 10:14:11,707 INFO L256 TraceCheckUtils]: 14: Hoare triple {1027#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {919#true} is VALID [2018-11-23 10:14:11,707 INFO L273 TraceCheckUtils]: 13: Hoare triple {1027#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {1027#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:11,708 INFO L273 TraceCheckUtils]: 12: Hoare triple {954#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32))} havoc ~x~0;~x~0 := 0bv32; {1027#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:11,709 INFO L273 TraceCheckUtils]: 11: Hoare triple {954#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32))} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {954#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:11,722 INFO L273 TraceCheckUtils]: 10: Hoare triple {954#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {954#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:11,723 INFO L273 TraceCheckUtils]: 9: Hoare triple {1061#(or (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32)) (not (bvsge |main_#t~mem0| (_ bv0 32))))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {954#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:11,724 INFO L273 TraceCheckUtils]: 8: Hoare triple {1065#(= (_ bv4 32) (bvmul (_ bv4 32) main_~a~0))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {1061#(or (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv4 32))) (_ bv0 32)) (not (bvsge |main_#t~mem0| (_ bv0 32))))} is VALID [2018-11-23 10:14:11,726 INFO L273 TraceCheckUtils]: 7: Hoare triple {1069#(= (bvmul (_ bv4 32) main_~a~0) (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {1065#(= (_ bv4 32) (bvmul (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:14:11,727 INFO L273 TraceCheckUtils]: 6: Hoare triple {1069#(= (bvmul (_ bv4 32) main_~a~0) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {1069#(= (bvmul (_ bv4 32) main_~a~0) (_ bv0 32))} is VALID [2018-11-23 10:14:11,728 INFO L273 TraceCheckUtils]: 5: Hoare triple {919#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {1069#(= (bvmul (_ bv4 32) main_~a~0) (_ bv0 32))} is VALID [2018-11-23 10:14:11,729 INFO L256 TraceCheckUtils]: 4: Hoare triple {919#true} call #t~ret4 := main(); {919#true} is VALID [2018-11-23 10:14:11,729 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {919#true} {919#true} #49#return; {919#true} is VALID [2018-11-23 10:14:11,729 INFO L273 TraceCheckUtils]: 2: Hoare triple {919#true} assume true; {919#true} is VALID [2018-11-23 10:14:11,730 INFO L273 TraceCheckUtils]: 1: Hoare triple {919#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {919#true} is VALID [2018-11-23 10:14:11,730 INFO L256 TraceCheckUtils]: 0: Hoare triple {919#true} call ULTIMATE.init(); {919#true} is VALID [2018-11-23 10:14:11,732 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:14:11,733 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:14:11,734 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 19 [2018-11-23 10:14:11,734 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 26 [2018-11-23 10:14:11,735 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:14:11,735 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-23 10:14:17,902 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 41 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2018-11-23 10:14:17,902 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-23 10:14:17,903 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-23 10:14:17,903 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=290, Unknown=2, NotChecked=0, Total=342 [2018-11-23 10:14:17,903 INFO L87 Difference]: Start difference. First operand 29 states and 30 transitions. Second operand 19 states. [2018-11-23 10:14:24,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:14:24,487 INFO L93 Difference]: Finished difference Result 41 states and 42 transitions. [2018-11-23 10:14:24,487 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 10:14:24,487 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 26 [2018-11-23 10:14:24,487 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:14:24,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 10:14:24,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 39 transitions. [2018-11-23 10:14:24,491 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 10:14:24,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 39 transitions. [2018-11-23 10:14:24,493 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 39 transitions. [2018-11-23 10:14:26,763 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 38 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2018-11-23 10:14:26,764 INFO L225 Difference]: With dead ends: 41 [2018-11-23 10:14:26,765 INFO L226 Difference]: Without dead ends: 39 [2018-11-23 10:14:26,765 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 33 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 72 ImplicationChecksByTransitivity, 4.7s TimeCoverageRelationStatistics Valid=82, Invalid=468, Unknown=2, NotChecked=0, Total=552 [2018-11-23 10:14:26,766 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2018-11-23 10:14:26,797 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 37. [2018-11-23 10:14:26,797 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:14:26,797 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand 37 states. [2018-11-23 10:14:26,798 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 37 states. [2018-11-23 10:14:26,798 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 37 states. [2018-11-23 10:14:26,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:14:26,801 INFO L93 Difference]: Finished difference Result 39 states and 40 transitions. [2018-11-23 10:14:26,802 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 40 transitions. [2018-11-23 10:14:26,802 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:14:26,803 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:14:26,803 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 39 states. [2018-11-23 10:14:26,803 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 39 states. [2018-11-23 10:14:26,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:14:26,806 INFO L93 Difference]: Finished difference Result 39 states and 40 transitions. [2018-11-23 10:14:26,806 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 40 transitions. [2018-11-23 10:14:26,806 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:14:26,807 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:14:26,807 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:14:26,807 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:14:26,807 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-23 10:14:26,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 38 transitions. [2018-11-23 10:14:26,810 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 38 transitions. Word has length 26 [2018-11-23 10:14:26,810 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:14:26,810 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 38 transitions. [2018-11-23 10:14:26,810 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-23 10:14:26,810 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 38 transitions. [2018-11-23 10:14:26,811 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-23 10:14:26,812 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:14:26,812 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:14:26,812 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:14:26,812 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:14:26,813 INFO L82 PathProgramCache]: Analyzing trace with hash 1385042634, now seen corresponding path program 3 times [2018-11-23 10:14:26,813 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:14:26,813 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 7 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 7 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:14:26,864 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2018-11-23 10:14:26,936 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-11-23 10:14:26,937 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:14:26,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:14:26,956 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:14:27,133 INFO L256 TraceCheckUtils]: 0: Hoare triple {1291#true} call ULTIMATE.init(); {1291#true} is VALID [2018-11-23 10:14:27,134 INFO L273 TraceCheckUtils]: 1: Hoare triple {1291#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1291#true} is VALID [2018-11-23 10:14:27,134 INFO L273 TraceCheckUtils]: 2: Hoare triple {1291#true} assume true; {1291#true} is VALID [2018-11-23 10:14:27,134 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1291#true} {1291#true} #49#return; {1291#true} is VALID [2018-11-23 10:14:27,135 INFO L256 TraceCheckUtils]: 4: Hoare triple {1291#true} call #t~ret4 := main(); {1291#true} is VALID [2018-11-23 10:14:27,153 INFO L273 TraceCheckUtils]: 5: Hoare triple {1291#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {1311#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:14:27,169 INFO L273 TraceCheckUtils]: 6: Hoare triple {1311#(= main_~a~0 (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {1311#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:14:27,172 INFO L273 TraceCheckUtils]: 7: Hoare triple {1311#(= main_~a~0 (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {1318#(= (_ bv1 32) main_~a~0)} is VALID [2018-11-23 10:14:27,173 INFO L273 TraceCheckUtils]: 8: Hoare triple {1318#(= (_ bv1 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {1318#(= (_ bv1 32) main_~a~0)} is VALID [2018-11-23 10:14:27,175 INFO L273 TraceCheckUtils]: 9: Hoare triple {1318#(= (_ bv1 32) main_~a~0)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {1325#(= (_ bv2 32) main_~a~0)} is VALID [2018-11-23 10:14:27,177 INFO L273 TraceCheckUtils]: 10: Hoare triple {1325#(= (_ bv2 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {1325#(= (_ bv2 32) main_~a~0)} is VALID [2018-11-23 10:14:27,177 INFO L273 TraceCheckUtils]: 11: Hoare triple {1325#(= (_ bv2 32) main_~a~0)} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {1325#(= (_ bv2 32) main_~a~0)} is VALID [2018-11-23 10:14:27,181 INFO L273 TraceCheckUtils]: 12: Hoare triple {1325#(= (_ bv2 32) main_~a~0)} havoc ~x~0;~x~0 := 0bv32; {1335#(and (= (_ bv2 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:14:27,182 INFO L273 TraceCheckUtils]: 13: Hoare triple {1335#(and (= (_ bv2 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {1335#(and (= (_ bv2 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:14:27,182 INFO L256 TraceCheckUtils]: 14: Hoare triple {1335#(and (= (_ bv2 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {1291#true} is VALID [2018-11-23 10:14:27,182 INFO L273 TraceCheckUtils]: 15: Hoare triple {1291#true} ~cond := #in~cond; {1291#true} is VALID [2018-11-23 10:14:27,182 INFO L273 TraceCheckUtils]: 16: Hoare triple {1291#true} assume !(0bv32 == ~cond); {1291#true} is VALID [2018-11-23 10:14:27,183 INFO L273 TraceCheckUtils]: 17: Hoare triple {1291#true} assume true; {1291#true} is VALID [2018-11-23 10:14:27,186 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {1291#true} {1335#(and (= (_ bv2 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} #53#return; {1335#(and (= (_ bv2 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:14:27,186 INFO L273 TraceCheckUtils]: 19: Hoare triple {1335#(and (= (_ bv2 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} havoc #t~mem3; {1335#(and (= (_ bv2 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:14:27,187 INFO L273 TraceCheckUtils]: 20: Hoare triple {1335#(and (= (_ bv2 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1360#(and (= (_ bv2 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:14:27,188 INFO L273 TraceCheckUtils]: 21: Hoare triple {1360#(and (= (_ bv2 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {1360#(and (= (_ bv2 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:14:27,188 INFO L256 TraceCheckUtils]: 22: Hoare triple {1360#(and (= (_ bv2 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {1291#true} is VALID [2018-11-23 10:14:27,189 INFO L273 TraceCheckUtils]: 23: Hoare triple {1291#true} ~cond := #in~cond; {1291#true} is VALID [2018-11-23 10:14:27,189 INFO L273 TraceCheckUtils]: 24: Hoare triple {1291#true} assume !(0bv32 == ~cond); {1291#true} is VALID [2018-11-23 10:14:27,189 INFO L273 TraceCheckUtils]: 25: Hoare triple {1291#true} assume true; {1291#true} is VALID [2018-11-23 10:14:27,191 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1291#true} {1360#(and (= (_ bv2 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} #53#return; {1360#(and (= (_ bv2 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:14:27,192 INFO L273 TraceCheckUtils]: 27: Hoare triple {1360#(and (= (_ bv2 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} havoc #t~mem3; {1360#(and (= (_ bv2 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:14:27,192 INFO L273 TraceCheckUtils]: 28: Hoare triple {1360#(and (= (_ bv2 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1385#(and (= (_ bv2 32) main_~x~0) (= (_ bv2 32) main_~a~0))} is VALID [2018-11-23 10:14:27,196 INFO L273 TraceCheckUtils]: 29: Hoare triple {1385#(and (= (_ bv2 32) main_~x~0) (= (_ bv2 32) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {1292#false} is VALID [2018-11-23 10:14:27,196 INFO L256 TraceCheckUtils]: 30: Hoare triple {1292#false} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {1292#false} is VALID [2018-11-23 10:14:27,196 INFO L273 TraceCheckUtils]: 31: Hoare triple {1292#false} ~cond := #in~cond; {1292#false} is VALID [2018-11-23 10:14:27,197 INFO L273 TraceCheckUtils]: 32: Hoare triple {1292#false} assume 0bv32 == ~cond; {1292#false} is VALID [2018-11-23 10:14:27,197 INFO L273 TraceCheckUtils]: 33: Hoare triple {1292#false} assume !false; {1292#false} is VALID [2018-11-23 10:14:27,200 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 12 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 10:14:27,200 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:14:27,560 INFO L273 TraceCheckUtils]: 33: Hoare triple {1292#false} assume !false; {1292#false} is VALID [2018-11-23 10:14:27,560 INFO L273 TraceCheckUtils]: 32: Hoare triple {1292#false} assume 0bv32 == ~cond; {1292#false} is VALID [2018-11-23 10:14:27,560 INFO L273 TraceCheckUtils]: 31: Hoare triple {1292#false} ~cond := #in~cond; {1292#false} is VALID [2018-11-23 10:14:27,560 INFO L256 TraceCheckUtils]: 30: Hoare triple {1292#false} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {1292#false} is VALID [2018-11-23 10:14:27,561 INFO L273 TraceCheckUtils]: 29: Hoare triple {1413#(not (bvslt main_~x~0 main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {1292#false} is VALID [2018-11-23 10:14:27,562 INFO L273 TraceCheckUtils]: 28: Hoare triple {1417#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1413#(not (bvslt main_~x~0 main_~a~0))} is VALID [2018-11-23 10:14:27,563 INFO L273 TraceCheckUtils]: 27: Hoare triple {1417#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} havoc #t~mem3; {1417#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} is VALID [2018-11-23 10:14:27,563 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1291#true} {1417#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} #53#return; {1417#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} is VALID [2018-11-23 10:14:27,564 INFO L273 TraceCheckUtils]: 25: Hoare triple {1291#true} assume true; {1291#true} is VALID [2018-11-23 10:14:27,564 INFO L273 TraceCheckUtils]: 24: Hoare triple {1291#true} assume !(0bv32 == ~cond); {1291#true} is VALID [2018-11-23 10:14:27,564 INFO L273 TraceCheckUtils]: 23: Hoare triple {1291#true} ~cond := #in~cond; {1291#true} is VALID [2018-11-23 10:14:27,565 INFO L256 TraceCheckUtils]: 22: Hoare triple {1417#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {1291#true} is VALID [2018-11-23 10:14:27,570 INFO L273 TraceCheckUtils]: 21: Hoare triple {1417#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {1417#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} is VALID [2018-11-23 10:14:27,591 INFO L273 TraceCheckUtils]: 20: Hoare triple {1442#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1417#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} is VALID [2018-11-23 10:14:27,592 INFO L273 TraceCheckUtils]: 19: Hoare triple {1442#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} havoc #t~mem3; {1442#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} is VALID [2018-11-23 10:14:27,593 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {1291#true} {1442#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} #53#return; {1442#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} is VALID [2018-11-23 10:14:27,593 INFO L273 TraceCheckUtils]: 17: Hoare triple {1291#true} assume true; {1291#true} is VALID [2018-11-23 10:14:27,593 INFO L273 TraceCheckUtils]: 16: Hoare triple {1291#true} assume !(0bv32 == ~cond); {1291#true} is VALID [2018-11-23 10:14:27,593 INFO L273 TraceCheckUtils]: 15: Hoare triple {1291#true} ~cond := #in~cond; {1291#true} is VALID [2018-11-23 10:14:27,593 INFO L256 TraceCheckUtils]: 14: Hoare triple {1442#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {1291#true} is VALID [2018-11-23 10:14:27,594 INFO L273 TraceCheckUtils]: 13: Hoare triple {1442#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {1442#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} is VALID [2018-11-23 10:14:27,594 INFO L273 TraceCheckUtils]: 12: Hoare triple {1467#(not (bvslt (_ bv2 32) main_~a~0))} havoc ~x~0;~x~0 := 0bv32; {1442#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} is VALID [2018-11-23 10:14:27,595 INFO L273 TraceCheckUtils]: 11: Hoare triple {1467#(not (bvslt (_ bv2 32) main_~a~0))} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {1467#(not (bvslt (_ bv2 32) main_~a~0))} is VALID [2018-11-23 10:14:27,595 INFO L273 TraceCheckUtils]: 10: Hoare triple {1467#(not (bvslt (_ bv2 32) main_~a~0))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {1467#(not (bvslt (_ bv2 32) main_~a~0))} is VALID [2018-11-23 10:14:27,596 INFO L273 TraceCheckUtils]: 9: Hoare triple {1477#(not (bvslt (_ bv2 32) (bvadd main_~a~0 (_ bv1 32))))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {1467#(not (bvslt (_ bv2 32) main_~a~0))} is VALID [2018-11-23 10:14:27,596 INFO L273 TraceCheckUtils]: 8: Hoare triple {1477#(not (bvslt (_ bv2 32) (bvadd main_~a~0 (_ bv1 32))))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {1477#(not (bvslt (_ bv2 32) (bvadd main_~a~0 (_ bv1 32))))} is VALID [2018-11-23 10:14:27,602 INFO L273 TraceCheckUtils]: 7: Hoare triple {1484#(not (bvslt (_ bv2 32) (bvadd main_~a~0 (_ bv2 32))))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {1477#(not (bvslt (_ bv2 32) (bvadd main_~a~0 (_ bv1 32))))} is VALID [2018-11-23 10:14:27,602 INFO L273 TraceCheckUtils]: 6: Hoare triple {1484#(not (bvslt (_ bv2 32) (bvadd main_~a~0 (_ bv2 32))))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {1484#(not (bvslt (_ bv2 32) (bvadd main_~a~0 (_ bv2 32))))} is VALID [2018-11-23 10:14:27,603 INFO L273 TraceCheckUtils]: 5: Hoare triple {1291#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {1484#(not (bvslt (_ bv2 32) (bvadd main_~a~0 (_ bv2 32))))} is VALID [2018-11-23 10:14:27,603 INFO L256 TraceCheckUtils]: 4: Hoare triple {1291#true} call #t~ret4 := main(); {1291#true} is VALID [2018-11-23 10:14:27,604 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1291#true} {1291#true} #49#return; {1291#true} is VALID [2018-11-23 10:14:27,604 INFO L273 TraceCheckUtils]: 2: Hoare triple {1291#true} assume true; {1291#true} is VALID [2018-11-23 10:14:27,604 INFO L273 TraceCheckUtils]: 1: Hoare triple {1291#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1291#true} is VALID [2018-11-23 10:14:27,604 INFO L256 TraceCheckUtils]: 0: Hoare triple {1291#true} call ULTIMATE.init(); {1291#true} is VALID [2018-11-23 10:14:27,606 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 12 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 10:14:27,607 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:14:27,607 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2018-11-23 10:14:27,608 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 34 [2018-11-23 10:14:27,608 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:14:27,609 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-23 10:14:27,714 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:14:27,714 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 10:14:27,714 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 10:14:27,715 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2018-11-23 10:14:27,715 INFO L87 Difference]: Start difference. First operand 37 states and 38 transitions. Second operand 14 states. [2018-11-23 10:14:28,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:14:28,398 INFO L93 Difference]: Finished difference Result 59 states and 63 transitions. [2018-11-23 10:14:28,399 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 10:14:28,399 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 34 [2018-11-23 10:14:28,399 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:14:28,399 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 10:14:28,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 49 transitions. [2018-11-23 10:14:28,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 10:14:28,404 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 49 transitions. [2018-11-23 10:14:28,404 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 49 transitions. [2018-11-23 10:14:28,472 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:14:28,474 INFO L225 Difference]: With dead ends: 59 [2018-11-23 10:14:28,474 INFO L226 Difference]: Without dead ends: 39 [2018-11-23 10:14:28,475 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 55 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2018-11-23 10:14:28,475 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2018-11-23 10:14:28,504 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 39. [2018-11-23 10:14:28,504 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:14:28,504 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand 39 states. [2018-11-23 10:14:28,504 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 39 states. [2018-11-23 10:14:28,504 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 39 states. [2018-11-23 10:14:28,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:14:28,508 INFO L93 Difference]: Finished difference Result 39 states and 40 transitions. [2018-11-23 10:14:28,508 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 40 transitions. [2018-11-23 10:14:28,509 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:14:28,509 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:14:28,509 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 39 states. [2018-11-23 10:14:28,509 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 39 states. [2018-11-23 10:14:28,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:14:28,512 INFO L93 Difference]: Finished difference Result 39 states and 40 transitions. [2018-11-23 10:14:28,512 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 40 transitions. [2018-11-23 10:14:28,512 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:14:28,512 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:14:28,512 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:14:28,513 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:14:28,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-23 10:14:28,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 40 transitions. [2018-11-23 10:14:28,515 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 40 transitions. Word has length 34 [2018-11-23 10:14:28,515 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:14:28,515 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 40 transitions. [2018-11-23 10:14:28,515 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 10:14:28,515 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 40 transitions. [2018-11-23 10:14:28,516 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2018-11-23 10:14:28,516 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:14:28,517 INFO L402 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:14:28,517 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:14:28,517 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:14:28,517 INFO L82 PathProgramCache]: Analyzing trace with hash -1542742641, now seen corresponding path program 4 times [2018-11-23 10:14:28,518 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:14:28,518 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 8 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 8 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:14:28,543 INFO L101 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 10:14:28,593 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 10:14:28,594 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:14:28,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:14:28,613 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:14:29,062 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:14:29,070 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 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 15 treesize of output 3 [2018-11-23 10:14:29,070 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:14:29,072 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:14:29,074 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:14:29,074 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:19, output treesize:3 [2018-11-23 10:14:29,079 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:14:29,080 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#aa~0.base|, |main_~#aa~0.offset|]. (let ((.cse0 (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))))) (and (= |main_#t~mem3| .cse0) (bvsge .cse0 (_ bv0 32)))) [2018-11-23 10:14:29,080 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (bvsge |main_#t~mem3| (_ bv0 32)) [2018-11-23 10:14:29,169 INFO L256 TraceCheckUtils]: 0: Hoare triple {1726#true} call ULTIMATE.init(); {1726#true} is VALID [2018-11-23 10:14:29,169 INFO L273 TraceCheckUtils]: 1: Hoare triple {1726#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1726#true} is VALID [2018-11-23 10:14:29,170 INFO L273 TraceCheckUtils]: 2: Hoare triple {1726#true} assume true; {1726#true} is VALID [2018-11-23 10:14:29,170 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1726#true} {1726#true} #49#return; {1726#true} is VALID [2018-11-23 10:14:29,170 INFO L256 TraceCheckUtils]: 4: Hoare triple {1726#true} call #t~ret4 := main(); {1726#true} is VALID [2018-11-23 10:14:29,171 INFO L273 TraceCheckUtils]: 5: Hoare triple {1726#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {1746#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:14:29,171 INFO L273 TraceCheckUtils]: 6: Hoare triple {1746#(= main_~a~0 (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {1746#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:14:29,171 INFO L273 TraceCheckUtils]: 7: Hoare triple {1746#(= main_~a~0 (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {1753#(= (_ bv1 32) main_~a~0)} is VALID [2018-11-23 10:14:29,172 INFO L273 TraceCheckUtils]: 8: Hoare triple {1753#(= (_ bv1 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {1753#(= (_ bv1 32) main_~a~0)} is VALID [2018-11-23 10:14:29,172 INFO L273 TraceCheckUtils]: 9: Hoare triple {1753#(= (_ bv1 32) main_~a~0)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {1760#(= (_ bv2 32) main_~a~0)} is VALID [2018-11-23 10:14:29,173 INFO L273 TraceCheckUtils]: 10: Hoare triple {1760#(= (_ bv2 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {1764#(= |main_#t~mem0| (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))))} is VALID [2018-11-23 10:14:29,173 INFO L273 TraceCheckUtils]: 11: Hoare triple {1764#(= |main_#t~mem0| (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {1768#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:29,174 INFO L273 TraceCheckUtils]: 12: Hoare triple {1768#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {1768#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:29,174 INFO L273 TraceCheckUtils]: 13: Hoare triple {1768#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32))} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {1768#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:29,174 INFO L273 TraceCheckUtils]: 14: Hoare triple {1768#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32))} havoc ~x~0;~x~0 := 0bv32; {1778#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:29,175 INFO L273 TraceCheckUtils]: 15: Hoare triple {1778#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {1778#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:29,178 INFO L256 TraceCheckUtils]: 16: Hoare triple {1778#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {1785#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_3| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_3|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_3| (_ bv8 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:29,178 INFO L273 TraceCheckUtils]: 17: Hoare triple {1785#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_3| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_3|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_3| (_ bv8 32))) (_ bv0 32)))} ~cond := #in~cond; {1785#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_3| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_3|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_3| (_ bv8 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:29,179 INFO L273 TraceCheckUtils]: 18: Hoare triple {1785#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_3| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_3|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_3| (_ bv8 32))) (_ bv0 32)))} assume !(0bv32 == ~cond); {1785#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_3| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_3|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_3| (_ bv8 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:29,180 INFO L273 TraceCheckUtils]: 19: Hoare triple {1785#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_3| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_3|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_3| (_ bv8 32))) (_ bv0 32)))} assume true; {1785#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_3| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_3|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_3| (_ bv8 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:29,180 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {1785#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_3| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_3|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_3| (_ bv8 32))) (_ bv0 32)))} {1778#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} #53#return; {1778#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:29,181 INFO L273 TraceCheckUtils]: 21: Hoare triple {1778#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} havoc #t~mem3; {1778#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:29,183 INFO L273 TraceCheckUtils]: 22: Hoare triple {1778#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1804#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:29,184 INFO L273 TraceCheckUtils]: 23: Hoare triple {1804#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {1804#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:29,186 INFO L256 TraceCheckUtils]: 24: Hoare triple {1804#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {1785#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_3| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_3|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_3| (_ bv8 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:29,186 INFO L273 TraceCheckUtils]: 25: Hoare triple {1785#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_3| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_3|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_3| (_ bv8 32))) (_ bv0 32)))} ~cond := #in~cond; {1785#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_3| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_3|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_3| (_ bv8 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:29,188 INFO L273 TraceCheckUtils]: 26: Hoare triple {1785#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_3| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_3|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_3| (_ bv8 32))) (_ bv0 32)))} assume !(0bv32 == ~cond); {1785#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_3| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_3|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_3| (_ bv8 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:29,190 INFO L273 TraceCheckUtils]: 27: Hoare triple {1785#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_3| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_3|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_3| (_ bv8 32))) (_ bv0 32)))} assume true; {1785#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_3| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_3|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_3| (_ bv8 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:29,198 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1785#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_3| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_3|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_3| (_ bv8 32))) (_ bv0 32)))} {1804#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} #53#return; {1804#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:29,200 INFO L273 TraceCheckUtils]: 29: Hoare triple {1804#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} havoc #t~mem3; {1804#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:29,200 INFO L273 TraceCheckUtils]: 30: Hoare triple {1804#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1829#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:29,201 INFO L273 TraceCheckUtils]: 31: Hoare triple {1829#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {1833#(bvsge |main_#t~mem3| (_ bv0 32))} is VALID [2018-11-23 10:14:29,202 INFO L256 TraceCheckUtils]: 32: Hoare triple {1833#(bvsge |main_#t~mem3| (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {1837#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:14:29,202 INFO L273 TraceCheckUtils]: 33: Hoare triple {1837#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {1841#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:14:29,203 INFO L273 TraceCheckUtils]: 34: Hoare triple {1841#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {1727#false} is VALID [2018-11-23 10:14:29,203 INFO L273 TraceCheckUtils]: 35: Hoare triple {1727#false} assume !false; {1727#false} is VALID [2018-11-23 10:14:29,208 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 0 proven. 24 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 10:14:29,209 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:14:35,668 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 22 treesize of output 18 [2018-11-23 10:14:37,684 WARN L670 Elim1Store]: solver failed to check if following equality is implied: (= (bvadd |main_~#aa~0.offset| (_ bv8 32)) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~a~0))) [2018-11-23 10:14:37,686 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:14:37,686 INFO L303 Elim1Store]: Index analysis took 2015 ms [2018-11-23 10:14:37,687 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 20 [2018-11-23 10:14:37,695 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:14:37,697 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:14:37,701 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 10:14:37,701 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:22, output treesize:9 [2018-11-23 10:14:37,716 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:14:37,716 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |main_~#aa~0.base|, |main_~#aa~0.offset|]. (let ((.cse0 (select |#memory_int| |main_~#aa~0.base|))) (or (bvsge (select .cse0 (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)) (not (bvsge (select .cse0 (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~a~0))) (_ bv0 32))))) [2018-11-23 10:14:37,716 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [|main_~#aa~0.offset|]. (= (bvadd |main_~#aa~0.offset| (_ bv8 32)) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~a~0))) [2018-11-23 10:14:37,867 INFO L273 TraceCheckUtils]: 35: Hoare triple {1727#false} assume !false; {1727#false} is VALID [2018-11-23 10:14:37,868 INFO L273 TraceCheckUtils]: 34: Hoare triple {1851#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {1727#false} is VALID [2018-11-23 10:14:37,869 INFO L273 TraceCheckUtils]: 33: Hoare triple {1855#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {1851#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:14:37,870 INFO L256 TraceCheckUtils]: 32: Hoare triple {1833#(bvsge |main_#t~mem3| (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {1855#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:14:37,871 INFO L273 TraceCheckUtils]: 31: Hoare triple {1862#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {1833#(bvsge |main_#t~mem3| (_ bv0 32))} is VALID [2018-11-23 10:14:39,885 INFO L273 TraceCheckUtils]: 30: Hoare triple {1866#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1862#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0))) (_ bv0 32))} is UNKNOWN [2018-11-23 10:14:39,886 INFO L273 TraceCheckUtils]: 29: Hoare triple {1866#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} havoc #t~mem3; {1866#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:39,887 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1726#true} {1866#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} #53#return; {1866#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:39,887 INFO L273 TraceCheckUtils]: 27: Hoare triple {1726#true} assume true; {1726#true} is VALID [2018-11-23 10:14:39,888 INFO L273 TraceCheckUtils]: 26: Hoare triple {1726#true} assume !(0bv32 == ~cond); {1726#true} is VALID [2018-11-23 10:14:39,888 INFO L273 TraceCheckUtils]: 25: Hoare triple {1726#true} ~cond := #in~cond; {1726#true} is VALID [2018-11-23 10:14:39,888 INFO L256 TraceCheckUtils]: 24: Hoare triple {1866#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {1726#true} is VALID [2018-11-23 10:14:39,888 INFO L273 TraceCheckUtils]: 23: Hoare triple {1866#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {1866#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:41,915 INFO L273 TraceCheckUtils]: 22: Hoare triple {1891#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1866#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} is UNKNOWN [2018-11-23 10:14:41,916 INFO L273 TraceCheckUtils]: 21: Hoare triple {1891#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} havoc #t~mem3; {1891#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:41,917 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {1726#true} {1891#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} #53#return; {1891#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:41,917 INFO L273 TraceCheckUtils]: 19: Hoare triple {1726#true} assume true; {1726#true} is VALID [2018-11-23 10:14:41,917 INFO L273 TraceCheckUtils]: 18: Hoare triple {1726#true} assume !(0bv32 == ~cond); {1726#true} is VALID [2018-11-23 10:14:41,917 INFO L273 TraceCheckUtils]: 17: Hoare triple {1726#true} ~cond := #in~cond; {1726#true} is VALID [2018-11-23 10:14:41,918 INFO L256 TraceCheckUtils]: 16: Hoare triple {1891#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {1726#true} is VALID [2018-11-23 10:14:41,918 INFO L273 TraceCheckUtils]: 15: Hoare triple {1891#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {1891#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:41,919 INFO L273 TraceCheckUtils]: 14: Hoare triple {1768#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32))} havoc ~x~0;~x~0 := 0bv32; {1891#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:41,919 INFO L273 TraceCheckUtils]: 13: Hoare triple {1768#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32))} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {1768#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:41,920 INFO L273 TraceCheckUtils]: 12: Hoare triple {1768#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {1768#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:41,920 INFO L273 TraceCheckUtils]: 11: Hoare triple {1925#(or (not (bvsge |main_#t~mem0| (_ bv0 32))) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {1768#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32))} is VALID [2018-11-23 10:14:41,921 INFO L273 TraceCheckUtils]: 10: Hoare triple {1929#(= (_ bv8 32) (bvmul (_ bv4 32) main_~a~0))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {1925#(or (not (bvsge |main_#t~mem0| (_ bv0 32))) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv8 32))) (_ bv0 32)))} is VALID [2018-11-23 10:14:41,923 INFO L273 TraceCheckUtils]: 9: Hoare triple {1933#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967292 32)) (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {1929#(= (_ bv8 32) (bvmul (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:14:41,923 INFO L273 TraceCheckUtils]: 8: Hoare triple {1933#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967292 32)) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {1933#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967292 32)) (_ bv0 32))} is VALID [2018-11-23 10:14:41,932 INFO L273 TraceCheckUtils]: 7: Hoare triple {1940#(= (bvmul (_ bv4 32) main_~a~0) (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {1933#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967292 32)) (_ bv0 32))} is VALID [2018-11-23 10:14:41,933 INFO L273 TraceCheckUtils]: 6: Hoare triple {1940#(= (bvmul (_ bv4 32) main_~a~0) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {1940#(= (bvmul (_ bv4 32) main_~a~0) (_ bv0 32))} is VALID [2018-11-23 10:14:41,934 INFO L273 TraceCheckUtils]: 5: Hoare triple {1726#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {1940#(= (bvmul (_ bv4 32) main_~a~0) (_ bv0 32))} is VALID [2018-11-23 10:14:41,934 INFO L256 TraceCheckUtils]: 4: Hoare triple {1726#true} call #t~ret4 := main(); {1726#true} is VALID [2018-11-23 10:14:41,934 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1726#true} {1726#true} #49#return; {1726#true} is VALID [2018-11-23 10:14:41,935 INFO L273 TraceCheckUtils]: 2: Hoare triple {1726#true} assume true; {1726#true} is VALID [2018-11-23 10:14:41,935 INFO L273 TraceCheckUtils]: 1: Hoare triple {1726#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1726#true} is VALID [2018-11-23 10:14:41,935 INFO L256 TraceCheckUtils]: 0: Hoare triple {1726#true} call ULTIMATE.init(); {1726#true} is VALID [2018-11-23 10:14:41,938 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 5 proven. 19 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 10:14:41,943 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:14:41,943 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 23 [2018-11-23 10:14:41,944 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 36 [2018-11-23 10:14:41,944 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:14:41,947 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-23 10:14:50,106 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 54 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2018-11-23 10:14:50,107 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-23 10:14:50,107 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-23 10:14:50,108 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=440, Unknown=3, NotChecked=0, Total=506 [2018-11-23 10:14:50,108 INFO L87 Difference]: Start difference. First operand 39 states and 40 transitions. Second operand 23 states. [2018-11-23 10:15:00,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:15:00,202 INFO L93 Difference]: Finished difference Result 51 states and 52 transitions. [2018-11-23 10:15:00,202 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 10:15:00,202 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 36 [2018-11-23 10:15:00,202 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:15:00,202 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 10:15:00,205 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 46 transitions. [2018-11-23 10:15:00,205 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 10:15:00,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 46 transitions. [2018-11-23 10:15:00,208 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 46 transitions. [2018-11-23 10:15:02,394 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 45 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2018-11-23 10:15:02,396 INFO L225 Difference]: With dead ends: 51 [2018-11-23 10:15:02,397 INFO L226 Difference]: Without dead ends: 49 [2018-11-23 10:15:02,398 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 47 SyntacticMatches, 3 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 117 ImplicationChecksByTransitivity, 7.1s TimeCoverageRelationStatistics Valid=95, Invalid=658, Unknown=3, NotChecked=0, Total=756 [2018-11-23 10:15:02,398 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2018-11-23 10:15:02,447 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 47. [2018-11-23 10:15:02,448 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:15:02,448 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand 47 states. [2018-11-23 10:15:02,448 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 47 states. [2018-11-23 10:15:02,448 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 47 states. [2018-11-23 10:15:02,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:15:02,452 INFO L93 Difference]: Finished difference Result 49 states and 50 transitions. [2018-11-23 10:15:02,452 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 50 transitions. [2018-11-23 10:15:02,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:15:02,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:15:02,453 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 49 states. [2018-11-23 10:15:02,453 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 49 states. [2018-11-23 10:15:02,455 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:15:02,455 INFO L93 Difference]: Finished difference Result 49 states and 50 transitions. [2018-11-23 10:15:02,455 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 50 transitions. [2018-11-23 10:15:02,456 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:15:02,456 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:15:02,456 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:15:02,456 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:15:02,456 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 47 states. [2018-11-23 10:15:02,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 48 transitions. [2018-11-23 10:15:02,459 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 48 transitions. Word has length 36 [2018-11-23 10:15:02,459 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:15:02,459 INFO L480 AbstractCegarLoop]: Abstraction has 47 states and 48 transitions. [2018-11-23 10:15:02,459 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-23 10:15:02,459 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 48 transitions. [2018-11-23 10:15:02,460 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-23 10:15:02,460 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:15:02,460 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:15:02,461 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:15:02,461 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:15:02,461 INFO L82 PathProgramCache]: Analyzing trace with hash -1806964538, now seen corresponding path program 5 times [2018-11-23 10:15:02,461 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:15:02,461 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 9 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 9 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:15:02,489 INFO L101 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2018-11-23 10:15:02,596 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) [2018-11-23 10:15:02,597 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:15:02,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:15:02,613 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:15:02,837 INFO L256 TraceCheckUtils]: 0: Hoare triple {2210#true} call ULTIMATE.init(); {2210#true} is VALID [2018-11-23 10:15:02,837 INFO L273 TraceCheckUtils]: 1: Hoare triple {2210#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2210#true} is VALID [2018-11-23 10:15:02,837 INFO L273 TraceCheckUtils]: 2: Hoare triple {2210#true} assume true; {2210#true} is VALID [2018-11-23 10:15:02,838 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2210#true} {2210#true} #49#return; {2210#true} is VALID [2018-11-23 10:15:02,838 INFO L256 TraceCheckUtils]: 4: Hoare triple {2210#true} call #t~ret4 := main(); {2210#true} is VALID [2018-11-23 10:15:02,838 INFO L273 TraceCheckUtils]: 5: Hoare triple {2210#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {2230#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:15:02,838 INFO L273 TraceCheckUtils]: 6: Hoare triple {2230#(= main_~a~0 (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {2230#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:15:02,839 INFO L273 TraceCheckUtils]: 7: Hoare triple {2230#(= main_~a~0 (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2237#(= (_ bv1 32) main_~a~0)} is VALID [2018-11-23 10:15:02,840 INFO L273 TraceCheckUtils]: 8: Hoare triple {2237#(= (_ bv1 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {2237#(= (_ bv1 32) main_~a~0)} is VALID [2018-11-23 10:15:02,841 INFO L273 TraceCheckUtils]: 9: Hoare triple {2237#(= (_ bv1 32) main_~a~0)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2244#(= (_ bv2 32) main_~a~0)} is VALID [2018-11-23 10:15:02,841 INFO L273 TraceCheckUtils]: 10: Hoare triple {2244#(= (_ bv2 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {2244#(= (_ bv2 32) main_~a~0)} is VALID [2018-11-23 10:15:02,842 INFO L273 TraceCheckUtils]: 11: Hoare triple {2244#(= (_ bv2 32) main_~a~0)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2251#(= (_ bv3 32) main_~a~0)} is VALID [2018-11-23 10:15:02,843 INFO L273 TraceCheckUtils]: 12: Hoare triple {2251#(= (_ bv3 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {2251#(= (_ bv3 32) main_~a~0)} is VALID [2018-11-23 10:15:02,843 INFO L273 TraceCheckUtils]: 13: Hoare triple {2251#(= (_ bv3 32) main_~a~0)} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {2251#(= (_ bv3 32) main_~a~0)} is VALID [2018-11-23 10:15:02,843 INFO L273 TraceCheckUtils]: 14: Hoare triple {2251#(= (_ bv3 32) main_~a~0)} havoc ~x~0;~x~0 := 0bv32; {2261#(and (= main_~x~0 (_ bv0 32)) (= (_ bv3 32) main_~a~0))} is VALID [2018-11-23 10:15:02,844 INFO L273 TraceCheckUtils]: 15: Hoare triple {2261#(and (= main_~x~0 (_ bv0 32)) (= (_ bv3 32) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {2261#(and (= main_~x~0 (_ bv0 32)) (= (_ bv3 32) main_~a~0))} is VALID [2018-11-23 10:15:02,844 INFO L256 TraceCheckUtils]: 16: Hoare triple {2261#(and (= main_~x~0 (_ bv0 32)) (= (_ bv3 32) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {2210#true} is VALID [2018-11-23 10:15:02,845 INFO L273 TraceCheckUtils]: 17: Hoare triple {2210#true} ~cond := #in~cond; {2210#true} is VALID [2018-11-23 10:15:02,845 INFO L273 TraceCheckUtils]: 18: Hoare triple {2210#true} assume !(0bv32 == ~cond); {2210#true} is VALID [2018-11-23 10:15:02,845 INFO L273 TraceCheckUtils]: 19: Hoare triple {2210#true} assume true; {2210#true} is VALID [2018-11-23 10:15:02,846 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {2210#true} {2261#(and (= main_~x~0 (_ bv0 32)) (= (_ bv3 32) main_~a~0))} #53#return; {2261#(and (= main_~x~0 (_ bv0 32)) (= (_ bv3 32) main_~a~0))} is VALID [2018-11-23 10:15:02,847 INFO L273 TraceCheckUtils]: 21: Hoare triple {2261#(and (= main_~x~0 (_ bv0 32)) (= (_ bv3 32) main_~a~0))} havoc #t~mem3; {2261#(and (= main_~x~0 (_ bv0 32)) (= (_ bv3 32) main_~a~0))} is VALID [2018-11-23 10:15:02,847 INFO L273 TraceCheckUtils]: 22: Hoare triple {2261#(and (= main_~x~0 (_ bv0 32)) (= (_ bv3 32) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2286#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv3 32) main_~a~0))} is VALID [2018-11-23 10:15:02,848 INFO L273 TraceCheckUtils]: 23: Hoare triple {2286#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv3 32) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {2286#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv3 32) main_~a~0))} is VALID [2018-11-23 10:15:02,848 INFO L256 TraceCheckUtils]: 24: Hoare triple {2286#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv3 32) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {2210#true} is VALID [2018-11-23 10:15:02,848 INFO L273 TraceCheckUtils]: 25: Hoare triple {2210#true} ~cond := #in~cond; {2210#true} is VALID [2018-11-23 10:15:02,848 INFO L273 TraceCheckUtils]: 26: Hoare triple {2210#true} assume !(0bv32 == ~cond); {2210#true} is VALID [2018-11-23 10:15:02,849 INFO L273 TraceCheckUtils]: 27: Hoare triple {2210#true} assume true; {2210#true} is VALID [2018-11-23 10:15:02,849 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {2210#true} {2286#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv3 32) main_~a~0))} #53#return; {2286#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv3 32) main_~a~0))} is VALID [2018-11-23 10:15:02,850 INFO L273 TraceCheckUtils]: 29: Hoare triple {2286#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv3 32) main_~a~0))} havoc #t~mem3; {2286#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv3 32) main_~a~0))} is VALID [2018-11-23 10:15:02,851 INFO L273 TraceCheckUtils]: 30: Hoare triple {2286#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv3 32) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2311#(and (= (_ bv2 32) main_~x~0) (= (_ bv3 32) main_~a~0))} is VALID [2018-11-23 10:15:02,851 INFO L273 TraceCheckUtils]: 31: Hoare triple {2311#(and (= (_ bv2 32) main_~x~0) (= (_ bv3 32) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {2311#(and (= (_ bv2 32) main_~x~0) (= (_ bv3 32) main_~a~0))} is VALID [2018-11-23 10:15:02,852 INFO L256 TraceCheckUtils]: 32: Hoare triple {2311#(and (= (_ bv2 32) main_~x~0) (= (_ bv3 32) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {2210#true} is VALID [2018-11-23 10:15:02,852 INFO L273 TraceCheckUtils]: 33: Hoare triple {2210#true} ~cond := #in~cond; {2210#true} is VALID [2018-11-23 10:15:02,852 INFO L273 TraceCheckUtils]: 34: Hoare triple {2210#true} assume !(0bv32 == ~cond); {2210#true} is VALID [2018-11-23 10:15:02,852 INFO L273 TraceCheckUtils]: 35: Hoare triple {2210#true} assume true; {2210#true} is VALID [2018-11-23 10:15:02,853 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {2210#true} {2311#(and (= (_ bv2 32) main_~x~0) (= (_ bv3 32) main_~a~0))} #53#return; {2311#(and (= (_ bv2 32) main_~x~0) (= (_ bv3 32) main_~a~0))} is VALID [2018-11-23 10:15:02,854 INFO L273 TraceCheckUtils]: 37: Hoare triple {2311#(and (= (_ bv2 32) main_~x~0) (= (_ bv3 32) main_~a~0))} havoc #t~mem3; {2311#(and (= (_ bv2 32) main_~x~0) (= (_ bv3 32) main_~a~0))} is VALID [2018-11-23 10:15:02,857 INFO L273 TraceCheckUtils]: 38: Hoare triple {2311#(and (= (_ bv2 32) main_~x~0) (= (_ bv3 32) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2336#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (= (_ bv3 32) main_~a~0))} is VALID [2018-11-23 10:15:02,858 INFO L273 TraceCheckUtils]: 39: Hoare triple {2336#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (= (_ bv3 32) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {2211#false} is VALID [2018-11-23 10:15:02,858 INFO L256 TraceCheckUtils]: 40: Hoare triple {2211#false} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {2211#false} is VALID [2018-11-23 10:15:02,858 INFO L273 TraceCheckUtils]: 41: Hoare triple {2211#false} ~cond := #in~cond; {2211#false} is VALID [2018-11-23 10:15:02,859 INFO L273 TraceCheckUtils]: 42: Hoare triple {2211#false} assume 0bv32 == ~cond; {2211#false} is VALID [2018-11-23 10:15:02,859 INFO L273 TraceCheckUtils]: 43: Hoare triple {2211#false} assume !false; {2211#false} is VALID [2018-11-23 10:15:02,862 INFO L134 CoverageAnalysis]: Checked inductivity of 48 backedges. 9 proven. 27 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 10:15:02,862 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:15:03,199 INFO L273 TraceCheckUtils]: 43: Hoare triple {2211#false} assume !false; {2211#false} is VALID [2018-11-23 10:15:03,200 INFO L273 TraceCheckUtils]: 42: Hoare triple {2211#false} assume 0bv32 == ~cond; {2211#false} is VALID [2018-11-23 10:15:03,200 INFO L273 TraceCheckUtils]: 41: Hoare triple {2211#false} ~cond := #in~cond; {2211#false} is VALID [2018-11-23 10:15:03,200 INFO L256 TraceCheckUtils]: 40: Hoare triple {2211#false} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {2211#false} is VALID [2018-11-23 10:15:03,201 INFO L273 TraceCheckUtils]: 39: Hoare triple {2364#(not (bvslt main_~x~0 main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {2211#false} is VALID [2018-11-23 10:15:03,203 INFO L273 TraceCheckUtils]: 38: Hoare triple {2368#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2364#(not (bvslt main_~x~0 main_~a~0))} is VALID [2018-11-23 10:15:03,203 INFO L273 TraceCheckUtils]: 37: Hoare triple {2368#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} havoc #t~mem3; {2368#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} is VALID [2018-11-23 10:15:03,204 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {2210#true} {2368#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} #53#return; {2368#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} is VALID [2018-11-23 10:15:03,204 INFO L273 TraceCheckUtils]: 35: Hoare triple {2210#true} assume true; {2210#true} is VALID [2018-11-23 10:15:03,204 INFO L273 TraceCheckUtils]: 34: Hoare triple {2210#true} assume !(0bv32 == ~cond); {2210#true} is VALID [2018-11-23 10:15:03,205 INFO L273 TraceCheckUtils]: 33: Hoare triple {2210#true} ~cond := #in~cond; {2210#true} is VALID [2018-11-23 10:15:03,205 INFO L256 TraceCheckUtils]: 32: Hoare triple {2368#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {2210#true} is VALID [2018-11-23 10:15:03,205 INFO L273 TraceCheckUtils]: 31: Hoare triple {2368#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {2368#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} is VALID [2018-11-23 10:15:03,229 INFO L273 TraceCheckUtils]: 30: Hoare triple {2393#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2368#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} is VALID [2018-11-23 10:15:03,229 INFO L273 TraceCheckUtils]: 29: Hoare triple {2393#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} havoc #t~mem3; {2393#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} is VALID [2018-11-23 10:15:03,230 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {2210#true} {2393#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} #53#return; {2393#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} is VALID [2018-11-23 10:15:03,230 INFO L273 TraceCheckUtils]: 27: Hoare triple {2210#true} assume true; {2210#true} is VALID [2018-11-23 10:15:03,230 INFO L273 TraceCheckUtils]: 26: Hoare triple {2210#true} assume !(0bv32 == ~cond); {2210#true} is VALID [2018-11-23 10:15:03,231 INFO L273 TraceCheckUtils]: 25: Hoare triple {2210#true} ~cond := #in~cond; {2210#true} is VALID [2018-11-23 10:15:03,231 INFO L256 TraceCheckUtils]: 24: Hoare triple {2393#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {2210#true} is VALID [2018-11-23 10:15:03,231 INFO L273 TraceCheckUtils]: 23: Hoare triple {2393#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {2393#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} is VALID [2018-11-23 10:15:03,258 INFO L273 TraceCheckUtils]: 22: Hoare triple {2418#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2393#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} is VALID [2018-11-23 10:15:03,259 INFO L273 TraceCheckUtils]: 21: Hoare triple {2418#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} havoc #t~mem3; {2418#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} is VALID [2018-11-23 10:15:03,260 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {2210#true} {2418#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} #53#return; {2418#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} is VALID [2018-11-23 10:15:03,260 INFO L273 TraceCheckUtils]: 19: Hoare triple {2210#true} assume true; {2210#true} is VALID [2018-11-23 10:15:03,260 INFO L273 TraceCheckUtils]: 18: Hoare triple {2210#true} assume !(0bv32 == ~cond); {2210#true} is VALID [2018-11-23 10:15:03,260 INFO L273 TraceCheckUtils]: 17: Hoare triple {2210#true} ~cond := #in~cond; {2210#true} is VALID [2018-11-23 10:15:03,260 INFO L256 TraceCheckUtils]: 16: Hoare triple {2418#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {2210#true} is VALID [2018-11-23 10:15:03,261 INFO L273 TraceCheckUtils]: 15: Hoare triple {2418#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {2418#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} is VALID [2018-11-23 10:15:03,262 INFO L273 TraceCheckUtils]: 14: Hoare triple {2443#(not (bvslt (_ bv3 32) main_~a~0))} havoc ~x~0;~x~0 := 0bv32; {2418#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} is VALID [2018-11-23 10:15:03,262 INFO L273 TraceCheckUtils]: 13: Hoare triple {2443#(not (bvslt (_ bv3 32) main_~a~0))} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {2443#(not (bvslt (_ bv3 32) main_~a~0))} is VALID [2018-11-23 10:15:03,263 INFO L273 TraceCheckUtils]: 12: Hoare triple {2443#(not (bvslt (_ bv3 32) main_~a~0))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {2443#(not (bvslt (_ bv3 32) main_~a~0))} is VALID [2018-11-23 10:15:03,265 INFO L273 TraceCheckUtils]: 11: Hoare triple {2453#(not (bvslt (_ bv3 32) (bvadd main_~a~0 (_ bv1 32))))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2443#(not (bvslt (_ bv3 32) main_~a~0))} is VALID [2018-11-23 10:15:03,265 INFO L273 TraceCheckUtils]: 10: Hoare triple {2453#(not (bvslt (_ bv3 32) (bvadd main_~a~0 (_ bv1 32))))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {2453#(not (bvslt (_ bv3 32) (bvadd main_~a~0 (_ bv1 32))))} is VALID [2018-11-23 10:15:03,271 INFO L273 TraceCheckUtils]: 9: Hoare triple {2460#(not (bvslt (_ bv3 32) (bvadd main_~a~0 (_ bv2 32))))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2453#(not (bvslt (_ bv3 32) (bvadd main_~a~0 (_ bv1 32))))} is VALID [2018-11-23 10:15:03,272 INFO L273 TraceCheckUtils]: 8: Hoare triple {2460#(not (bvslt (_ bv3 32) (bvadd main_~a~0 (_ bv2 32))))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {2460#(not (bvslt (_ bv3 32) (bvadd main_~a~0 (_ bv2 32))))} is VALID [2018-11-23 10:15:03,276 INFO L273 TraceCheckUtils]: 7: Hoare triple {2467#(not (bvslt (_ bv3 32) (bvadd main_~a~0 (_ bv3 32))))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2460#(not (bvslt (_ bv3 32) (bvadd main_~a~0 (_ bv2 32))))} is VALID [2018-11-23 10:15:03,277 INFO L273 TraceCheckUtils]: 6: Hoare triple {2467#(not (bvslt (_ bv3 32) (bvadd main_~a~0 (_ bv3 32))))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {2467#(not (bvslt (_ bv3 32) (bvadd main_~a~0 (_ bv3 32))))} is VALID [2018-11-23 10:15:03,277 INFO L273 TraceCheckUtils]: 5: Hoare triple {2210#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {2467#(not (bvslt (_ bv3 32) (bvadd main_~a~0 (_ bv3 32))))} is VALID [2018-11-23 10:15:03,277 INFO L256 TraceCheckUtils]: 4: Hoare triple {2210#true} call #t~ret4 := main(); {2210#true} is VALID [2018-11-23 10:15:03,277 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2210#true} {2210#true} #49#return; {2210#true} is VALID [2018-11-23 10:15:03,278 INFO L273 TraceCheckUtils]: 2: Hoare triple {2210#true} assume true; {2210#true} is VALID [2018-11-23 10:15:03,278 INFO L273 TraceCheckUtils]: 1: Hoare triple {2210#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2210#true} is VALID [2018-11-23 10:15:03,278 INFO L256 TraceCheckUtils]: 0: Hoare triple {2210#true} call ULTIMATE.init(); {2210#true} is VALID [2018-11-23 10:15:03,280 INFO L134 CoverageAnalysis]: Checked inductivity of 48 backedges. 9 proven. 27 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 10:15:03,282 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:15:03,282 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2018-11-23 10:15:03,283 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 44 [2018-11-23 10:15:03,283 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:15:03,284 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 10:15:03,488 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:15:03,488 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 10:15:03,489 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 10:15:03,489 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=245, Unknown=0, NotChecked=0, Total=306 [2018-11-23 10:15:03,489 INFO L87 Difference]: Start difference. First operand 47 states and 48 transitions. Second operand 18 states. [2018-11-23 10:15:04,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:15:04,741 INFO L93 Difference]: Finished difference Result 73 states and 78 transitions. [2018-11-23 10:15:04,741 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 10:15:04,742 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 44 [2018-11-23 10:15:04,742 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:15:04,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 10:15:04,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2018-11-23 10:15:04,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 10:15:04,747 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2018-11-23 10:15:04,747 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 56 transitions. [2018-11-23 10:15:04,843 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:15:04,845 INFO L225 Difference]: With dead ends: 73 [2018-11-23 10:15:04,845 INFO L226 Difference]: Without dead ends: 49 [2018-11-23 10:15:04,846 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 71 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 54 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=61, Invalid=245, Unknown=0, NotChecked=0, Total=306 [2018-11-23 10:15:04,847 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2018-11-23 10:15:04,912 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 49. [2018-11-23 10:15:04,912 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:15:04,913 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand 49 states. [2018-11-23 10:15:04,913 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 49 states. [2018-11-23 10:15:04,913 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 49 states. [2018-11-23 10:15:04,915 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:15:04,916 INFO L93 Difference]: Finished difference Result 49 states and 50 transitions. [2018-11-23 10:15:04,916 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 50 transitions. [2018-11-23 10:15:04,916 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:15:04,917 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:15:04,917 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 49 states. [2018-11-23 10:15:04,917 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 49 states. [2018-11-23 10:15:04,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:15:04,919 INFO L93 Difference]: Finished difference Result 49 states and 50 transitions. [2018-11-23 10:15:04,920 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 50 transitions. [2018-11-23 10:15:04,920 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:15:04,920 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:15:04,920 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:15:04,920 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:15:04,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 10:15:04,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 50 transitions. [2018-11-23 10:15:04,923 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 50 transitions. Word has length 44 [2018-11-23 10:15:04,923 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:15:04,923 INFO L480 AbstractCegarLoop]: Abstraction has 49 states and 50 transitions. [2018-11-23 10:15:04,923 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 10:15:04,923 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 50 transitions. [2018-11-23 10:15:04,924 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2018-11-23 10:15:04,924 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:15:04,924 INFO L402 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:15:04,925 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:15:04,925 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:15:04,925 INFO L82 PathProgramCache]: Analyzing trace with hash -907902645, now seen corresponding path program 6 times [2018-11-23 10:15:04,926 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:15:04,926 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 10 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 10 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:15:04,950 INFO L101 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2018-11-23 10:15:05,092 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2018-11-23 10:15:05,092 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:15:05,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:15:05,124 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:15:05,756 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:15:05,762 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 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 15 treesize of output 3 [2018-11-23 10:15:05,764 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:15:05,766 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:15:05,769 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:15:05,769 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:19, output treesize:3 [2018-11-23 10:15:05,775 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:15:05,775 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#aa~0.base|, |main_~#aa~0.offset|]. (let ((.cse0 (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))))) (and (= .cse0 |main_#t~mem3|) (bvsge .cse0 (_ bv0 32)))) [2018-11-23 10:15:05,775 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (bvsge |main_#t~mem3| (_ bv0 32)) [2018-11-23 10:15:05,966 INFO L256 TraceCheckUtils]: 0: Hoare triple {2763#true} call ULTIMATE.init(); {2763#true} is VALID [2018-11-23 10:15:05,966 INFO L273 TraceCheckUtils]: 1: Hoare triple {2763#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2763#true} is VALID [2018-11-23 10:15:05,966 INFO L273 TraceCheckUtils]: 2: Hoare triple {2763#true} assume true; {2763#true} is VALID [2018-11-23 10:15:05,967 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2763#true} {2763#true} #49#return; {2763#true} is VALID [2018-11-23 10:15:05,967 INFO L256 TraceCheckUtils]: 4: Hoare triple {2763#true} call #t~ret4 := main(); {2763#true} is VALID [2018-11-23 10:15:05,967 INFO L273 TraceCheckUtils]: 5: Hoare triple {2763#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {2783#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:15:05,968 INFO L273 TraceCheckUtils]: 6: Hoare triple {2783#(= main_~a~0 (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {2783#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:15:05,968 INFO L273 TraceCheckUtils]: 7: Hoare triple {2783#(= main_~a~0 (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2790#(= (_ bv1 32) main_~a~0)} is VALID [2018-11-23 10:15:05,968 INFO L273 TraceCheckUtils]: 8: Hoare triple {2790#(= (_ bv1 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {2790#(= (_ bv1 32) main_~a~0)} is VALID [2018-11-23 10:15:05,969 INFO L273 TraceCheckUtils]: 9: Hoare triple {2790#(= (_ bv1 32) main_~a~0)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2797#(= (_ bv2 32) main_~a~0)} is VALID [2018-11-23 10:15:05,969 INFO L273 TraceCheckUtils]: 10: Hoare triple {2797#(= (_ bv2 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {2797#(= (_ bv2 32) main_~a~0)} is VALID [2018-11-23 10:15:05,970 INFO L273 TraceCheckUtils]: 11: Hoare triple {2797#(= (_ bv2 32) main_~a~0)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2804#(= (_ bv3 32) main_~a~0)} is VALID [2018-11-23 10:15:05,970 INFO L273 TraceCheckUtils]: 12: Hoare triple {2804#(= (_ bv3 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {2808#(= (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) |main_#t~mem0|)} is VALID [2018-11-23 10:15:05,971 INFO L273 TraceCheckUtils]: 13: Hoare triple {2808#(= (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) |main_#t~mem0|)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2812#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:15:05,971 INFO L273 TraceCheckUtils]: 14: Hoare triple {2812#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {2812#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:15:05,971 INFO L273 TraceCheckUtils]: 15: Hoare triple {2812#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32))} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {2812#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:15:05,972 INFO L273 TraceCheckUtils]: 16: Hoare triple {2812#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32))} havoc ~x~0;~x~0 := 0bv32; {2822#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,973 INFO L273 TraceCheckUtils]: 17: Hoare triple {2822#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {2822#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,975 INFO L256 TraceCheckUtils]: 18: Hoare triple {2822#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,976 INFO L273 TraceCheckUtils]: 19: Hoare triple {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} ~cond := #in~cond; {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,976 INFO L273 TraceCheckUtils]: 20: Hoare triple {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} assume !(0bv32 == ~cond); {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,977 INFO L273 TraceCheckUtils]: 21: Hoare triple {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} assume true; {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,977 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} {2822#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} #53#return; {2822#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,978 INFO L273 TraceCheckUtils]: 23: Hoare triple {2822#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} havoc #t~mem3; {2822#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,978 INFO L273 TraceCheckUtils]: 24: Hoare triple {2822#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2848#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,979 INFO L273 TraceCheckUtils]: 25: Hoare triple {2848#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {2848#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,982 INFO L256 TraceCheckUtils]: 26: Hoare triple {2848#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,982 INFO L273 TraceCheckUtils]: 27: Hoare triple {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} ~cond := #in~cond; {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,983 INFO L273 TraceCheckUtils]: 28: Hoare triple {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} assume !(0bv32 == ~cond); {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,983 INFO L273 TraceCheckUtils]: 29: Hoare triple {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} assume true; {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,984 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} {2848#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} #53#return; {2848#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,984 INFO L273 TraceCheckUtils]: 31: Hoare triple {2848#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} havoc #t~mem3; {2848#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,985 INFO L273 TraceCheckUtils]: 32: Hoare triple {2848#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2873#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,986 INFO L273 TraceCheckUtils]: 33: Hoare triple {2873#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {2873#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,988 INFO L256 TraceCheckUtils]: 34: Hoare triple {2873#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,989 INFO L273 TraceCheckUtils]: 35: Hoare triple {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} ~cond := #in~cond; {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,990 INFO L273 TraceCheckUtils]: 36: Hoare triple {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} assume !(0bv32 == ~cond); {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,990 INFO L273 TraceCheckUtils]: 37: Hoare triple {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} assume true; {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,991 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {2829#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_7| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_7| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_7|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_7| (_ bv12 32))) (_ bv0 32)))} {2873#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} #53#return; {2873#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,992 INFO L273 TraceCheckUtils]: 39: Hoare triple {2873#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} havoc #t~mem3; {2873#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,993 INFO L273 TraceCheckUtils]: 40: Hoare triple {2873#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2898#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:05,994 INFO L273 TraceCheckUtils]: 41: Hoare triple {2898#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {2902#(bvsge |main_#t~mem3| (_ bv0 32))} is VALID [2018-11-23 10:15:05,995 INFO L256 TraceCheckUtils]: 42: Hoare triple {2902#(bvsge |main_#t~mem3| (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {2906#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:15:05,995 INFO L273 TraceCheckUtils]: 43: Hoare triple {2906#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {2910#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:15:05,996 INFO L273 TraceCheckUtils]: 44: Hoare triple {2910#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {2764#false} is VALID [2018-11-23 10:15:05,996 INFO L273 TraceCheckUtils]: 45: Hoare triple {2764#false} assume !false; {2764#false} is VALID [2018-11-23 10:15:06,002 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 0 proven. 44 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 10:15:06,002 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:15:14,589 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 22 treesize of output 18 [2018-11-23 10:15:16,640 WARN L670 Elim1Store]: solver failed to check if following equality is implied: (= (bvadd |main_~#aa~0.offset| (_ bv12 32)) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~a~0))) [2018-11-23 10:15:16,642 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:15:16,643 INFO L303 Elim1Store]: Index analysis took 2031 ms [2018-11-23 10:15:16,644 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 20 [2018-11-23 10:15:16,649 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:15:16,653 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:15:16,655 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 10:15:16,655 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:22, output treesize:9 [2018-11-23 10:15:16,673 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:15:16,674 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |main_~#aa~0.base|, |main_~#aa~0.offset|]. (let ((.cse0 (select |#memory_int| |main_~#aa~0.base|))) (or (not (bvsge (select .cse0 (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~a~0))) (_ bv0 32))) (bvsge (select .cse0 (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))) [2018-11-23 10:15:16,674 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [|main_~#aa~0.offset|]. (= (bvadd |main_~#aa~0.offset| (_ bv12 32)) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~a~0))) [2018-11-23 10:15:17,191 INFO L273 TraceCheckUtils]: 45: Hoare triple {2764#false} assume !false; {2764#false} is VALID [2018-11-23 10:15:17,191 INFO L273 TraceCheckUtils]: 44: Hoare triple {2920#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {2764#false} is VALID [2018-11-23 10:15:17,193 INFO L273 TraceCheckUtils]: 43: Hoare triple {2924#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {2920#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:15:17,193 INFO L256 TraceCheckUtils]: 42: Hoare triple {2902#(bvsge |main_#t~mem3| (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {2924#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:15:17,195 INFO L273 TraceCheckUtils]: 41: Hoare triple {2931#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {2902#(bvsge |main_#t~mem3| (_ bv0 32))} is VALID [2018-11-23 10:15:19,203 INFO L273 TraceCheckUtils]: 40: Hoare triple {2935#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2931#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0))) (_ bv0 32))} is UNKNOWN [2018-11-23 10:15:19,204 INFO L273 TraceCheckUtils]: 39: Hoare triple {2935#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} havoc #t~mem3; {2935#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:15:19,205 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {2763#true} {2935#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} #53#return; {2935#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:15:19,205 INFO L273 TraceCheckUtils]: 37: Hoare triple {2763#true} assume true; {2763#true} is VALID [2018-11-23 10:15:19,205 INFO L273 TraceCheckUtils]: 36: Hoare triple {2763#true} assume !(0bv32 == ~cond); {2763#true} is VALID [2018-11-23 10:15:19,205 INFO L273 TraceCheckUtils]: 35: Hoare triple {2763#true} ~cond := #in~cond; {2763#true} is VALID [2018-11-23 10:15:19,205 INFO L256 TraceCheckUtils]: 34: Hoare triple {2935#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {2763#true} is VALID [2018-11-23 10:15:19,206 INFO L273 TraceCheckUtils]: 33: Hoare triple {2935#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {2935#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:15:21,218 INFO L273 TraceCheckUtils]: 32: Hoare triple {2960#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2935#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} is UNKNOWN [2018-11-23 10:15:21,218 INFO L273 TraceCheckUtils]: 31: Hoare triple {2960#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} havoc #t~mem3; {2960#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} is VALID [2018-11-23 10:15:21,219 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {2763#true} {2960#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} #53#return; {2960#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} is VALID [2018-11-23 10:15:21,219 INFO L273 TraceCheckUtils]: 29: Hoare triple {2763#true} assume true; {2763#true} is VALID [2018-11-23 10:15:21,219 INFO L273 TraceCheckUtils]: 28: Hoare triple {2763#true} assume !(0bv32 == ~cond); {2763#true} is VALID [2018-11-23 10:15:21,220 INFO L273 TraceCheckUtils]: 27: Hoare triple {2763#true} ~cond := #in~cond; {2763#true} is VALID [2018-11-23 10:15:21,220 INFO L256 TraceCheckUtils]: 26: Hoare triple {2960#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {2763#true} is VALID [2018-11-23 10:15:21,220 INFO L273 TraceCheckUtils]: 25: Hoare triple {2960#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {2960#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} is VALID [2018-11-23 10:15:23,234 INFO L273 TraceCheckUtils]: 24: Hoare triple {2985#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2960#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} is UNKNOWN [2018-11-23 10:15:23,235 INFO L273 TraceCheckUtils]: 23: Hoare triple {2985#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} havoc #t~mem3; {2985#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:15:23,236 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {2763#true} {2985#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} #53#return; {2985#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:15:23,236 INFO L273 TraceCheckUtils]: 21: Hoare triple {2763#true} assume true; {2763#true} is VALID [2018-11-23 10:15:23,236 INFO L273 TraceCheckUtils]: 20: Hoare triple {2763#true} assume !(0bv32 == ~cond); {2763#true} is VALID [2018-11-23 10:15:23,236 INFO L273 TraceCheckUtils]: 19: Hoare triple {2763#true} ~cond := #in~cond; {2763#true} is VALID [2018-11-23 10:15:23,236 INFO L256 TraceCheckUtils]: 18: Hoare triple {2985#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {2763#true} is VALID [2018-11-23 10:15:23,236 INFO L273 TraceCheckUtils]: 17: Hoare triple {2985#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {2985#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:15:23,237 INFO L273 TraceCheckUtils]: 16: Hoare triple {2812#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32))} havoc ~x~0;~x~0 := 0bv32; {2985#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:15:23,237 INFO L273 TraceCheckUtils]: 15: Hoare triple {2812#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32))} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {2812#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:15:23,238 INFO L273 TraceCheckUtils]: 14: Hoare triple {2812#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {2812#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:15:23,238 INFO L273 TraceCheckUtils]: 13: Hoare triple {3019#(or (not (bvsge |main_#t~mem0| (_ bv0 32))) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2812#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:15:23,239 INFO L273 TraceCheckUtils]: 12: Hoare triple {3023#(= (_ bv12 32) (bvmul (_ bv4 32) main_~a~0))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {3019#(or (not (bvsge |main_#t~mem0| (_ bv0 32))) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv12 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:23,241 INFO L273 TraceCheckUtils]: 11: Hoare triple {3027#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967288 32)) (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3023#(= (_ bv12 32) (bvmul (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:23,242 INFO L273 TraceCheckUtils]: 10: Hoare triple {3027#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967288 32)) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {3027#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967288 32)) (_ bv0 32))} is VALID [2018-11-23 10:15:23,243 INFO L273 TraceCheckUtils]: 9: Hoare triple {3034#(= (_ bv4 32) (bvmul (_ bv4 32) main_~a~0))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3027#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967288 32)) (_ bv0 32))} is VALID [2018-11-23 10:15:23,244 INFO L273 TraceCheckUtils]: 8: Hoare triple {3034#(= (_ bv4 32) (bvmul (_ bv4 32) main_~a~0))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {3034#(= (_ bv4 32) (bvmul (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:23,246 INFO L273 TraceCheckUtils]: 7: Hoare triple {3041#(= (bvmul (_ bv4 32) main_~a~0) (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3034#(= (_ bv4 32) (bvmul (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:23,246 INFO L273 TraceCheckUtils]: 6: Hoare triple {3041#(= (bvmul (_ bv4 32) main_~a~0) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {3041#(= (bvmul (_ bv4 32) main_~a~0) (_ bv0 32))} is VALID [2018-11-23 10:15:23,247 INFO L273 TraceCheckUtils]: 5: Hoare triple {2763#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {3041#(= (bvmul (_ bv4 32) main_~a~0) (_ bv0 32))} is VALID [2018-11-23 10:15:23,247 INFO L256 TraceCheckUtils]: 4: Hoare triple {2763#true} call #t~ret4 := main(); {2763#true} is VALID [2018-11-23 10:15:23,247 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2763#true} {2763#true} #49#return; {2763#true} is VALID [2018-11-23 10:15:23,247 INFO L273 TraceCheckUtils]: 2: Hoare triple {2763#true} assume true; {2763#true} is VALID [2018-11-23 10:15:23,248 INFO L273 TraceCheckUtils]: 1: Hoare triple {2763#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2763#true} is VALID [2018-11-23 10:15:23,248 INFO L256 TraceCheckUtils]: 0: Hoare triple {2763#true} call ULTIMATE.init(); {2763#true} is VALID [2018-11-23 10:15:23,251 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 7 proven. 37 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 10:15:23,253 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:15:23,253 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 15] total 27 [2018-11-23 10:15:23,255 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 46 [2018-11-23 10:15:23,256 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:15:23,256 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states. [2018-11-23 10:15:33,486 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 67 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2018-11-23 10:15:33,486 INFO L459 AbstractCegarLoop]: Interpolant automaton has 27 states [2018-11-23 10:15:33,486 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2018-11-23 10:15:33,487 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=622, Unknown=4, NotChecked=0, Total=702 [2018-11-23 10:15:33,487 INFO L87 Difference]: Start difference. First operand 49 states and 50 transitions. Second operand 27 states. [2018-11-23 10:15:46,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:15:46,617 INFO L93 Difference]: Finished difference Result 61 states and 62 transitions. [2018-11-23 10:15:46,617 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 10:15:46,617 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 46 [2018-11-23 10:15:46,618 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:15:46,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 10:15:46,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 53 transitions. [2018-11-23 10:15:46,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 10:15:46,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 53 transitions. [2018-11-23 10:15:46,622 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 53 transitions. [2018-11-23 10:15:48,760 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 52 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2018-11-23 10:15:48,762 INFO L225 Difference]: With dead ends: 61 [2018-11-23 10:15:48,762 INFO L226 Difference]: Without dead ends: 59 [2018-11-23 10:15:48,763 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 61 SyntacticMatches, 5 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 172 ImplicationChecksByTransitivity, 9.6s TimeCoverageRelationStatistics Valid=108, Invalid=880, Unknown=4, NotChecked=0, Total=992 [2018-11-23 10:15:48,763 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2018-11-23 10:15:48,821 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 57. [2018-11-23 10:15:48,821 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:15:48,821 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand 57 states. [2018-11-23 10:15:48,821 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 57 states. [2018-11-23 10:15:48,821 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 57 states. [2018-11-23 10:15:48,824 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:15:48,824 INFO L93 Difference]: Finished difference Result 59 states and 60 transitions. [2018-11-23 10:15:48,824 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 60 transitions. [2018-11-23 10:15:48,824 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:15:48,825 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:15:48,825 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 59 states. [2018-11-23 10:15:48,825 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 59 states. [2018-11-23 10:15:48,827 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:15:48,827 INFO L93 Difference]: Finished difference Result 59 states and 60 transitions. [2018-11-23 10:15:48,827 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 60 transitions. [2018-11-23 10:15:48,827 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:15:48,827 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:15:48,828 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:15:48,828 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:15:48,828 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 57 states. [2018-11-23 10:15:48,830 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 58 transitions. [2018-11-23 10:15:48,830 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 58 transitions. Word has length 46 [2018-11-23 10:15:48,830 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:15:48,830 INFO L480 AbstractCegarLoop]: Abstraction has 57 states and 58 transitions. [2018-11-23 10:15:48,830 INFO L481 AbstractCegarLoop]: Interpolant automaton has 27 states. [2018-11-23 10:15:48,831 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 58 transitions. [2018-11-23 10:15:48,831 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2018-11-23 10:15:48,831 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:15:48,832 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:15:48,832 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:15:48,832 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:15:48,832 INFO L82 PathProgramCache]: Analyzing trace with hash 349261954, now seen corresponding path program 7 times [2018-11-23 10:15:48,832 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:15:48,833 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 11 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 11 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:15:48,860 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 10:15:48,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:15:48,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:15:48,932 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:15:49,141 INFO L256 TraceCheckUtils]: 0: Hoare triple {3359#true} call ULTIMATE.init(); {3359#true} is VALID [2018-11-23 10:15:49,142 INFO L273 TraceCheckUtils]: 1: Hoare triple {3359#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {3359#true} is VALID [2018-11-23 10:15:49,142 INFO L273 TraceCheckUtils]: 2: Hoare triple {3359#true} assume true; {3359#true} is VALID [2018-11-23 10:15:49,142 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3359#true} {3359#true} #49#return; {3359#true} is VALID [2018-11-23 10:15:49,142 INFO L256 TraceCheckUtils]: 4: Hoare triple {3359#true} call #t~ret4 := main(); {3359#true} is VALID [2018-11-23 10:15:49,143 INFO L273 TraceCheckUtils]: 5: Hoare triple {3359#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {3379#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:15:49,144 INFO L273 TraceCheckUtils]: 6: Hoare triple {3379#(= main_~a~0 (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {3379#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:15:49,144 INFO L273 TraceCheckUtils]: 7: Hoare triple {3379#(= main_~a~0 (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3386#(= (_ bv1 32) main_~a~0)} is VALID [2018-11-23 10:15:49,145 INFO L273 TraceCheckUtils]: 8: Hoare triple {3386#(= (_ bv1 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {3386#(= (_ bv1 32) main_~a~0)} is VALID [2018-11-23 10:15:49,146 INFO L273 TraceCheckUtils]: 9: Hoare triple {3386#(= (_ bv1 32) main_~a~0)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3393#(= (_ bv2 32) main_~a~0)} is VALID [2018-11-23 10:15:49,146 INFO L273 TraceCheckUtils]: 10: Hoare triple {3393#(= (_ bv2 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {3393#(= (_ bv2 32) main_~a~0)} is VALID [2018-11-23 10:15:49,147 INFO L273 TraceCheckUtils]: 11: Hoare triple {3393#(= (_ bv2 32) main_~a~0)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3400#(= (_ bv3 32) main_~a~0)} is VALID [2018-11-23 10:15:49,147 INFO L273 TraceCheckUtils]: 12: Hoare triple {3400#(= (_ bv3 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {3400#(= (_ bv3 32) main_~a~0)} is VALID [2018-11-23 10:15:49,148 INFO L273 TraceCheckUtils]: 13: Hoare triple {3400#(= (_ bv3 32) main_~a~0)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3407#(= (_ bv4 32) main_~a~0)} is VALID [2018-11-23 10:15:49,149 INFO L273 TraceCheckUtils]: 14: Hoare triple {3407#(= (_ bv4 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {3407#(= (_ bv4 32) main_~a~0)} is VALID [2018-11-23 10:15:49,149 INFO L273 TraceCheckUtils]: 15: Hoare triple {3407#(= (_ bv4 32) main_~a~0)} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {3407#(= (_ bv4 32) main_~a~0)} is VALID [2018-11-23 10:15:49,150 INFO L273 TraceCheckUtils]: 16: Hoare triple {3407#(= (_ bv4 32) main_~a~0)} havoc ~x~0;~x~0 := 0bv32; {3417#(and (= main_~x~0 (_ bv0 32)) (= (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:49,151 INFO L273 TraceCheckUtils]: 17: Hoare triple {3417#(and (= main_~x~0 (_ bv0 32)) (= (_ bv4 32) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {3417#(and (= main_~x~0 (_ bv0 32)) (= (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:49,151 INFO L256 TraceCheckUtils]: 18: Hoare triple {3417#(and (= main_~x~0 (_ bv0 32)) (= (_ bv4 32) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {3359#true} is VALID [2018-11-23 10:15:49,151 INFO L273 TraceCheckUtils]: 19: Hoare triple {3359#true} ~cond := #in~cond; {3359#true} is VALID [2018-11-23 10:15:49,152 INFO L273 TraceCheckUtils]: 20: Hoare triple {3359#true} assume !(0bv32 == ~cond); {3359#true} is VALID [2018-11-23 10:15:49,152 INFO L273 TraceCheckUtils]: 21: Hoare triple {3359#true} assume true; {3359#true} is VALID [2018-11-23 10:15:49,153 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {3359#true} {3417#(and (= main_~x~0 (_ bv0 32)) (= (_ bv4 32) main_~a~0))} #53#return; {3417#(and (= main_~x~0 (_ bv0 32)) (= (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:49,153 INFO L273 TraceCheckUtils]: 23: Hoare triple {3417#(and (= main_~x~0 (_ bv0 32)) (= (_ bv4 32) main_~a~0))} havoc #t~mem3; {3417#(and (= main_~x~0 (_ bv0 32)) (= (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:49,154 INFO L273 TraceCheckUtils]: 24: Hoare triple {3417#(and (= main_~x~0 (_ bv0 32)) (= (_ bv4 32) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3442#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:49,155 INFO L273 TraceCheckUtils]: 25: Hoare triple {3442#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv4 32) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {3442#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:49,155 INFO L256 TraceCheckUtils]: 26: Hoare triple {3442#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv4 32) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {3359#true} is VALID [2018-11-23 10:15:49,156 INFO L273 TraceCheckUtils]: 27: Hoare triple {3359#true} ~cond := #in~cond; {3359#true} is VALID [2018-11-23 10:15:49,156 INFO L273 TraceCheckUtils]: 28: Hoare triple {3359#true} assume !(0bv32 == ~cond); {3359#true} is VALID [2018-11-23 10:15:49,156 INFO L273 TraceCheckUtils]: 29: Hoare triple {3359#true} assume true; {3359#true} is VALID [2018-11-23 10:15:49,157 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {3359#true} {3442#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv4 32) main_~a~0))} #53#return; {3442#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:49,158 INFO L273 TraceCheckUtils]: 31: Hoare triple {3442#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv4 32) main_~a~0))} havoc #t~mem3; {3442#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:49,158 INFO L273 TraceCheckUtils]: 32: Hoare triple {3442#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv4 32) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3467#(and (= (_ bv2 32) main_~x~0) (= (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:49,173 INFO L273 TraceCheckUtils]: 33: Hoare triple {3467#(and (= (_ bv2 32) main_~x~0) (= (_ bv4 32) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {3467#(and (= (_ bv2 32) main_~x~0) (= (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:49,174 INFO L256 TraceCheckUtils]: 34: Hoare triple {3467#(and (= (_ bv2 32) main_~x~0) (= (_ bv4 32) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {3359#true} is VALID [2018-11-23 10:15:49,174 INFO L273 TraceCheckUtils]: 35: Hoare triple {3359#true} ~cond := #in~cond; {3359#true} is VALID [2018-11-23 10:15:49,174 INFO L273 TraceCheckUtils]: 36: Hoare triple {3359#true} assume !(0bv32 == ~cond); {3359#true} is VALID [2018-11-23 10:15:49,174 INFO L273 TraceCheckUtils]: 37: Hoare triple {3359#true} assume true; {3359#true} is VALID [2018-11-23 10:15:49,175 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {3359#true} {3467#(and (= (_ bv2 32) main_~x~0) (= (_ bv4 32) main_~a~0))} #53#return; {3467#(and (= (_ bv2 32) main_~x~0) (= (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:49,176 INFO L273 TraceCheckUtils]: 39: Hoare triple {3467#(and (= (_ bv2 32) main_~x~0) (= (_ bv4 32) main_~a~0))} havoc #t~mem3; {3467#(and (= (_ bv2 32) main_~x~0) (= (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:49,176 INFO L273 TraceCheckUtils]: 40: Hoare triple {3467#(and (= (_ bv2 32) main_~x~0) (= (_ bv4 32) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3492#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (= (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:49,177 INFO L273 TraceCheckUtils]: 41: Hoare triple {3492#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (= (_ bv4 32) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {3492#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (= (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:49,177 INFO L256 TraceCheckUtils]: 42: Hoare triple {3492#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (= (_ bv4 32) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {3359#true} is VALID [2018-11-23 10:15:49,178 INFO L273 TraceCheckUtils]: 43: Hoare triple {3359#true} ~cond := #in~cond; {3359#true} is VALID [2018-11-23 10:15:49,178 INFO L273 TraceCheckUtils]: 44: Hoare triple {3359#true} assume !(0bv32 == ~cond); {3359#true} is VALID [2018-11-23 10:15:49,178 INFO L273 TraceCheckUtils]: 45: Hoare triple {3359#true} assume true; {3359#true} is VALID [2018-11-23 10:15:49,179 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {3359#true} {3492#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (= (_ bv4 32) main_~a~0))} #53#return; {3492#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (= (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:49,180 INFO L273 TraceCheckUtils]: 47: Hoare triple {3492#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (= (_ bv4 32) main_~a~0))} havoc #t~mem3; {3492#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (= (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:49,180 INFO L273 TraceCheckUtils]: 48: Hoare triple {3492#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (= (_ bv4 32) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3517#(and (= (_ bv4 32) main_~x~0) (= (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:49,180 INFO L273 TraceCheckUtils]: 49: Hoare triple {3517#(and (= (_ bv4 32) main_~x~0) (= (_ bv4 32) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {3360#false} is VALID [2018-11-23 10:15:49,181 INFO L256 TraceCheckUtils]: 50: Hoare triple {3360#false} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {3360#false} is VALID [2018-11-23 10:15:49,181 INFO L273 TraceCheckUtils]: 51: Hoare triple {3360#false} ~cond := #in~cond; {3360#false} is VALID [2018-11-23 10:15:49,181 INFO L273 TraceCheckUtils]: 52: Hoare triple {3360#false} assume 0bv32 == ~cond; {3360#false} is VALID [2018-11-23 10:15:49,181 INFO L273 TraceCheckUtils]: 53: Hoare triple {3360#false} assume !false; {3360#false} is VALID [2018-11-23 10:15:49,185 INFO L134 CoverageAnalysis]: Checked inductivity of 84 backedges. 12 proven. 48 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 10:15:49,185 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:15:49,776 INFO L273 TraceCheckUtils]: 53: Hoare triple {3360#false} assume !false; {3360#false} is VALID [2018-11-23 10:15:49,777 INFO L273 TraceCheckUtils]: 52: Hoare triple {3360#false} assume 0bv32 == ~cond; {3360#false} is VALID [2018-11-23 10:15:49,777 INFO L273 TraceCheckUtils]: 51: Hoare triple {3360#false} ~cond := #in~cond; {3360#false} is VALID [2018-11-23 10:15:49,777 INFO L256 TraceCheckUtils]: 50: Hoare triple {3360#false} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {3360#false} is VALID [2018-11-23 10:15:49,778 INFO L273 TraceCheckUtils]: 49: Hoare triple {3545#(not (bvslt main_~x~0 main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {3360#false} is VALID [2018-11-23 10:15:49,779 INFO L273 TraceCheckUtils]: 48: Hoare triple {3549#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3545#(not (bvslt main_~x~0 main_~a~0))} is VALID [2018-11-23 10:15:49,779 INFO L273 TraceCheckUtils]: 47: Hoare triple {3549#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} havoc #t~mem3; {3549#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} is VALID [2018-11-23 10:15:49,780 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {3359#true} {3549#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} #53#return; {3549#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} is VALID [2018-11-23 10:15:49,780 INFO L273 TraceCheckUtils]: 45: Hoare triple {3359#true} assume true; {3359#true} is VALID [2018-11-23 10:15:49,780 INFO L273 TraceCheckUtils]: 44: Hoare triple {3359#true} assume !(0bv32 == ~cond); {3359#true} is VALID [2018-11-23 10:15:49,780 INFO L273 TraceCheckUtils]: 43: Hoare triple {3359#true} ~cond := #in~cond; {3359#true} is VALID [2018-11-23 10:15:49,781 INFO L256 TraceCheckUtils]: 42: Hoare triple {3549#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {3359#true} is VALID [2018-11-23 10:15:49,781 INFO L273 TraceCheckUtils]: 41: Hoare triple {3549#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {3549#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} is VALID [2018-11-23 10:15:49,801 INFO L273 TraceCheckUtils]: 40: Hoare triple {3574#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3549#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} is VALID [2018-11-23 10:15:49,801 INFO L273 TraceCheckUtils]: 39: Hoare triple {3574#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} havoc #t~mem3; {3574#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} is VALID [2018-11-23 10:15:49,802 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {3359#true} {3574#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} #53#return; {3574#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} is VALID [2018-11-23 10:15:49,802 INFO L273 TraceCheckUtils]: 37: Hoare triple {3359#true} assume true; {3359#true} is VALID [2018-11-23 10:15:49,803 INFO L273 TraceCheckUtils]: 36: Hoare triple {3359#true} assume !(0bv32 == ~cond); {3359#true} is VALID [2018-11-23 10:15:49,803 INFO L273 TraceCheckUtils]: 35: Hoare triple {3359#true} ~cond := #in~cond; {3359#true} is VALID [2018-11-23 10:15:49,803 INFO L256 TraceCheckUtils]: 34: Hoare triple {3574#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {3359#true} is VALID [2018-11-23 10:15:49,804 INFO L273 TraceCheckUtils]: 33: Hoare triple {3574#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {3574#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} is VALID [2018-11-23 10:15:49,833 INFO L273 TraceCheckUtils]: 32: Hoare triple {3599#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3574#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} is VALID [2018-11-23 10:15:49,833 INFO L273 TraceCheckUtils]: 31: Hoare triple {3599#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} havoc #t~mem3; {3599#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} is VALID [2018-11-23 10:15:49,834 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {3359#true} {3599#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} #53#return; {3599#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} is VALID [2018-11-23 10:15:49,834 INFO L273 TraceCheckUtils]: 29: Hoare triple {3359#true} assume true; {3359#true} is VALID [2018-11-23 10:15:49,834 INFO L273 TraceCheckUtils]: 28: Hoare triple {3359#true} assume !(0bv32 == ~cond); {3359#true} is VALID [2018-11-23 10:15:49,835 INFO L273 TraceCheckUtils]: 27: Hoare triple {3359#true} ~cond := #in~cond; {3359#true} is VALID [2018-11-23 10:15:49,835 INFO L256 TraceCheckUtils]: 26: Hoare triple {3599#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {3359#true} is VALID [2018-11-23 10:15:49,835 INFO L273 TraceCheckUtils]: 25: Hoare triple {3599#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {3599#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} is VALID [2018-11-23 10:15:49,865 INFO L273 TraceCheckUtils]: 24: Hoare triple {3624#(not (bvslt (bvadd main_~x~0 (_ bv4 32)) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3599#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} is VALID [2018-11-23 10:15:49,866 INFO L273 TraceCheckUtils]: 23: Hoare triple {3624#(not (bvslt (bvadd main_~x~0 (_ bv4 32)) main_~a~0))} havoc #t~mem3; {3624#(not (bvslt (bvadd main_~x~0 (_ bv4 32)) main_~a~0))} is VALID [2018-11-23 10:15:49,867 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {3359#true} {3624#(not (bvslt (bvadd main_~x~0 (_ bv4 32)) main_~a~0))} #53#return; {3624#(not (bvslt (bvadd main_~x~0 (_ bv4 32)) main_~a~0))} is VALID [2018-11-23 10:15:49,867 INFO L273 TraceCheckUtils]: 21: Hoare triple {3359#true} assume true; {3359#true} is VALID [2018-11-23 10:15:49,867 INFO L273 TraceCheckUtils]: 20: Hoare triple {3359#true} assume !(0bv32 == ~cond); {3359#true} is VALID [2018-11-23 10:15:49,867 INFO L273 TraceCheckUtils]: 19: Hoare triple {3359#true} ~cond := #in~cond; {3359#true} is VALID [2018-11-23 10:15:49,867 INFO L256 TraceCheckUtils]: 18: Hoare triple {3624#(not (bvslt (bvadd main_~x~0 (_ bv4 32)) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {3359#true} is VALID [2018-11-23 10:15:49,867 INFO L273 TraceCheckUtils]: 17: Hoare triple {3624#(not (bvslt (bvadd main_~x~0 (_ bv4 32)) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {3624#(not (bvslt (bvadd main_~x~0 (_ bv4 32)) main_~a~0))} is VALID [2018-11-23 10:15:49,868 INFO L273 TraceCheckUtils]: 16: Hoare triple {3649#(not (bvslt (_ bv4 32) main_~a~0))} havoc ~x~0;~x~0 := 0bv32; {3624#(not (bvslt (bvadd main_~x~0 (_ bv4 32)) main_~a~0))} is VALID [2018-11-23 10:15:49,868 INFO L273 TraceCheckUtils]: 15: Hoare triple {3649#(not (bvslt (_ bv4 32) main_~a~0))} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {3649#(not (bvslt (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:49,869 INFO L273 TraceCheckUtils]: 14: Hoare triple {3649#(not (bvslt (_ bv4 32) main_~a~0))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {3649#(not (bvslt (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:49,869 INFO L273 TraceCheckUtils]: 13: Hoare triple {3659#(not (bvslt (_ bv4 32) (bvadd main_~a~0 (_ bv1 32))))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3649#(not (bvslt (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:15:49,870 INFO L273 TraceCheckUtils]: 12: Hoare triple {3659#(not (bvslt (_ bv4 32) (bvadd main_~a~0 (_ bv1 32))))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {3659#(not (bvslt (_ bv4 32) (bvadd main_~a~0 (_ bv1 32))))} is VALID [2018-11-23 10:15:49,875 INFO L273 TraceCheckUtils]: 11: Hoare triple {3666#(not (bvslt (_ bv4 32) (bvadd main_~a~0 (_ bv2 32))))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3659#(not (bvslt (_ bv4 32) (bvadd main_~a~0 (_ bv1 32))))} is VALID [2018-11-23 10:15:49,875 INFO L273 TraceCheckUtils]: 10: Hoare triple {3666#(not (bvslt (_ bv4 32) (bvadd main_~a~0 (_ bv2 32))))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {3666#(not (bvslt (_ bv4 32) (bvadd main_~a~0 (_ bv2 32))))} is VALID [2018-11-23 10:15:49,889 INFO L273 TraceCheckUtils]: 9: Hoare triple {3673#(not (bvslt (_ bv4 32) (bvadd main_~a~0 (_ bv3 32))))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3666#(not (bvslt (_ bv4 32) (bvadd main_~a~0 (_ bv2 32))))} is VALID [2018-11-23 10:15:49,890 INFO L273 TraceCheckUtils]: 8: Hoare triple {3673#(not (bvslt (_ bv4 32) (bvadd main_~a~0 (_ bv3 32))))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {3673#(not (bvslt (_ bv4 32) (bvadd main_~a~0 (_ bv3 32))))} is VALID [2018-11-23 10:15:49,894 INFO L273 TraceCheckUtils]: 7: Hoare triple {3680#(not (bvslt (_ bv4 32) (bvadd main_~a~0 (_ bv4 32))))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3673#(not (bvslt (_ bv4 32) (bvadd main_~a~0 (_ bv3 32))))} is VALID [2018-11-23 10:15:49,914 INFO L273 TraceCheckUtils]: 6: Hoare triple {3680#(not (bvslt (_ bv4 32) (bvadd main_~a~0 (_ bv4 32))))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {3680#(not (bvslt (_ bv4 32) (bvadd main_~a~0 (_ bv4 32))))} is VALID [2018-11-23 10:15:49,929 INFO L273 TraceCheckUtils]: 5: Hoare triple {3359#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {3680#(not (bvslt (_ bv4 32) (bvadd main_~a~0 (_ bv4 32))))} is VALID [2018-11-23 10:15:49,929 INFO L256 TraceCheckUtils]: 4: Hoare triple {3359#true} call #t~ret4 := main(); {3359#true} is VALID [2018-11-23 10:15:49,929 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3359#true} {3359#true} #49#return; {3359#true} is VALID [2018-11-23 10:15:49,930 INFO L273 TraceCheckUtils]: 2: Hoare triple {3359#true} assume true; {3359#true} is VALID [2018-11-23 10:15:49,930 INFO L273 TraceCheckUtils]: 1: Hoare triple {3359#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {3359#true} is VALID [2018-11-23 10:15:49,930 INFO L256 TraceCheckUtils]: 0: Hoare triple {3359#true} call ULTIMATE.init(); {3359#true} is VALID [2018-11-23 10:15:49,934 INFO L134 CoverageAnalysis]: Checked inductivity of 84 backedges. 12 proven. 48 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 10:15:49,937 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:15:49,938 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 22 [2018-11-23 10:15:49,938 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 54 [2018-11-23 10:15:49,939 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:15:49,939 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-23 10:15:50,157 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:15:50,157 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-23 10:15:50,157 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-23 10:15:50,158 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=381, Unknown=0, NotChecked=0, Total=462 [2018-11-23 10:15:50,158 INFO L87 Difference]: Start difference. First operand 57 states and 58 transitions. Second operand 22 states. [2018-11-23 10:15:51,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:15:51,861 INFO L93 Difference]: Finished difference Result 87 states and 93 transitions. [2018-11-23 10:15:51,861 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 10:15:51,862 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 54 [2018-11-23 10:15:51,862 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:15:51,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 10:15:51,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 63 transitions. [2018-11-23 10:15:51,864 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 10:15:51,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 63 transitions. [2018-11-23 10:15:51,866 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 63 transitions. [2018-11-23 10:15:51,986 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:15:51,987 INFO L225 Difference]: With dead ends: 87 [2018-11-23 10:15:51,988 INFO L226 Difference]: Without dead ends: 59 [2018-11-23 10:15:51,988 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 87 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 85 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=81, Invalid=381, Unknown=0, NotChecked=0, Total=462 [2018-11-23 10:15:51,989 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2018-11-23 10:15:52,041 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 59. [2018-11-23 10:15:52,042 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:15:52,042 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand 59 states. [2018-11-23 10:15:52,042 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 59 states. [2018-11-23 10:15:52,042 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 59 states. [2018-11-23 10:15:52,045 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:15:52,045 INFO L93 Difference]: Finished difference Result 59 states and 60 transitions. [2018-11-23 10:15:52,046 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 60 transitions. [2018-11-23 10:15:52,046 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:15:52,046 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:15:52,046 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 59 states. [2018-11-23 10:15:52,046 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 59 states. [2018-11-23 10:15:52,047 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:15:52,048 INFO L93 Difference]: Finished difference Result 59 states and 60 transitions. [2018-11-23 10:15:52,048 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 60 transitions. [2018-11-23 10:15:52,048 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:15:52,048 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:15:52,048 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:15:52,048 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:15:52,048 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2018-11-23 10:15:52,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 60 transitions. [2018-11-23 10:15:52,049 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 60 transitions. Word has length 54 [2018-11-23 10:15:52,049 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:15:52,050 INFO L480 AbstractCegarLoop]: Abstraction has 59 states and 60 transitions. [2018-11-23 10:15:52,050 INFO L481 AbstractCegarLoop]: Interpolant automaton has 22 states. [2018-11-23 10:15:52,050 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 60 transitions. [2018-11-23 10:15:52,050 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2018-11-23 10:15:52,050 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:15:52,050 INFO L402 BasicCegarLoop]: trace histogram [6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:15:52,051 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:15:52,051 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:15:52,051 INFO L82 PathProgramCache]: Analyzing trace with hash -337983801, now seen corresponding path program 8 times [2018-11-23 10:15:52,051 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:15:52,051 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 12 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 12 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:15:52,067 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 10:15:52,152 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 10:15:52,152 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:15:52,207 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:15:52,210 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:15:53,141 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:15:53,148 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 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 15 treesize of output 3 [2018-11-23 10:15:53,149 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:15:53,151 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:15:53,153 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:15:53,154 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:19, output treesize:3 [2018-11-23 10:15:53,159 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:15:53,159 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#aa~0.base|, |main_~#aa~0.offset|]. (let ((.cse0 (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))))) (and (= .cse0 |main_#t~mem3|) (bvsge .cse0 (_ bv0 32)))) [2018-11-23 10:15:53,160 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (bvsge |main_#t~mem3| (_ bv0 32)) [2018-11-23 10:15:53,266 INFO L256 TraceCheckUtils]: 0: Hoare triple {4030#true} call ULTIMATE.init(); {4030#true} is VALID [2018-11-23 10:15:53,266 INFO L273 TraceCheckUtils]: 1: Hoare triple {4030#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {4030#true} is VALID [2018-11-23 10:15:53,267 INFO L273 TraceCheckUtils]: 2: Hoare triple {4030#true} assume true; {4030#true} is VALID [2018-11-23 10:15:53,267 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4030#true} {4030#true} #49#return; {4030#true} is VALID [2018-11-23 10:15:53,267 INFO L256 TraceCheckUtils]: 4: Hoare triple {4030#true} call #t~ret4 := main(); {4030#true} is VALID [2018-11-23 10:15:53,268 INFO L273 TraceCheckUtils]: 5: Hoare triple {4030#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {4050#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:15:53,268 INFO L273 TraceCheckUtils]: 6: Hoare triple {4050#(= main_~a~0 (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {4050#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:15:53,269 INFO L273 TraceCheckUtils]: 7: Hoare triple {4050#(= main_~a~0 (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4057#(= (_ bv1 32) main_~a~0)} is VALID [2018-11-23 10:15:53,269 INFO L273 TraceCheckUtils]: 8: Hoare triple {4057#(= (_ bv1 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {4057#(= (_ bv1 32) main_~a~0)} is VALID [2018-11-23 10:15:53,270 INFO L273 TraceCheckUtils]: 9: Hoare triple {4057#(= (_ bv1 32) main_~a~0)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4064#(= (_ bv2 32) main_~a~0)} is VALID [2018-11-23 10:15:53,270 INFO L273 TraceCheckUtils]: 10: Hoare triple {4064#(= (_ bv2 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {4064#(= (_ bv2 32) main_~a~0)} is VALID [2018-11-23 10:15:53,271 INFO L273 TraceCheckUtils]: 11: Hoare triple {4064#(= (_ bv2 32) main_~a~0)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4071#(= (_ bv3 32) main_~a~0)} is VALID [2018-11-23 10:15:53,272 INFO L273 TraceCheckUtils]: 12: Hoare triple {4071#(= (_ bv3 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {4071#(= (_ bv3 32) main_~a~0)} is VALID [2018-11-23 10:15:53,272 INFO L273 TraceCheckUtils]: 13: Hoare triple {4071#(= (_ bv3 32) main_~a~0)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4078#(= (_ bv4 32) main_~a~0)} is VALID [2018-11-23 10:15:53,273 INFO L273 TraceCheckUtils]: 14: Hoare triple {4078#(= (_ bv4 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {4082#(= (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) |main_#t~mem0|)} is VALID [2018-11-23 10:15:53,276 INFO L273 TraceCheckUtils]: 15: Hoare triple {4082#(= (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) |main_#t~mem0|)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4086#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:15:53,277 INFO L273 TraceCheckUtils]: 16: Hoare triple {4086#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {4086#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:15:53,277 INFO L273 TraceCheckUtils]: 17: Hoare triple {4086#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32))} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {4086#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:15:53,278 INFO L273 TraceCheckUtils]: 18: Hoare triple {4086#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32))} havoc ~x~0;~x~0 := 0bv32; {4096#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,279 INFO L273 TraceCheckUtils]: 19: Hoare triple {4096#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {4096#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,282 INFO L256 TraceCheckUtils]: 20: Hoare triple {4096#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,283 INFO L273 TraceCheckUtils]: 21: Hoare triple {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} ~cond := #in~cond; {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,283 INFO L273 TraceCheckUtils]: 22: Hoare triple {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} assume !(0bv32 == ~cond); {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,284 INFO L273 TraceCheckUtils]: 23: Hoare triple {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} assume true; {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,286 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} {4096#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} #53#return; {4096#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,287 INFO L273 TraceCheckUtils]: 25: Hoare triple {4096#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} havoc #t~mem3; {4096#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,288 INFO L273 TraceCheckUtils]: 26: Hoare triple {4096#(and (= main_~x~0 (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4122#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,289 INFO L273 TraceCheckUtils]: 27: Hoare triple {4122#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {4122#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,292 INFO L256 TraceCheckUtils]: 28: Hoare triple {4122#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,293 INFO L273 TraceCheckUtils]: 29: Hoare triple {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} ~cond := #in~cond; {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,294 INFO L273 TraceCheckUtils]: 30: Hoare triple {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} assume !(0bv32 == ~cond); {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,295 INFO L273 TraceCheckUtils]: 31: Hoare triple {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} assume true; {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,296 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} {4122#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} #53#return; {4122#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,297 INFO L273 TraceCheckUtils]: 33: Hoare triple {4122#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} havoc #t~mem3; {4122#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,298 INFO L273 TraceCheckUtils]: 34: Hoare triple {4122#(and (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4147#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,299 INFO L273 TraceCheckUtils]: 35: Hoare triple {4147#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {4147#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,303 INFO L256 TraceCheckUtils]: 36: Hoare triple {4147#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,304 INFO L273 TraceCheckUtils]: 37: Hoare triple {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} ~cond := #in~cond; {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,304 INFO L273 TraceCheckUtils]: 38: Hoare triple {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} assume !(0bv32 == ~cond); {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,305 INFO L273 TraceCheckUtils]: 39: Hoare triple {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} assume true; {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,306 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} {4147#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} #53#return; {4147#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,308 INFO L273 TraceCheckUtils]: 41: Hoare triple {4147#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} havoc #t~mem3; {4147#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,309 INFO L273 TraceCheckUtils]: 42: Hoare triple {4147#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4172#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,310 INFO L273 TraceCheckUtils]: 43: Hoare triple {4172#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {4172#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,313 INFO L256 TraceCheckUtils]: 44: Hoare triple {4172#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,314 INFO L273 TraceCheckUtils]: 45: Hoare triple {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} ~cond := #in~cond; {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,315 INFO L273 TraceCheckUtils]: 46: Hoare triple {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} assume !(0bv32 == ~cond); {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,315 INFO L273 TraceCheckUtils]: 47: Hoare triple {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} assume true; {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,317 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {4103#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_13| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_13| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_13|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_13| (_ bv16 32))) (_ bv0 32)))} {4172#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} #53#return; {4172#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,318 INFO L273 TraceCheckUtils]: 49: Hoare triple {4172#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} havoc #t~mem3; {4172#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,319 INFO L273 TraceCheckUtils]: 50: Hoare triple {4172#(and (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4197#(and (= (_ bv4 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:15:53,320 INFO L273 TraceCheckUtils]: 51: Hoare triple {4197#(and (= (_ bv4 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {4201#(bvsge |main_#t~mem3| (_ bv0 32))} is VALID [2018-11-23 10:15:53,322 INFO L256 TraceCheckUtils]: 52: Hoare triple {4201#(bvsge |main_#t~mem3| (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4205#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:15:53,322 INFO L273 TraceCheckUtils]: 53: Hoare triple {4205#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {4209#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:15:53,323 INFO L273 TraceCheckUtils]: 54: Hoare triple {4209#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {4031#false} is VALID [2018-11-23 10:15:53,324 INFO L273 TraceCheckUtils]: 55: Hoare triple {4031#false} assume !false; {4031#false} is VALID [2018-11-23 10:15:53,335 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 0 proven. 70 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 10:15:53,335 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:16:04,049 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 22 treesize of output 18 [2018-11-23 10:16:06,068 WARN L670 Elim1Store]: solver failed to check if following equality is implied: (= (bvadd |main_~#aa~0.offset| (_ bv16 32)) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~a~0))) [2018-11-23 10:16:06,070 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:16:06,070 INFO L303 Elim1Store]: Index analysis took 2019 ms [2018-11-23 10:16:06,071 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 20 [2018-11-23 10:16:06,074 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:16:06,077 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:16:06,083 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 10:16:06,083 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:22, output treesize:9 [2018-11-23 10:16:06,110 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:16:06,110 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |main_~#aa~0.base|, |main_~#aa~0.offset|]. (let ((.cse0 (select |#memory_int| |main_~#aa~0.base|))) (or (not (bvsge (select .cse0 (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~a~0))) (_ bv0 32))) (bvsge (select .cse0 (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))) [2018-11-23 10:16:06,110 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [|main_~#aa~0.offset|]. (= (bvadd |main_~#aa~0.offset| (_ bv16 32)) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~a~0))) [2018-11-23 10:16:06,425 INFO L273 TraceCheckUtils]: 55: Hoare triple {4031#false} assume !false; {4031#false} is VALID [2018-11-23 10:16:06,436 INFO L273 TraceCheckUtils]: 54: Hoare triple {4219#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {4031#false} is VALID [2018-11-23 10:16:06,437 INFO L273 TraceCheckUtils]: 53: Hoare triple {4223#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {4219#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:16:06,437 INFO L256 TraceCheckUtils]: 52: Hoare triple {4201#(bvsge |main_#t~mem3| (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4223#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:16:06,438 INFO L273 TraceCheckUtils]: 51: Hoare triple {4230#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {4201#(bvsge |main_#t~mem3| (_ bv0 32))} is VALID [2018-11-23 10:16:08,455 INFO L273 TraceCheckUtils]: 50: Hoare triple {4234#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4230#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0))) (_ bv0 32))} is UNKNOWN [2018-11-23 10:16:08,456 INFO L273 TraceCheckUtils]: 49: Hoare triple {4234#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} havoc #t~mem3; {4234#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:16:08,457 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {4030#true} {4234#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} #53#return; {4234#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:16:08,457 INFO L273 TraceCheckUtils]: 47: Hoare triple {4030#true} assume true; {4030#true} is VALID [2018-11-23 10:16:08,457 INFO L273 TraceCheckUtils]: 46: Hoare triple {4030#true} assume !(0bv32 == ~cond); {4030#true} is VALID [2018-11-23 10:16:08,457 INFO L273 TraceCheckUtils]: 45: Hoare triple {4030#true} ~cond := #in~cond; {4030#true} is VALID [2018-11-23 10:16:08,457 INFO L256 TraceCheckUtils]: 44: Hoare triple {4234#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4030#true} is VALID [2018-11-23 10:16:08,477 INFO L273 TraceCheckUtils]: 43: Hoare triple {4234#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {4234#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:16:10,488 INFO L273 TraceCheckUtils]: 42: Hoare triple {4259#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4234#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} is UNKNOWN [2018-11-23 10:16:10,489 INFO L273 TraceCheckUtils]: 41: Hoare triple {4259#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} havoc #t~mem3; {4259#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} is VALID [2018-11-23 10:16:10,490 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {4030#true} {4259#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} #53#return; {4259#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} is VALID [2018-11-23 10:16:10,490 INFO L273 TraceCheckUtils]: 39: Hoare triple {4030#true} assume true; {4030#true} is VALID [2018-11-23 10:16:10,490 INFO L273 TraceCheckUtils]: 38: Hoare triple {4030#true} assume !(0bv32 == ~cond); {4030#true} is VALID [2018-11-23 10:16:10,490 INFO L273 TraceCheckUtils]: 37: Hoare triple {4030#true} ~cond := #in~cond; {4030#true} is VALID [2018-11-23 10:16:10,490 INFO L256 TraceCheckUtils]: 36: Hoare triple {4259#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4030#true} is VALID [2018-11-23 10:16:10,491 INFO L273 TraceCheckUtils]: 35: Hoare triple {4259#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {4259#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} is VALID [2018-11-23 10:16:12,497 INFO L273 TraceCheckUtils]: 34: Hoare triple {4284#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4259#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} is UNKNOWN [2018-11-23 10:16:12,498 INFO L273 TraceCheckUtils]: 33: Hoare triple {4284#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} havoc #t~mem3; {4284#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:16:12,498 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {4030#true} {4284#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} #53#return; {4284#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:16:12,499 INFO L273 TraceCheckUtils]: 31: Hoare triple {4030#true} assume true; {4030#true} is VALID [2018-11-23 10:16:12,499 INFO L273 TraceCheckUtils]: 30: Hoare triple {4030#true} assume !(0bv32 == ~cond); {4030#true} is VALID [2018-11-23 10:16:12,499 INFO L273 TraceCheckUtils]: 29: Hoare triple {4030#true} ~cond := #in~cond; {4030#true} is VALID [2018-11-23 10:16:12,499 INFO L256 TraceCheckUtils]: 28: Hoare triple {4284#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4030#true} is VALID [2018-11-23 10:16:12,499 INFO L273 TraceCheckUtils]: 27: Hoare triple {4284#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {4284#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:16:14,506 INFO L273 TraceCheckUtils]: 26: Hoare triple {4309#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv16 32))) (_ bv0 32))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4284#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} is UNKNOWN [2018-11-23 10:16:14,507 INFO L273 TraceCheckUtils]: 25: Hoare triple {4309#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv16 32))) (_ bv0 32))} havoc #t~mem3; {4309#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:16:14,508 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {4030#true} {4309#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv16 32))) (_ bv0 32))} #53#return; {4309#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:16:14,508 INFO L273 TraceCheckUtils]: 23: Hoare triple {4030#true} assume true; {4030#true} is VALID [2018-11-23 10:16:14,508 INFO L273 TraceCheckUtils]: 22: Hoare triple {4030#true} assume !(0bv32 == ~cond); {4030#true} is VALID [2018-11-23 10:16:14,508 INFO L273 TraceCheckUtils]: 21: Hoare triple {4030#true} ~cond := #in~cond; {4030#true} is VALID [2018-11-23 10:16:14,508 INFO L256 TraceCheckUtils]: 20: Hoare triple {4309#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv16 32))) (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4030#true} is VALID [2018-11-23 10:16:14,509 INFO L273 TraceCheckUtils]: 19: Hoare triple {4309#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv16 32))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {4309#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:16:14,509 INFO L273 TraceCheckUtils]: 18: Hoare triple {4086#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32))} havoc ~x~0;~x~0 := 0bv32; {4309#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:16:14,509 INFO L273 TraceCheckUtils]: 17: Hoare triple {4086#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32))} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {4086#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:16:14,510 INFO L273 TraceCheckUtils]: 16: Hoare triple {4086#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {4086#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:16:14,510 INFO L273 TraceCheckUtils]: 15: Hoare triple {4343#(or (not (bvsge |main_#t~mem0| (_ bv0 32))) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4086#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:16:14,511 INFO L273 TraceCheckUtils]: 14: Hoare triple {4347#(= (_ bv16 32) (bvmul (_ bv4 32) main_~a~0))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {4343#(or (not (bvsge |main_#t~mem0| (_ bv0 32))) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv16 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:14,513 INFO L273 TraceCheckUtils]: 13: Hoare triple {4351#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967284 32)) (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4347#(= (_ bv16 32) (bvmul (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:16:14,514 INFO L273 TraceCheckUtils]: 12: Hoare triple {4351#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967284 32)) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {4351#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967284 32)) (_ bv0 32))} is VALID [2018-11-23 10:16:14,515 INFO L273 TraceCheckUtils]: 11: Hoare triple {4358#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967288 32)) (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4351#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967284 32)) (_ bv0 32))} is VALID [2018-11-23 10:16:14,516 INFO L273 TraceCheckUtils]: 10: Hoare triple {4358#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967288 32)) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {4358#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967288 32)) (_ bv0 32))} is VALID [2018-11-23 10:16:14,517 INFO L273 TraceCheckUtils]: 9: Hoare triple {4365#(= (_ bv4 32) (bvmul (_ bv4 32) main_~a~0))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4358#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967288 32)) (_ bv0 32))} is VALID [2018-11-23 10:16:14,518 INFO L273 TraceCheckUtils]: 8: Hoare triple {4365#(= (_ bv4 32) (bvmul (_ bv4 32) main_~a~0))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {4365#(= (_ bv4 32) (bvmul (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:16:14,519 INFO L273 TraceCheckUtils]: 7: Hoare triple {4372#(= (bvmul (_ bv4 32) main_~a~0) (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4365#(= (_ bv4 32) (bvmul (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:16:14,519 INFO L273 TraceCheckUtils]: 6: Hoare triple {4372#(= (bvmul (_ bv4 32) main_~a~0) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {4372#(= (bvmul (_ bv4 32) main_~a~0) (_ bv0 32))} is VALID [2018-11-23 10:16:14,520 INFO L273 TraceCheckUtils]: 5: Hoare triple {4030#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {4372#(= (bvmul (_ bv4 32) main_~a~0) (_ bv0 32))} is VALID [2018-11-23 10:16:14,520 INFO L256 TraceCheckUtils]: 4: Hoare triple {4030#true} call #t~ret4 := main(); {4030#true} is VALID [2018-11-23 10:16:14,520 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4030#true} {4030#true} #49#return; {4030#true} is VALID [2018-11-23 10:16:14,520 INFO L273 TraceCheckUtils]: 2: Hoare triple {4030#true} assume true; {4030#true} is VALID [2018-11-23 10:16:14,521 INFO L273 TraceCheckUtils]: 1: Hoare triple {4030#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {4030#true} is VALID [2018-11-23 10:16:14,521 INFO L256 TraceCheckUtils]: 0: Hoare triple {4030#true} call ULTIMATE.init(); {4030#true} is VALID [2018-11-23 10:16:14,526 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 9 proven. 61 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 10:16:14,531 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:16:14,531 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 17] total 31 [2018-11-23 10:16:14,532 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 56 [2018-11-23 10:16:14,532 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:16:14,533 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states. [2018-11-23 10:16:26,788 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 80 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2018-11-23 10:16:26,788 INFO L459 AbstractCegarLoop]: Interpolant automaton has 31 states [2018-11-23 10:16:26,789 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2018-11-23 10:16:26,789 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=836, Unknown=5, NotChecked=0, Total=930 [2018-11-23 10:16:26,790 INFO L87 Difference]: Start difference. First operand 59 states and 60 transitions. Second operand 31 states. [2018-11-23 10:16:39,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:16:39,763 INFO L93 Difference]: Finished difference Result 71 states and 72 transitions. [2018-11-23 10:16:39,763 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-23 10:16:39,763 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 56 [2018-11-23 10:16:39,763 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:16:39,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 10:16:39,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 60 transitions. [2018-11-23 10:16:39,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 10:16:39,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 60 transitions. [2018-11-23 10:16:39,766 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 60 transitions. [2018-11-23 10:16:41,944 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 59 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2018-11-23 10:16:41,946 INFO L225 Difference]: With dead ends: 71 [2018-11-23 10:16:41,947 INFO L226 Difference]: Without dead ends: 69 [2018-11-23 10:16:41,948 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 75 SyntacticMatches, 7 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 237 ImplicationChecksByTransitivity, 11.8s TimeCoverageRelationStatistics Valid=121, Invalid=1134, Unknown=5, NotChecked=0, Total=1260 [2018-11-23 10:16:41,948 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2018-11-23 10:16:42,000 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 67. [2018-11-23 10:16:42,000 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:16:42,000 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand 67 states. [2018-11-23 10:16:42,000 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 67 states. [2018-11-23 10:16:42,000 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 67 states. [2018-11-23 10:16:42,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:16:42,002 INFO L93 Difference]: Finished difference Result 69 states and 70 transitions. [2018-11-23 10:16:42,002 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 70 transitions. [2018-11-23 10:16:42,003 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:16:42,003 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:16:42,003 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 69 states. [2018-11-23 10:16:42,003 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 69 states. [2018-11-23 10:16:42,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:16:42,005 INFO L93 Difference]: Finished difference Result 69 states and 70 transitions. [2018-11-23 10:16:42,005 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 70 transitions. [2018-11-23 10:16:42,006 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:16:42,006 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:16:42,006 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:16:42,006 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:16:42,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 67 states. [2018-11-23 10:16:42,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 68 transitions. [2018-11-23 10:16:42,008 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 68 transitions. Word has length 56 [2018-11-23 10:16:42,008 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:16:42,008 INFO L480 AbstractCegarLoop]: Abstraction has 67 states and 68 transitions. [2018-11-23 10:16:42,009 INFO L481 AbstractCegarLoop]: Interpolant automaton has 31 states. [2018-11-23 10:16:42,009 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 68 transitions. [2018-11-23 10:16:42,009 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2018-11-23 10:16:42,010 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:16:42,010 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:16:42,010 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:16:42,010 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:16:42,010 INFO L82 PathProgramCache]: Analyzing trace with hash 31087102, now seen corresponding path program 9 times [2018-11-23 10:16:42,011 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:16:42,011 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 13 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 13 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:16:42,032 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2018-11-23 10:16:42,260 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2018-11-23 10:16:42,260 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:16:42,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:16:42,288 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:16:42,536 INFO L256 TraceCheckUtils]: 0: Hoare triple {4738#true} call ULTIMATE.init(); {4738#true} is VALID [2018-11-23 10:16:42,537 INFO L273 TraceCheckUtils]: 1: Hoare triple {4738#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {4738#true} is VALID [2018-11-23 10:16:42,537 INFO L273 TraceCheckUtils]: 2: Hoare triple {4738#true} assume true; {4738#true} is VALID [2018-11-23 10:16:42,537 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4738#true} {4738#true} #49#return; {4738#true} is VALID [2018-11-23 10:16:42,537 INFO L256 TraceCheckUtils]: 4: Hoare triple {4738#true} call #t~ret4 := main(); {4738#true} is VALID [2018-11-23 10:16:42,538 INFO L273 TraceCheckUtils]: 5: Hoare triple {4738#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {4758#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:16:42,538 INFO L273 TraceCheckUtils]: 6: Hoare triple {4758#(= main_~a~0 (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {4758#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:16:42,539 INFO L273 TraceCheckUtils]: 7: Hoare triple {4758#(= main_~a~0 (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4765#(= (_ bv1 32) main_~a~0)} is VALID [2018-11-23 10:16:42,539 INFO L273 TraceCheckUtils]: 8: Hoare triple {4765#(= (_ bv1 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {4765#(= (_ bv1 32) main_~a~0)} is VALID [2018-11-23 10:16:42,540 INFO L273 TraceCheckUtils]: 9: Hoare triple {4765#(= (_ bv1 32) main_~a~0)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4772#(= (_ bv2 32) main_~a~0)} is VALID [2018-11-23 10:16:42,540 INFO L273 TraceCheckUtils]: 10: Hoare triple {4772#(= (_ bv2 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {4772#(= (_ bv2 32) main_~a~0)} is VALID [2018-11-23 10:16:42,541 INFO L273 TraceCheckUtils]: 11: Hoare triple {4772#(= (_ bv2 32) main_~a~0)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4779#(= (_ bv3 32) main_~a~0)} is VALID [2018-11-23 10:16:42,541 INFO L273 TraceCheckUtils]: 12: Hoare triple {4779#(= (_ bv3 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {4779#(= (_ bv3 32) main_~a~0)} is VALID [2018-11-23 10:16:42,542 INFO L273 TraceCheckUtils]: 13: Hoare triple {4779#(= (_ bv3 32) main_~a~0)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4786#(= (_ bv4 32) main_~a~0)} is VALID [2018-11-23 10:16:42,542 INFO L273 TraceCheckUtils]: 14: Hoare triple {4786#(= (_ bv4 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {4786#(= (_ bv4 32) main_~a~0)} is VALID [2018-11-23 10:16:42,543 INFO L273 TraceCheckUtils]: 15: Hoare triple {4786#(= (_ bv4 32) main_~a~0)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4793#(= (_ bv5 32) main_~a~0)} is VALID [2018-11-23 10:16:42,544 INFO L273 TraceCheckUtils]: 16: Hoare triple {4793#(= (_ bv5 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {4793#(= (_ bv5 32) main_~a~0)} is VALID [2018-11-23 10:16:42,544 INFO L273 TraceCheckUtils]: 17: Hoare triple {4793#(= (_ bv5 32) main_~a~0)} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {4793#(= (_ bv5 32) main_~a~0)} is VALID [2018-11-23 10:16:42,545 INFO L273 TraceCheckUtils]: 18: Hoare triple {4793#(= (_ bv5 32) main_~a~0)} havoc ~x~0;~x~0 := 0bv32; {4803#(and (= (_ bv5 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:16:42,546 INFO L273 TraceCheckUtils]: 19: Hoare triple {4803#(and (= (_ bv5 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {4803#(and (= (_ bv5 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:16:42,546 INFO L256 TraceCheckUtils]: 20: Hoare triple {4803#(and (= (_ bv5 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4738#true} is VALID [2018-11-23 10:16:42,546 INFO L273 TraceCheckUtils]: 21: Hoare triple {4738#true} ~cond := #in~cond; {4738#true} is VALID [2018-11-23 10:16:42,547 INFO L273 TraceCheckUtils]: 22: Hoare triple {4738#true} assume !(0bv32 == ~cond); {4738#true} is VALID [2018-11-23 10:16:42,547 INFO L273 TraceCheckUtils]: 23: Hoare triple {4738#true} assume true; {4738#true} is VALID [2018-11-23 10:16:42,548 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {4738#true} {4803#(and (= (_ bv5 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} #53#return; {4803#(and (= (_ bv5 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:16:42,549 INFO L273 TraceCheckUtils]: 25: Hoare triple {4803#(and (= (_ bv5 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} havoc #t~mem3; {4803#(and (= (_ bv5 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:16:42,549 INFO L273 TraceCheckUtils]: 26: Hoare triple {4803#(and (= (_ bv5 32) main_~a~0) (= main_~x~0 (_ bv0 32)))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4828#(and (= (_ bv5 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:16:42,550 INFO L273 TraceCheckUtils]: 27: Hoare triple {4828#(and (= (_ bv5 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {4828#(and (= (_ bv5 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:16:42,551 INFO L256 TraceCheckUtils]: 28: Hoare triple {4828#(and (= (_ bv5 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4738#true} is VALID [2018-11-23 10:16:42,551 INFO L273 TraceCheckUtils]: 29: Hoare triple {4738#true} ~cond := #in~cond; {4738#true} is VALID [2018-11-23 10:16:42,551 INFO L273 TraceCheckUtils]: 30: Hoare triple {4738#true} assume !(0bv32 == ~cond); {4738#true} is VALID [2018-11-23 10:16:42,552 INFO L273 TraceCheckUtils]: 31: Hoare triple {4738#true} assume true; {4738#true} is VALID [2018-11-23 10:16:42,567 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {4738#true} {4828#(and (= (_ bv5 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} #53#return; {4828#(and (= (_ bv5 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:16:42,568 INFO L273 TraceCheckUtils]: 33: Hoare triple {4828#(and (= (_ bv5 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} havoc #t~mem3; {4828#(and (= (_ bv5 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:16:42,568 INFO L273 TraceCheckUtils]: 34: Hoare triple {4828#(and (= (_ bv5 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4853#(and (= (_ bv2 32) main_~x~0) (= (_ bv5 32) main_~a~0))} is VALID [2018-11-23 10:16:42,569 INFO L273 TraceCheckUtils]: 35: Hoare triple {4853#(and (= (_ bv2 32) main_~x~0) (= (_ bv5 32) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {4853#(and (= (_ bv2 32) main_~x~0) (= (_ bv5 32) main_~a~0))} is VALID [2018-11-23 10:16:42,569 INFO L256 TraceCheckUtils]: 36: Hoare triple {4853#(and (= (_ bv2 32) main_~x~0) (= (_ bv5 32) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4738#true} is VALID [2018-11-23 10:16:42,569 INFO L273 TraceCheckUtils]: 37: Hoare triple {4738#true} ~cond := #in~cond; {4738#true} is VALID [2018-11-23 10:16:42,569 INFO L273 TraceCheckUtils]: 38: Hoare triple {4738#true} assume !(0bv32 == ~cond); {4738#true} is VALID [2018-11-23 10:16:42,569 INFO L273 TraceCheckUtils]: 39: Hoare triple {4738#true} assume true; {4738#true} is VALID [2018-11-23 10:16:42,570 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {4738#true} {4853#(and (= (_ bv2 32) main_~x~0) (= (_ bv5 32) main_~a~0))} #53#return; {4853#(and (= (_ bv2 32) main_~x~0) (= (_ bv5 32) main_~a~0))} is VALID [2018-11-23 10:16:42,571 INFO L273 TraceCheckUtils]: 41: Hoare triple {4853#(and (= (_ bv2 32) main_~x~0) (= (_ bv5 32) main_~a~0))} havoc #t~mem3; {4853#(and (= (_ bv2 32) main_~x~0) (= (_ bv5 32) main_~a~0))} is VALID [2018-11-23 10:16:42,571 INFO L273 TraceCheckUtils]: 42: Hoare triple {4853#(and (= (_ bv2 32) main_~x~0) (= (_ bv5 32) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4878#(and (= (_ bv5 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 10:16:42,572 INFO L273 TraceCheckUtils]: 43: Hoare triple {4878#(and (= (_ bv5 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {4878#(and (= (_ bv5 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 10:16:42,572 INFO L256 TraceCheckUtils]: 44: Hoare triple {4878#(and (= (_ bv5 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4738#true} is VALID [2018-11-23 10:16:42,573 INFO L273 TraceCheckUtils]: 45: Hoare triple {4738#true} ~cond := #in~cond; {4738#true} is VALID [2018-11-23 10:16:42,573 INFO L273 TraceCheckUtils]: 46: Hoare triple {4738#true} assume !(0bv32 == ~cond); {4738#true} is VALID [2018-11-23 10:16:42,573 INFO L273 TraceCheckUtils]: 47: Hoare triple {4738#true} assume true; {4738#true} is VALID [2018-11-23 10:16:42,574 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {4738#true} {4878#(and (= (_ bv5 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)))} #53#return; {4878#(and (= (_ bv5 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 10:16:42,575 INFO L273 TraceCheckUtils]: 49: Hoare triple {4878#(and (= (_ bv5 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)))} havoc #t~mem3; {4878#(and (= (_ bv5 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 10:16:42,576 INFO L273 TraceCheckUtils]: 50: Hoare triple {4878#(and (= (_ bv5 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4903#(and (= (_ bv4 32) main_~x~0) (= (_ bv5 32) main_~a~0))} is VALID [2018-11-23 10:16:42,576 INFO L273 TraceCheckUtils]: 51: Hoare triple {4903#(and (= (_ bv4 32) main_~x~0) (= (_ bv5 32) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {4903#(and (= (_ bv4 32) main_~x~0) (= (_ bv5 32) main_~a~0))} is VALID [2018-11-23 10:16:42,577 INFO L256 TraceCheckUtils]: 52: Hoare triple {4903#(and (= (_ bv4 32) main_~x~0) (= (_ bv5 32) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4738#true} is VALID [2018-11-23 10:16:42,577 INFO L273 TraceCheckUtils]: 53: Hoare triple {4738#true} ~cond := #in~cond; {4738#true} is VALID [2018-11-23 10:16:42,577 INFO L273 TraceCheckUtils]: 54: Hoare triple {4738#true} assume !(0bv32 == ~cond); {4738#true} is VALID [2018-11-23 10:16:42,577 INFO L273 TraceCheckUtils]: 55: Hoare triple {4738#true} assume true; {4738#true} is VALID [2018-11-23 10:16:42,578 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {4738#true} {4903#(and (= (_ bv4 32) main_~x~0) (= (_ bv5 32) main_~a~0))} #53#return; {4903#(and (= (_ bv4 32) main_~x~0) (= (_ bv5 32) main_~a~0))} is VALID [2018-11-23 10:16:42,579 INFO L273 TraceCheckUtils]: 57: Hoare triple {4903#(and (= (_ bv4 32) main_~x~0) (= (_ bv5 32) main_~a~0))} havoc #t~mem3; {4903#(and (= (_ bv4 32) main_~x~0) (= (_ bv5 32) main_~a~0))} is VALID [2018-11-23 10:16:42,579 INFO L273 TraceCheckUtils]: 58: Hoare triple {4903#(and (= (_ bv4 32) main_~x~0) (= (_ bv5 32) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4928#(and (= (_ bv5 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967291 32)) (_ bv0 32)))} is VALID [2018-11-23 10:16:42,580 INFO L273 TraceCheckUtils]: 59: Hoare triple {4928#(and (= (_ bv5 32) main_~a~0) (= (bvadd main_~x~0 (_ bv4294967291 32)) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {4739#false} is VALID [2018-11-23 10:16:42,580 INFO L256 TraceCheckUtils]: 60: Hoare triple {4739#false} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4739#false} is VALID [2018-11-23 10:16:42,580 INFO L273 TraceCheckUtils]: 61: Hoare triple {4739#false} ~cond := #in~cond; {4739#false} is VALID [2018-11-23 10:16:42,580 INFO L273 TraceCheckUtils]: 62: Hoare triple {4739#false} assume 0bv32 == ~cond; {4739#false} is VALID [2018-11-23 10:16:42,580 INFO L273 TraceCheckUtils]: 63: Hoare triple {4739#false} assume !false; {4739#false} is VALID [2018-11-23 10:16:42,585 INFO L134 CoverageAnalysis]: Checked inductivity of 130 backedges. 15 proven. 75 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-23 10:16:42,586 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:16:43,312 INFO L273 TraceCheckUtils]: 63: Hoare triple {4739#false} assume !false; {4739#false} is VALID [2018-11-23 10:16:43,313 INFO L273 TraceCheckUtils]: 62: Hoare triple {4739#false} assume 0bv32 == ~cond; {4739#false} is VALID [2018-11-23 10:16:43,313 INFO L273 TraceCheckUtils]: 61: Hoare triple {4739#false} ~cond := #in~cond; {4739#false} is VALID [2018-11-23 10:16:43,313 INFO L256 TraceCheckUtils]: 60: Hoare triple {4739#false} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4739#false} is VALID [2018-11-23 10:16:43,313 INFO L273 TraceCheckUtils]: 59: Hoare triple {4956#(not (bvslt main_~x~0 main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {4739#false} is VALID [2018-11-23 10:16:43,314 INFO L273 TraceCheckUtils]: 58: Hoare triple {4960#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4956#(not (bvslt main_~x~0 main_~a~0))} is VALID [2018-11-23 10:16:43,315 INFO L273 TraceCheckUtils]: 57: Hoare triple {4960#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} havoc #t~mem3; {4960#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} is VALID [2018-11-23 10:16:43,316 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {4738#true} {4960#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} #53#return; {4960#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} is VALID [2018-11-23 10:16:43,316 INFO L273 TraceCheckUtils]: 55: Hoare triple {4738#true} assume true; {4738#true} is VALID [2018-11-23 10:16:43,316 INFO L273 TraceCheckUtils]: 54: Hoare triple {4738#true} assume !(0bv32 == ~cond); {4738#true} is VALID [2018-11-23 10:16:43,316 INFO L273 TraceCheckUtils]: 53: Hoare triple {4738#true} ~cond := #in~cond; {4738#true} is VALID [2018-11-23 10:16:43,316 INFO L256 TraceCheckUtils]: 52: Hoare triple {4960#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4738#true} is VALID [2018-11-23 10:16:43,336 INFO L273 TraceCheckUtils]: 51: Hoare triple {4960#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {4960#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} is VALID [2018-11-23 10:16:43,361 INFO L273 TraceCheckUtils]: 50: Hoare triple {4985#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4960#(not (bvslt (bvadd main_~x~0 (_ bv1 32)) main_~a~0))} is VALID [2018-11-23 10:16:43,376 INFO L273 TraceCheckUtils]: 49: Hoare triple {4985#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} havoc #t~mem3; {4985#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} is VALID [2018-11-23 10:16:43,392 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {4738#true} {4985#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} #53#return; {4985#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} is VALID [2018-11-23 10:16:43,392 INFO L273 TraceCheckUtils]: 47: Hoare triple {4738#true} assume true; {4738#true} is VALID [2018-11-23 10:16:43,392 INFO L273 TraceCheckUtils]: 46: Hoare triple {4738#true} assume !(0bv32 == ~cond); {4738#true} is VALID [2018-11-23 10:16:43,393 INFO L273 TraceCheckUtils]: 45: Hoare triple {4738#true} ~cond := #in~cond; {4738#true} is VALID [2018-11-23 10:16:43,393 INFO L256 TraceCheckUtils]: 44: Hoare triple {4985#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4738#true} is VALID [2018-11-23 10:16:43,406 INFO L273 TraceCheckUtils]: 43: Hoare triple {4985#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {4985#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} is VALID [2018-11-23 10:16:43,453 INFO L273 TraceCheckUtils]: 42: Hoare triple {5010#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4985#(not (bvslt (bvadd main_~x~0 (_ bv2 32)) main_~a~0))} is VALID [2018-11-23 10:16:43,453 INFO L273 TraceCheckUtils]: 41: Hoare triple {5010#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} havoc #t~mem3; {5010#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} is VALID [2018-11-23 10:16:43,454 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {4738#true} {5010#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} #53#return; {5010#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} is VALID [2018-11-23 10:16:43,454 INFO L273 TraceCheckUtils]: 39: Hoare triple {4738#true} assume true; {4738#true} is VALID [2018-11-23 10:16:43,454 INFO L273 TraceCheckUtils]: 38: Hoare triple {4738#true} assume !(0bv32 == ~cond); {4738#true} is VALID [2018-11-23 10:16:43,455 INFO L273 TraceCheckUtils]: 37: Hoare triple {4738#true} ~cond := #in~cond; {4738#true} is VALID [2018-11-23 10:16:43,455 INFO L256 TraceCheckUtils]: 36: Hoare triple {5010#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4738#true} is VALID [2018-11-23 10:16:43,455 INFO L273 TraceCheckUtils]: 35: Hoare triple {5010#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {5010#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} is VALID [2018-11-23 10:16:43,480 INFO L273 TraceCheckUtils]: 34: Hoare triple {5035#(not (bvslt (bvadd main_~x~0 (_ bv4 32)) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5010#(not (bvslt (bvadd main_~x~0 (_ bv3 32)) main_~a~0))} is VALID [2018-11-23 10:16:43,481 INFO L273 TraceCheckUtils]: 33: Hoare triple {5035#(not (bvslt (bvadd main_~x~0 (_ bv4 32)) main_~a~0))} havoc #t~mem3; {5035#(not (bvslt (bvadd main_~x~0 (_ bv4 32)) main_~a~0))} is VALID [2018-11-23 10:16:43,482 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {4738#true} {5035#(not (bvslt (bvadd main_~x~0 (_ bv4 32)) main_~a~0))} #53#return; {5035#(not (bvslt (bvadd main_~x~0 (_ bv4 32)) main_~a~0))} is VALID [2018-11-23 10:16:43,482 INFO L273 TraceCheckUtils]: 31: Hoare triple {4738#true} assume true; {4738#true} is VALID [2018-11-23 10:16:43,482 INFO L273 TraceCheckUtils]: 30: Hoare triple {4738#true} assume !(0bv32 == ~cond); {4738#true} is VALID [2018-11-23 10:16:43,482 INFO L273 TraceCheckUtils]: 29: Hoare triple {4738#true} ~cond := #in~cond; {4738#true} is VALID [2018-11-23 10:16:43,482 INFO L256 TraceCheckUtils]: 28: Hoare triple {5035#(not (bvslt (bvadd main_~x~0 (_ bv4 32)) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4738#true} is VALID [2018-11-23 10:16:43,483 INFO L273 TraceCheckUtils]: 27: Hoare triple {5035#(not (bvslt (bvadd main_~x~0 (_ bv4 32)) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {5035#(not (bvslt (bvadd main_~x~0 (_ bv4 32)) main_~a~0))} is VALID [2018-11-23 10:16:43,512 INFO L273 TraceCheckUtils]: 26: Hoare triple {5060#(not (bvslt (bvadd main_~x~0 (_ bv5 32)) main_~a~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5035#(not (bvslt (bvadd main_~x~0 (_ bv4 32)) main_~a~0))} is VALID [2018-11-23 10:16:43,513 INFO L273 TraceCheckUtils]: 25: Hoare triple {5060#(not (bvslt (bvadd main_~x~0 (_ bv5 32)) main_~a~0))} havoc #t~mem3; {5060#(not (bvslt (bvadd main_~x~0 (_ bv5 32)) main_~a~0))} is VALID [2018-11-23 10:16:43,514 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {4738#true} {5060#(not (bvslt (bvadd main_~x~0 (_ bv5 32)) main_~a~0))} #53#return; {5060#(not (bvslt (bvadd main_~x~0 (_ bv5 32)) main_~a~0))} is VALID [2018-11-23 10:16:43,514 INFO L273 TraceCheckUtils]: 23: Hoare triple {4738#true} assume true; {4738#true} is VALID [2018-11-23 10:16:43,514 INFO L273 TraceCheckUtils]: 22: Hoare triple {4738#true} assume !(0bv32 == ~cond); {4738#true} is VALID [2018-11-23 10:16:43,514 INFO L273 TraceCheckUtils]: 21: Hoare triple {4738#true} ~cond := #in~cond; {4738#true} is VALID [2018-11-23 10:16:43,515 INFO L256 TraceCheckUtils]: 20: Hoare triple {5060#(not (bvslt (bvadd main_~x~0 (_ bv5 32)) main_~a~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {4738#true} is VALID [2018-11-23 10:16:43,515 INFO L273 TraceCheckUtils]: 19: Hoare triple {5060#(not (bvslt (bvadd main_~x~0 (_ bv5 32)) main_~a~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {5060#(not (bvslt (bvadd main_~x~0 (_ bv5 32)) main_~a~0))} is VALID [2018-11-23 10:16:43,516 INFO L273 TraceCheckUtils]: 18: Hoare triple {5085#(not (bvslt (_ bv5 32) main_~a~0))} havoc ~x~0;~x~0 := 0bv32; {5060#(not (bvslt (bvadd main_~x~0 (_ bv5 32)) main_~a~0))} is VALID [2018-11-23 10:16:43,517 INFO L273 TraceCheckUtils]: 17: Hoare triple {5085#(not (bvslt (_ bv5 32) main_~a~0))} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {5085#(not (bvslt (_ bv5 32) main_~a~0))} is VALID [2018-11-23 10:16:43,517 INFO L273 TraceCheckUtils]: 16: Hoare triple {5085#(not (bvslt (_ bv5 32) main_~a~0))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {5085#(not (bvslt (_ bv5 32) main_~a~0))} is VALID [2018-11-23 10:16:43,519 INFO L273 TraceCheckUtils]: 15: Hoare triple {5095#(not (bvslt (_ bv5 32) (bvadd main_~a~0 (_ bv1 32))))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5085#(not (bvslt (_ bv5 32) main_~a~0))} is VALID [2018-11-23 10:16:43,520 INFO L273 TraceCheckUtils]: 14: Hoare triple {5095#(not (bvslt (_ bv5 32) (bvadd main_~a~0 (_ bv1 32))))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {5095#(not (bvslt (_ bv5 32) (bvadd main_~a~0 (_ bv1 32))))} is VALID [2018-11-23 10:16:43,523 INFO L273 TraceCheckUtils]: 13: Hoare triple {5102#(not (bvslt (_ bv5 32) (bvadd main_~a~0 (_ bv2 32))))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5095#(not (bvslt (_ bv5 32) (bvadd main_~a~0 (_ bv1 32))))} is VALID [2018-11-23 10:16:43,524 INFO L273 TraceCheckUtils]: 12: Hoare triple {5102#(not (bvslt (_ bv5 32) (bvadd main_~a~0 (_ bv2 32))))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {5102#(not (bvslt (_ bv5 32) (bvadd main_~a~0 (_ bv2 32))))} is VALID [2018-11-23 10:16:43,535 INFO L273 TraceCheckUtils]: 11: Hoare triple {5109#(not (bvslt (_ bv5 32) (bvadd main_~a~0 (_ bv3 32))))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5102#(not (bvslt (_ bv5 32) (bvadd main_~a~0 (_ bv2 32))))} is VALID [2018-11-23 10:16:43,535 INFO L273 TraceCheckUtils]: 10: Hoare triple {5109#(not (bvslt (_ bv5 32) (bvadd main_~a~0 (_ bv3 32))))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {5109#(not (bvslt (_ bv5 32) (bvadd main_~a~0 (_ bv3 32))))} is VALID [2018-11-23 10:16:43,540 INFO L273 TraceCheckUtils]: 9: Hoare triple {5116#(not (bvslt (_ bv5 32) (bvadd main_~a~0 (_ bv4 32))))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5109#(not (bvslt (_ bv5 32) (bvadd main_~a~0 (_ bv3 32))))} is VALID [2018-11-23 10:16:43,541 INFO L273 TraceCheckUtils]: 8: Hoare triple {5116#(not (bvslt (_ bv5 32) (bvadd main_~a~0 (_ bv4 32))))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {5116#(not (bvslt (_ bv5 32) (bvadd main_~a~0 (_ bv4 32))))} is VALID [2018-11-23 10:16:43,544 INFO L273 TraceCheckUtils]: 7: Hoare triple {5123#(not (bvslt (_ bv5 32) (bvadd main_~a~0 (_ bv5 32))))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5116#(not (bvslt (_ bv5 32) (bvadd main_~a~0 (_ bv4 32))))} is VALID [2018-11-23 10:16:43,545 INFO L273 TraceCheckUtils]: 6: Hoare triple {5123#(not (bvslt (_ bv5 32) (bvadd main_~a~0 (_ bv5 32))))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {5123#(not (bvslt (_ bv5 32) (bvadd main_~a~0 (_ bv5 32))))} is VALID [2018-11-23 10:16:43,545 INFO L273 TraceCheckUtils]: 5: Hoare triple {4738#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {5123#(not (bvslt (_ bv5 32) (bvadd main_~a~0 (_ bv5 32))))} is VALID [2018-11-23 10:16:43,545 INFO L256 TraceCheckUtils]: 4: Hoare triple {4738#true} call #t~ret4 := main(); {4738#true} is VALID [2018-11-23 10:16:43,545 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4738#true} {4738#true} #49#return; {4738#true} is VALID [2018-11-23 10:16:43,545 INFO L273 TraceCheckUtils]: 2: Hoare triple {4738#true} assume true; {4738#true} is VALID [2018-11-23 10:16:43,546 INFO L273 TraceCheckUtils]: 1: Hoare triple {4738#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {4738#true} is VALID [2018-11-23 10:16:43,546 INFO L256 TraceCheckUtils]: 0: Hoare triple {4738#true} call ULTIMATE.init(); {4738#true} is VALID [2018-11-23 10:16:43,550 INFO L134 CoverageAnalysis]: Checked inductivity of 130 backedges. 15 proven. 75 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-23 10:16:43,556 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:16:43,556 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 26 [2018-11-23 10:16:43,556 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 64 [2018-11-23 10:16:43,557 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:16:43,557 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states. [2018-11-23 10:16:43,834 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:16:43,834 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2018-11-23 10:16:43,835 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2018-11-23 10:16:43,835 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=103, Invalid=547, Unknown=0, NotChecked=0, Total=650 [2018-11-23 10:16:43,835 INFO L87 Difference]: Start difference. First operand 67 states and 68 transitions. Second operand 26 states. [2018-11-23 10:16:46,947 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:16:46,947 INFO L93 Difference]: Finished difference Result 101 states and 108 transitions. [2018-11-23 10:16:46,947 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-23 10:16:46,947 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 64 [2018-11-23 10:16:46,948 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:16:46,948 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 10:16:46,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 70 transitions. [2018-11-23 10:16:46,950 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 10:16:46,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 70 transitions. [2018-11-23 10:16:46,952 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 70 transitions. [2018-11-23 10:16:47,061 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:16:47,063 INFO L225 Difference]: With dead ends: 101 [2018-11-23 10:16:47,063 INFO L226 Difference]: Without dead ends: 69 [2018-11-23 10:16:47,064 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 127 GetRequests, 103 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 123 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=103, Invalid=547, Unknown=0, NotChecked=0, Total=650 [2018-11-23 10:16:47,065 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2018-11-23 10:16:47,127 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 69. [2018-11-23 10:16:47,127 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:16:47,127 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand 69 states. [2018-11-23 10:16:47,127 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 69 states. [2018-11-23 10:16:47,127 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 69 states. [2018-11-23 10:16:47,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:16:47,129 INFO L93 Difference]: Finished difference Result 69 states and 70 transitions. [2018-11-23 10:16:47,129 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 70 transitions. [2018-11-23 10:16:47,130 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:16:47,130 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:16:47,130 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 69 states. [2018-11-23 10:16:47,130 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 69 states. [2018-11-23 10:16:47,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:16:47,132 INFO L93 Difference]: Finished difference Result 69 states and 70 transitions. [2018-11-23 10:16:47,132 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 70 transitions. [2018-11-23 10:16:47,132 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:16:47,132 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:16:47,132 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:16:47,133 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:16:47,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2018-11-23 10:16:47,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 70 transitions. [2018-11-23 10:16:47,134 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 70 transitions. Word has length 64 [2018-11-23 10:16:47,134 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:16:47,134 INFO L480 AbstractCegarLoop]: Abstraction has 69 states and 70 transitions. [2018-11-23 10:16:47,134 INFO L481 AbstractCegarLoop]: Interpolant automaton has 26 states. [2018-11-23 10:16:47,134 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 70 transitions. [2018-11-23 10:16:47,135 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2018-11-23 10:16:47,135 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:16:47,135 INFO L402 BasicCegarLoop]: trace histogram [7, 6, 6, 6, 6, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:16:47,135 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:16:47,136 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:16:47,136 INFO L82 PathProgramCache]: Analyzing trace with hash -307462653, now seen corresponding path program 10 times [2018-11-23 10:16:47,136 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:16:47,136 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 14 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 14 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:16:47,172 INFO L101 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 10:16:47,260 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 10:16:47,260 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:16:47,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:16:47,291 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:16:48,411 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:16:48,417 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 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 15 treesize of output 3 [2018-11-23 10:16:48,421 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:16:48,423 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:16:48,425 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:16:48,426 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:19, output treesize:3 [2018-11-23 10:16:48,431 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:16:48,431 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#aa~0.base|, |main_~#aa~0.offset|]. (let ((.cse0 (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))))) (and (bvsge .cse0 (_ bv0 32)) (= .cse0 |main_#t~mem3|))) [2018-11-23 10:16:48,431 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (bvsge |main_#t~mem3| (_ bv0 32)) [2018-11-23 10:16:48,540 INFO L256 TraceCheckUtils]: 0: Hoare triple {5527#true} call ULTIMATE.init(); {5527#true} is VALID [2018-11-23 10:16:48,540 INFO L273 TraceCheckUtils]: 1: Hoare triple {5527#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {5527#true} is VALID [2018-11-23 10:16:48,541 INFO L273 TraceCheckUtils]: 2: Hoare triple {5527#true} assume true; {5527#true} is VALID [2018-11-23 10:16:48,541 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5527#true} {5527#true} #49#return; {5527#true} is VALID [2018-11-23 10:16:48,541 INFO L256 TraceCheckUtils]: 4: Hoare triple {5527#true} call #t~ret4 := main(); {5527#true} is VALID [2018-11-23 10:16:48,542 INFO L273 TraceCheckUtils]: 5: Hoare triple {5527#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {5547#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:16:48,543 INFO L273 TraceCheckUtils]: 6: Hoare triple {5547#(= main_~a~0 (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {5547#(= main_~a~0 (_ bv0 32))} is VALID [2018-11-23 10:16:48,543 INFO L273 TraceCheckUtils]: 7: Hoare triple {5547#(= main_~a~0 (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5554#(= (_ bv1 32) main_~a~0)} is VALID [2018-11-23 10:16:48,543 INFO L273 TraceCheckUtils]: 8: Hoare triple {5554#(= (_ bv1 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {5554#(= (_ bv1 32) main_~a~0)} is VALID [2018-11-23 10:16:48,544 INFO L273 TraceCheckUtils]: 9: Hoare triple {5554#(= (_ bv1 32) main_~a~0)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5561#(= (_ bv2 32) main_~a~0)} is VALID [2018-11-23 10:16:48,544 INFO L273 TraceCheckUtils]: 10: Hoare triple {5561#(= (_ bv2 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {5561#(= (_ bv2 32) main_~a~0)} is VALID [2018-11-23 10:16:48,544 INFO L273 TraceCheckUtils]: 11: Hoare triple {5561#(= (_ bv2 32) main_~a~0)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5568#(= (_ bv3 32) main_~a~0)} is VALID [2018-11-23 10:16:48,545 INFO L273 TraceCheckUtils]: 12: Hoare triple {5568#(= (_ bv3 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {5568#(= (_ bv3 32) main_~a~0)} is VALID [2018-11-23 10:16:48,545 INFO L273 TraceCheckUtils]: 13: Hoare triple {5568#(= (_ bv3 32) main_~a~0)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5575#(= (_ bv4 32) main_~a~0)} is VALID [2018-11-23 10:16:48,546 INFO L273 TraceCheckUtils]: 14: Hoare triple {5575#(= (_ bv4 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {5575#(= (_ bv4 32) main_~a~0)} is VALID [2018-11-23 10:16:48,546 INFO L273 TraceCheckUtils]: 15: Hoare triple {5575#(= (_ bv4 32) main_~a~0)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5582#(= (_ bv5 32) main_~a~0)} is VALID [2018-11-23 10:16:48,547 INFO L273 TraceCheckUtils]: 16: Hoare triple {5582#(= (_ bv5 32) main_~a~0)} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {5586#(= (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) |main_#t~mem0|)} is VALID [2018-11-23 10:16:48,548 INFO L273 TraceCheckUtils]: 17: Hoare triple {5586#(= (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) |main_#t~mem0|)} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5590#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32))} is VALID [2018-11-23 10:16:48,548 INFO L273 TraceCheckUtils]: 18: Hoare triple {5590#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {5590#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32))} is VALID [2018-11-23 10:16:48,549 INFO L273 TraceCheckUtils]: 19: Hoare triple {5590#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32))} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {5590#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32))} is VALID [2018-11-23 10:16:48,550 INFO L273 TraceCheckUtils]: 20: Hoare triple {5590#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32))} havoc ~x~0;~x~0 := 0bv32; {5600#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:16:48,550 INFO L273 TraceCheckUtils]: 21: Hoare triple {5600#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= main_~x~0 (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {5600#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:16:48,553 INFO L256 TraceCheckUtils]: 22: Hoare triple {5600#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= main_~x~0 (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,554 INFO L273 TraceCheckUtils]: 23: Hoare triple {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} ~cond := #in~cond; {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,554 INFO L273 TraceCheckUtils]: 24: Hoare triple {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} assume !(0bv32 == ~cond); {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,555 INFO L273 TraceCheckUtils]: 25: Hoare triple {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} assume true; {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,556 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} {5600#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= main_~x~0 (_ bv0 32)))} #53#return; {5600#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:16:48,557 INFO L273 TraceCheckUtils]: 27: Hoare triple {5600#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= main_~x~0 (_ bv0 32)))} havoc #t~mem3; {5600#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= main_~x~0 (_ bv0 32)))} is VALID [2018-11-23 10:16:48,558 INFO L273 TraceCheckUtils]: 28: Hoare triple {5600#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= main_~x~0 (_ bv0 32)))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5626#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,558 INFO L273 TraceCheckUtils]: 29: Hoare triple {5626#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {5626#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,561 INFO L256 TraceCheckUtils]: 30: Hoare triple {5626#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,562 INFO L273 TraceCheckUtils]: 31: Hoare triple {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} ~cond := #in~cond; {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,562 INFO L273 TraceCheckUtils]: 32: Hoare triple {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} assume !(0bv32 == ~cond); {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,563 INFO L273 TraceCheckUtils]: 33: Hoare triple {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} assume true; {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,564 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} {5626#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} #53#return; {5626#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,565 INFO L273 TraceCheckUtils]: 35: Hoare triple {5626#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} havoc #t~mem3; {5626#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,566 INFO L273 TraceCheckUtils]: 36: Hoare triple {5626#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5651#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,566 INFO L273 TraceCheckUtils]: 37: Hoare triple {5651#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {5651#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,569 INFO L256 TraceCheckUtils]: 38: Hoare triple {5651#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,570 INFO L273 TraceCheckUtils]: 39: Hoare triple {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} ~cond := #in~cond; {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,571 INFO L273 TraceCheckUtils]: 40: Hoare triple {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} assume !(0bv32 == ~cond); {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,571 INFO L273 TraceCheckUtils]: 41: Hoare triple {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} assume true; {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,572 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} {5651#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)))} #53#return; {5651#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,573 INFO L273 TraceCheckUtils]: 43: Hoare triple {5651#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)))} havoc #t~mem3; {5651#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,574 INFO L273 TraceCheckUtils]: 44: Hoare triple {5651#(and (= (_ bv2 32) main_~x~0) (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5676#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,575 INFO L273 TraceCheckUtils]: 45: Hoare triple {5676#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {5676#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,577 INFO L256 TraceCheckUtils]: 46: Hoare triple {5676#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,578 INFO L273 TraceCheckUtils]: 47: Hoare triple {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} ~cond := #in~cond; {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,579 INFO L273 TraceCheckUtils]: 48: Hoare triple {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} assume !(0bv32 == ~cond); {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,579 INFO L273 TraceCheckUtils]: 49: Hoare triple {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} assume true; {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,580 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} {5676#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)))} #53#return; {5676#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,581 INFO L273 TraceCheckUtils]: 51: Hoare triple {5676#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)))} havoc #t~mem3; {5676#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,582 INFO L273 TraceCheckUtils]: 52: Hoare triple {5676#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967293 32)) (_ bv0 32)))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5701#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (_ bv4 32) main_~x~0))} is VALID [2018-11-23 10:16:48,583 INFO L273 TraceCheckUtils]: 53: Hoare triple {5701#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (_ bv4 32) main_~x~0))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {5701#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (_ bv4 32) main_~x~0))} is VALID [2018-11-23 10:16:48,585 INFO L256 TraceCheckUtils]: 54: Hoare triple {5701#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (_ bv4 32) main_~x~0))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,586 INFO L273 TraceCheckUtils]: 55: Hoare triple {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} ~cond := #in~cond; {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,586 INFO L273 TraceCheckUtils]: 56: Hoare triple {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} assume !(0bv32 == ~cond); {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,587 INFO L273 TraceCheckUtils]: 57: Hoare triple {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} assume true; {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,587 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {5607#(exists ((|v_main_~#aa~0.base_BEFORE_CALL_21| (_ BitVec 32)) (|v_main_~#aa~0.offset_BEFORE_CALL_21| (_ BitVec 32))) (bvsge (select (select |#memory_int| |v_main_~#aa~0.base_BEFORE_CALL_21|) (bvadd |v_main_~#aa~0.offset_BEFORE_CALL_21| (_ bv20 32))) (_ bv0 32)))} {5701#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (_ bv4 32) main_~x~0))} #53#return; {5701#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (_ bv4 32) main_~x~0))} is VALID [2018-11-23 10:16:48,588 INFO L273 TraceCheckUtils]: 59: Hoare triple {5701#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (_ bv4 32) main_~x~0))} havoc #t~mem3; {5701#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (_ bv4 32) main_~x~0))} is VALID [2018-11-23 10:16:48,589 INFO L273 TraceCheckUtils]: 60: Hoare triple {5701#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (_ bv4 32) main_~x~0))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5726#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967291 32)) (_ bv0 32)))} is VALID [2018-11-23 10:16:48,590 INFO L273 TraceCheckUtils]: 61: Hoare triple {5726#(and (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (= (bvadd main_~x~0 (_ bv4294967291 32)) (_ bv0 32)))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {5730#(bvsge |main_#t~mem3| (_ bv0 32))} is VALID [2018-11-23 10:16:48,591 INFO L256 TraceCheckUtils]: 62: Hoare triple {5730#(bvsge |main_#t~mem3| (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {5734#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:16:48,592 INFO L273 TraceCheckUtils]: 63: Hoare triple {5734#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {5738#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:16:48,592 INFO L273 TraceCheckUtils]: 64: Hoare triple {5738#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {5528#false} is VALID [2018-11-23 10:16:48,592 INFO L273 TraceCheckUtils]: 65: Hoare triple {5528#false} assume !false; {5528#false} is VALID [2018-11-23 10:16:48,603 INFO L134 CoverageAnalysis]: Checked inductivity of 142 backedges. 0 proven. 102 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-23 10:16:48,604 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:17:01,582 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 22 treesize of output 18 [2018-11-23 10:17:03,597 WARN L670 Elim1Store]: solver failed to check if following equality is implied: (= (bvadd |main_~#aa~0.offset| (_ bv20 32)) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~a~0))) [2018-11-23 10:17:03,599 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:17:03,600 INFO L303 Elim1Store]: Index analysis took 2015 ms [2018-11-23 10:17:03,601 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 20 [2018-11-23 10:17:03,605 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:17:03,607 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:17:03,610 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 10:17:03,610 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:22, output treesize:9 [2018-11-23 10:17:03,618 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:17:03,618 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |main_~#aa~0.base|, |main_~#aa~0.offset|]. (let ((.cse0 (select |#memory_int| |main_~#aa~0.base|))) (or (bvsge (select .cse0 (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (not (bvsge (select .cse0 (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~a~0))) (_ bv0 32))))) [2018-11-23 10:17:03,618 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [|main_~#aa~0.offset|]. (= (bvadd |main_~#aa~0.offset| (_ bv20 32)) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~a~0))) [2018-11-23 10:17:04,288 INFO L273 TraceCheckUtils]: 65: Hoare triple {5528#false} assume !false; {5528#false} is VALID [2018-11-23 10:17:04,288 INFO L273 TraceCheckUtils]: 64: Hoare triple {5748#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {5528#false} is VALID [2018-11-23 10:17:04,289 INFO L273 TraceCheckUtils]: 63: Hoare triple {5752#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {5748#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:17:04,290 INFO L256 TraceCheckUtils]: 62: Hoare triple {5730#(bvsge |main_#t~mem3| (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {5752#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:17:04,291 INFO L273 TraceCheckUtils]: 61: Hoare triple {5759#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {5730#(bvsge |main_#t~mem3| (_ bv0 32))} is VALID [2018-11-23 10:17:06,315 INFO L273 TraceCheckUtils]: 60: Hoare triple {5763#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5759#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0))) (_ bv0 32))} is UNKNOWN [2018-11-23 10:17:06,316 INFO L273 TraceCheckUtils]: 59: Hoare triple {5763#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} havoc #t~mem3; {5763#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:17:06,316 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {5527#true} {5763#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} #53#return; {5763#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:17:06,317 INFO L273 TraceCheckUtils]: 57: Hoare triple {5527#true} assume true; {5527#true} is VALID [2018-11-23 10:17:06,317 INFO L273 TraceCheckUtils]: 56: Hoare triple {5527#true} assume !(0bv32 == ~cond); {5527#true} is VALID [2018-11-23 10:17:06,317 INFO L273 TraceCheckUtils]: 55: Hoare triple {5527#true} ~cond := #in~cond; {5527#true} is VALID [2018-11-23 10:17:06,317 INFO L256 TraceCheckUtils]: 54: Hoare triple {5763#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {5527#true} is VALID [2018-11-23 10:17:06,317 INFO L273 TraceCheckUtils]: 53: Hoare triple {5763#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {5763#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} is VALID [2018-11-23 10:17:08,327 INFO L273 TraceCheckUtils]: 52: Hoare triple {5788#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5763#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv4 32))) (_ bv0 32))} is UNKNOWN [2018-11-23 10:17:08,327 INFO L273 TraceCheckUtils]: 51: Hoare triple {5788#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} havoc #t~mem3; {5788#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} is VALID [2018-11-23 10:17:08,328 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {5527#true} {5788#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} #53#return; {5788#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} is VALID [2018-11-23 10:17:08,328 INFO L273 TraceCheckUtils]: 49: Hoare triple {5527#true} assume true; {5527#true} is VALID [2018-11-23 10:17:08,328 INFO L273 TraceCheckUtils]: 48: Hoare triple {5527#true} assume !(0bv32 == ~cond); {5527#true} is VALID [2018-11-23 10:17:08,328 INFO L273 TraceCheckUtils]: 47: Hoare triple {5527#true} ~cond := #in~cond; {5527#true} is VALID [2018-11-23 10:17:08,328 INFO L256 TraceCheckUtils]: 46: Hoare triple {5788#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {5527#true} is VALID [2018-11-23 10:17:08,329 INFO L273 TraceCheckUtils]: 45: Hoare triple {5788#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {5788#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} is VALID [2018-11-23 10:17:10,338 INFO L273 TraceCheckUtils]: 44: Hoare triple {5813#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5788#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv8 32))) (_ bv0 32))} is UNKNOWN [2018-11-23 10:17:10,339 INFO L273 TraceCheckUtils]: 43: Hoare triple {5813#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} havoc #t~mem3; {5813#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:17:10,339 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {5527#true} {5813#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} #53#return; {5813#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:17:10,339 INFO L273 TraceCheckUtils]: 41: Hoare triple {5527#true} assume true; {5527#true} is VALID [2018-11-23 10:17:10,340 INFO L273 TraceCheckUtils]: 40: Hoare triple {5527#true} assume !(0bv32 == ~cond); {5527#true} is VALID [2018-11-23 10:17:10,340 INFO L273 TraceCheckUtils]: 39: Hoare triple {5527#true} ~cond := #in~cond; {5527#true} is VALID [2018-11-23 10:17:10,340 INFO L256 TraceCheckUtils]: 38: Hoare triple {5813#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {5527#true} is VALID [2018-11-23 10:17:10,340 INFO L273 TraceCheckUtils]: 37: Hoare triple {5813#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {5813#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:17:12,347 INFO L273 TraceCheckUtils]: 36: Hoare triple {5838#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv16 32))) (_ bv0 32))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5813#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv12 32))) (_ bv0 32))} is UNKNOWN [2018-11-23 10:17:12,348 INFO L273 TraceCheckUtils]: 35: Hoare triple {5838#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv16 32))) (_ bv0 32))} havoc #t~mem3; {5838#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:17:12,348 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {5527#true} {5838#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv16 32))) (_ bv0 32))} #53#return; {5838#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:17:12,348 INFO L273 TraceCheckUtils]: 33: Hoare triple {5527#true} assume true; {5527#true} is VALID [2018-11-23 10:17:12,349 INFO L273 TraceCheckUtils]: 32: Hoare triple {5527#true} assume !(0bv32 == ~cond); {5527#true} is VALID [2018-11-23 10:17:12,349 INFO L273 TraceCheckUtils]: 31: Hoare triple {5527#true} ~cond := #in~cond; {5527#true} is VALID [2018-11-23 10:17:12,349 INFO L256 TraceCheckUtils]: 30: Hoare triple {5838#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv16 32))) (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {5527#true} is VALID [2018-11-23 10:17:12,349 INFO L273 TraceCheckUtils]: 29: Hoare triple {5838#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv16 32))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {5838#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:17:14,357 INFO L273 TraceCheckUtils]: 28: Hoare triple {5863#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv20 32))) (_ bv0 32))} #t~post2 := ~x~0;~x~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5838#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv16 32))) (_ bv0 32))} is UNKNOWN [2018-11-23 10:17:14,358 INFO L273 TraceCheckUtils]: 27: Hoare triple {5863#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv20 32))) (_ bv0 32))} havoc #t~mem3; {5863#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv20 32))) (_ bv0 32))} is VALID [2018-11-23 10:17:14,359 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {5527#true} {5863#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv20 32))) (_ bv0 32))} #53#return; {5863#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv20 32))) (_ bv0 32))} is VALID [2018-11-23 10:17:14,359 INFO L273 TraceCheckUtils]: 25: Hoare triple {5527#true} assume true; {5527#true} is VALID [2018-11-23 10:17:14,359 INFO L273 TraceCheckUtils]: 24: Hoare triple {5527#true} assume !(0bv32 == ~cond); {5527#true} is VALID [2018-11-23 10:17:14,359 INFO L273 TraceCheckUtils]: 23: Hoare triple {5527#true} ~cond := #in~cond; {5527#true} is VALID [2018-11-23 10:17:14,359 INFO L256 TraceCheckUtils]: 22: Hoare triple {5863#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv20 32))) (_ bv0 32))} call __VERIFIER_assert((if ~bvsge32(#t~mem3, 0bv32) then 1bv32 else 0bv32)); {5527#true} is VALID [2018-11-23 10:17:14,359 INFO L273 TraceCheckUtils]: 21: Hoare triple {5863#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv20 32))) (_ bv0 32))} assume !!~bvslt32(~x~0, ~a~0);call #t~mem3 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~x~0)), 4bv32); {5863#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv20 32))) (_ bv0 32))} is VALID [2018-11-23 10:17:14,361 INFO L273 TraceCheckUtils]: 20: Hoare triple {5590#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32))} havoc ~x~0;~x~0 := 0bv32; {5863#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (bvmul (_ bv4 32) main_~x~0) (_ bv20 32))) (_ bv0 32))} is VALID [2018-11-23 10:17:14,361 INFO L273 TraceCheckUtils]: 19: Hoare triple {5590#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32))} assume !~bvsge32(#t~mem0, 0bv32);havoc #t~mem0; {5590#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32))} is VALID [2018-11-23 10:17:14,361 INFO L273 TraceCheckUtils]: 18: Hoare triple {5590#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {5590#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32))} is VALID [2018-11-23 10:17:14,362 INFO L273 TraceCheckUtils]: 17: Hoare triple {5897#(or (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (not (bvsge |main_#t~mem0| (_ bv0 32))))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5590#(bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32))} is VALID [2018-11-23 10:17:14,363 INFO L273 TraceCheckUtils]: 16: Hoare triple {5901#(= (_ bv20 32) (bvmul (_ bv4 32) main_~a~0))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {5897#(or (bvsge (select (select |#memory_int| |main_~#aa~0.base|) (bvadd |main_~#aa~0.offset| (_ bv20 32))) (_ bv0 32)) (not (bvsge |main_#t~mem0| (_ bv0 32))))} is VALID [2018-11-23 10:17:14,365 INFO L273 TraceCheckUtils]: 15: Hoare triple {5905#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967280 32)) (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5901#(= (_ bv20 32) (bvmul (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:17:14,366 INFO L273 TraceCheckUtils]: 14: Hoare triple {5905#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967280 32)) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {5905#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967280 32)) (_ bv0 32))} is VALID [2018-11-23 10:17:14,368 INFO L273 TraceCheckUtils]: 13: Hoare triple {5912#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967284 32)) (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5905#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967280 32)) (_ bv0 32))} is VALID [2018-11-23 10:17:14,369 INFO L273 TraceCheckUtils]: 12: Hoare triple {5912#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967284 32)) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {5912#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967284 32)) (_ bv0 32))} is VALID [2018-11-23 10:17:14,370 INFO L273 TraceCheckUtils]: 11: Hoare triple {5919#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967288 32)) (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5912#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967284 32)) (_ bv0 32))} is VALID [2018-11-23 10:17:14,370 INFO L273 TraceCheckUtils]: 10: Hoare triple {5919#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967288 32)) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {5919#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967288 32)) (_ bv0 32))} is VALID [2018-11-23 10:17:14,372 INFO L273 TraceCheckUtils]: 9: Hoare triple {5926#(= (_ bv4 32) (bvmul (_ bv4 32) main_~a~0))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5919#(= (bvadd (bvmul (_ bv4 32) main_~a~0) (_ bv4294967288 32)) (_ bv0 32))} is VALID [2018-11-23 10:17:14,372 INFO L273 TraceCheckUtils]: 8: Hoare triple {5926#(= (_ bv4 32) (bvmul (_ bv4 32) main_~a~0))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {5926#(= (_ bv4 32) (bvmul (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:17:14,373 INFO L273 TraceCheckUtils]: 7: Hoare triple {5933#(= (bvmul (_ bv4 32) main_~a~0) (_ bv0 32))} assume !!~bvsge32(#t~mem0, 0bv32);havoc #t~mem0;#t~post1 := ~a~0;~a~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5926#(= (_ bv4 32) (bvmul (_ bv4 32) main_~a~0))} is VALID [2018-11-23 10:17:14,374 INFO L273 TraceCheckUtils]: 6: Hoare triple {5933#(= (bvmul (_ bv4 32) main_~a~0) (_ bv0 32))} call #t~mem0 := read~intINTTYPE4(~#aa~0.base, ~bvadd32(~#aa~0.offset, ~bvmul32(4bv32, ~a~0)), 4bv32); {5933#(= (bvmul (_ bv4 32) main_~a~0) (_ bv0 32))} is VALID [2018-11-23 10:17:14,375 INFO L273 TraceCheckUtils]: 5: Hoare triple {5527#true} call ~#aa~0.base, ~#aa~0.offset := #Ultimate.alloc(400000bv32);~a~0 := 0bv32; {5933#(= (bvmul (_ bv4 32) main_~a~0) (_ bv0 32))} is VALID [2018-11-23 10:17:14,375 INFO L256 TraceCheckUtils]: 4: Hoare triple {5527#true} call #t~ret4 := main(); {5527#true} is VALID [2018-11-23 10:17:14,375 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5527#true} {5527#true} #49#return; {5527#true} is VALID [2018-11-23 10:17:14,375 INFO L273 TraceCheckUtils]: 2: Hoare triple {5527#true} assume true; {5527#true} is VALID [2018-11-23 10:17:14,376 INFO L273 TraceCheckUtils]: 1: Hoare triple {5527#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {5527#true} is VALID [2018-11-23 10:17:14,376 INFO L256 TraceCheckUtils]: 0: Hoare triple {5527#true} call ULTIMATE.init(); {5527#true} is VALID [2018-11-23 10:17:14,383 INFO L134 CoverageAnalysis]: Checked inductivity of 142 backedges. 11 proven. 91 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-23 10:17:14,384 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:17:14,384 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 19] total 35 [2018-11-23 10:17:14,385 INFO L78 Accepts]: Start accepts. Automaton has 35 states. Word has length 66 [2018-11-23 10:17:14,385 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:17:14,386 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 35 states. [2018-11-23 10:17:28,771 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 93 inductive. 0 not inductive. 7 times theorem prover too weak to decide inductivity. [2018-11-23 10:17:28,771 INFO L459 AbstractCegarLoop]: Interpolant automaton has 35 states [2018-11-23 10:17:28,772 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2018-11-23 10:17:28,772 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=1082, Unknown=6, NotChecked=0, Total=1190 [2018-11-23 10:17:28,773 INFO L87 Difference]: Start difference. First operand 69 states and 70 transitions. Second operand 35 states.