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/loops/eureka_05_true-unreach-call_true-termination.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 11:25:01,130 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 11:25:01,132 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 11:25:01,150 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 11:25:01,150 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 11:25:01,151 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 11:25:01,153 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 11:25:01,155 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 11:25:01,163 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 11:25:01,164 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 11:25:01,165 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 11:25:01,166 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 11:25:01,167 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 11:25:01,168 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 11:25:01,169 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 11:25:01,170 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 11:25:01,171 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 11:25:01,173 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 11:25:01,175 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 11:25:01,177 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 11:25:01,178 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 11:25:01,179 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 11:25:01,182 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 11:25:01,182 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 11:25:01,182 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 11:25:01,183 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 11:25:01,184 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 11:25:01,185 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 11:25:01,186 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 11:25:01,187 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 11:25:01,188 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 11:25:01,188 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 11:25:01,189 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 11:25:01,189 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 11:25:01,190 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 11:25:01,191 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 11:25:01,191 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 11:25:01,209 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 11:25:01,209 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 11:25:01,210 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 11:25:01,210 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 11:25:01,211 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 11:25:01,212 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 11:25:01,212 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 11:25:01,212 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 11:25:01,212 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 11:25:01,212 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 11:25:01,213 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 11:25:01,213 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 11:25:01,213 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 11:25:01,213 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 11:25:01,213 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 11:25:01,215 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 11:25:01,215 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 11:25:01,215 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 11:25:01,215 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 11:25:01,216 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 11:25:01,217 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 11:25:01,217 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 11:25:01,217 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 11:25:01,217 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 11:25:01,218 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 11:25:01,218 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 11:25:01,218 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 11:25:01,218 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 11:25:01,218 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 11:25:01,219 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 11:25:01,219 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 11:25:01,219 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 11:25:01,219 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 11:25:01,283 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 11:25:01,301 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 11:25:01,305 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 11:25:01,307 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 11:25:01,308 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 11:25:01,308 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loops/eureka_05_true-unreach-call_true-termination.i [2018-11-23 11:25:01,375 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d9e57c3e4/51007d9597e24115a5cd84ae648e31a1/FLAG5f9f51d86 [2018-11-23 11:25:01,869 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 11:25:01,870 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/eureka_05_true-unreach-call_true-termination.i [2018-11-23 11:25:01,876 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d9e57c3e4/51007d9597e24115a5cd84ae648e31a1/FLAG5f9f51d86 [2018-11-23 11:25:02,226 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d9e57c3e4/51007d9597e24115a5cd84ae648e31a1 [2018-11-23 11:25:02,235 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 11:25:02,237 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 11:25:02,238 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 11:25:02,238 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 11:25:02,242 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 11:25:02,247 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 11:25:02" (1/1) ... [2018-11-23 11:25:02,250 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2e629b24 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:25:02, skipping insertion in model container [2018-11-23 11:25:02,250 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 11:25:02" (1/1) ... [2018-11-23 11:25:02,260 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 11:25:02,279 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 11:25:02,494 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 11:25:02,503 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 11:25:02,535 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 11:25:02,568 INFO L195 MainTranslator]: Completed translation [2018-11-23 11:25:02,569 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:25:02 WrapperNode [2018-11-23 11:25:02,569 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 11:25:02,570 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 11:25:02,570 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 11:25:02,571 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 11:25:02,581 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:25:02" (1/1) ... [2018-11-23 11:25:02,597 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:25:02" (1/1) ... [2018-11-23 11:25:02,607 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 11:25:02,608 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 11:25:02,608 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 11:25:02,608 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 11:25:02,616 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:25:02" (1/1) ... [2018-11-23 11:25:02,616 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:25:02" (1/1) ... [2018-11-23 11:25:02,619 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:25:02" (1/1) ... [2018-11-23 11:25:02,620 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:25:02" (1/1) ... [2018-11-23 11:25:02,636 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:25:02" (1/1) ... [2018-11-23 11:25:02,643 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:25:02" (1/1) ... [2018-11-23 11:25:02,645 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:25:02" (1/1) ... [2018-11-23 11:25:02,648 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 11:25:02,649 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 11:25:02,649 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 11:25:02,649 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 11:25:02,652 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:25:02" (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 11:25:02,768 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 11:25:02,768 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 11:25:02,768 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 11:25:02,768 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 11:25:02,769 INFO L130 BoogieDeclarations]: Found specification of procedure SelectionSort [2018-11-23 11:25:02,769 INFO L138 BoogieDeclarations]: Found implementation of procedure SelectionSort [2018-11-23 11:25:02,769 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 11:25:02,769 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 11:25:02,769 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 11:25:02,769 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 11:25:02,770 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE4 [2018-11-23 11:25:02,770 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 11:25:02,770 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 11:25:02,770 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 11:25:02,770 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 11:25:03,410 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 11:25:03,410 INFO L280 CfgBuilder]: Removed 4 assue(true) statements. [2018-11-23 11:25:03,411 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:25:03 BoogieIcfgContainer [2018-11-23 11:25:03,411 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 11:25:03,413 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 11:25:03,413 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 11:25:03,416 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 11:25:03,417 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 11:25:02" (1/3) ... [2018-11-23 11:25:03,418 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7c95921f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 11:25:03, skipping insertion in model container [2018-11-23 11:25:03,418 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:25:02" (2/3) ... [2018-11-23 11:25:03,419 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7c95921f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 11:25:03, skipping insertion in model container [2018-11-23 11:25:03,419 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:25:03" (3/3) ... [2018-11-23 11:25:03,421 INFO L112 eAbstractionObserver]: Analyzing ICFG eureka_05_true-unreach-call_true-termination.i [2018-11-23 11:25:03,431 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 11:25:03,440 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 11:25:03,459 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 11:25:03,490 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 11:25:03,491 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 11:25:03,491 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 11:25:03,491 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 11:25:03,492 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 11:25:03,492 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 11:25:03,492 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 11:25:03,492 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 11:25:03,492 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 11:25:03,511 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states. [2018-11-23 11:25:03,518 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 11:25:03,518 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:25:03,519 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:25:03,522 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:25:03,527 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:25:03,527 INFO L82 PathProgramCache]: Analyzing trace with hash 625586084, now seen corresponding path program 1 times [2018-11-23 11:25:03,532 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:25:03,532 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 11:25:03,552 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:25:03,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:03,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:03,662 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:25:03,940 INFO L256 TraceCheckUtils]: 0: Hoare triple {37#true} call ULTIMATE.init(); {37#true} is VALID [2018-11-23 11:25:03,944 INFO L273 TraceCheckUtils]: 1: Hoare triple {37#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {37#true} is VALID [2018-11-23 11:25:03,945 INFO L273 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2018-11-23 11:25:03,945 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #84#return; {37#true} is VALID [2018-11-23 11:25:03,945 INFO L256 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret9 := main(); {37#true} is VALID [2018-11-23 11:25:03,946 INFO L273 TraceCheckUtils]: 5: Hoare triple {37#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {37#true} is VALID [2018-11-23 11:25:03,947 INFO L273 TraceCheckUtils]: 6: Hoare triple {37#true} assume !true; {38#false} is VALID [2018-11-23 11:25:03,947 INFO L256 TraceCheckUtils]: 7: Hoare triple {38#false} call SelectionSort(); {38#false} is VALID [2018-11-23 11:25:03,947 INFO L273 TraceCheckUtils]: 8: Hoare triple {38#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {38#false} is VALID [2018-11-23 11:25:03,948 INFO L273 TraceCheckUtils]: 9: Hoare triple {38#false} assume !true; {38#false} is VALID [2018-11-23 11:25:03,948 INFO L273 TraceCheckUtils]: 10: Hoare triple {38#false} assume true; {38#false} is VALID [2018-11-23 11:25:03,948 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {38#false} {38#false} #88#return; {38#false} is VALID [2018-11-23 11:25:03,948 INFO L273 TraceCheckUtils]: 12: Hoare triple {38#false} ~i~1 := 0bv32; {38#false} is VALID [2018-11-23 11:25:03,949 INFO L273 TraceCheckUtils]: 13: Hoare triple {38#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {38#false} is VALID [2018-11-23 11:25:03,949 INFO L256 TraceCheckUtils]: 14: Hoare triple {38#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {38#false} is VALID [2018-11-23 11:25:03,949 INFO L273 TraceCheckUtils]: 15: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2018-11-23 11:25:03,950 INFO L273 TraceCheckUtils]: 16: Hoare triple {38#false} assume 0bv32 == ~cond; {38#false} is VALID [2018-11-23 11:25:03,950 INFO L273 TraceCheckUtils]: 17: Hoare triple {38#false} assume !false; {38#false} is VALID [2018-11-23 11:25:03,954 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 11:25:03,954 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:25:03,961 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:25:03,961 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 11:25:03,966 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 18 [2018-11-23 11:25:03,970 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:25:03,973 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 11:25:04,067 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:04,067 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 11:25:04,075 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 11:25:04,076 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 11:25:04,079 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 2 states. [2018-11-23 11:25:04,192 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:04,192 INFO L93 Difference]: Finished difference Result 60 states and 78 transitions. [2018-11-23 11:25:04,192 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 11:25:04,193 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 18 [2018-11-23 11:25:04,193 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:25:04,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 11:25:04,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 78 transitions. [2018-11-23 11:25:04,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 11:25:04,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 78 transitions. [2018-11-23 11:25:04,212 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 78 transitions. [2018-11-23 11:25:04,540 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 11:25:04,553 INFO L225 Difference]: With dead ends: 60 [2018-11-23 11:25:04,553 INFO L226 Difference]: Without dead ends: 29 [2018-11-23 11:25:04,557 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 17 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 11:25:04,576 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2018-11-23 11:25:04,605 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2018-11-23 11:25:04,606 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:25:04,606 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 29 states. [2018-11-23 11:25:04,607 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 29 states. [2018-11-23 11:25:04,607 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 29 states. [2018-11-23 11:25:04,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:04,612 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2018-11-23 11:25:04,612 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2018-11-23 11:25:04,613 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:04,613 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:04,614 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 29 states. [2018-11-23 11:25:04,614 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 29 states. [2018-11-23 11:25:04,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:04,619 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2018-11-23 11:25:04,619 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2018-11-23 11:25:04,620 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:04,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:04,620 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:25:04,620 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:25:04,621 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 11:25:04,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 33 transitions. [2018-11-23 11:25:04,625 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 33 transitions. Word has length 18 [2018-11-23 11:25:04,626 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:25:04,626 INFO L480 AbstractCegarLoop]: Abstraction has 29 states and 33 transitions. [2018-11-23 11:25:04,626 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 11:25:04,626 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2018-11-23 11:25:04,627 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 11:25:04,627 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:25:04,628 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:25:04,628 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:25:04,628 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:25:04,629 INFO L82 PathProgramCache]: Analyzing trace with hash 2087778385, now seen corresponding path program 1 times [2018-11-23 11:25:04,629 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:25:04,630 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 11:25:04,655 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:25:04,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:04,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:04,712 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:25:05,073 INFO L256 TraceCheckUtils]: 0: Hoare triple {270#true} call ULTIMATE.init(); {270#true} is VALID [2018-11-23 11:25:05,073 INFO L273 TraceCheckUtils]: 1: Hoare triple {270#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {270#true} is VALID [2018-11-23 11:25:05,074 INFO L273 TraceCheckUtils]: 2: Hoare triple {270#true} assume true; {270#true} is VALID [2018-11-23 11:25:05,074 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {270#true} {270#true} #84#return; {270#true} is VALID [2018-11-23 11:25:05,075 INFO L256 TraceCheckUtils]: 4: Hoare triple {270#true} call #t~ret9 := main(); {270#true} is VALID [2018-11-23 11:25:05,091 INFO L273 TraceCheckUtils]: 5: Hoare triple {270#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {290#(= (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:05,107 INFO L273 TraceCheckUtils]: 6: Hoare triple {290#(= (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} assume !~bvsge32(~i~1, 0bv32); {271#false} is VALID [2018-11-23 11:25:05,108 INFO L256 TraceCheckUtils]: 7: Hoare triple {271#false} call SelectionSort(); {271#false} is VALID [2018-11-23 11:25:05,108 INFO L273 TraceCheckUtils]: 8: Hoare triple {271#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {271#false} is VALID [2018-11-23 11:25:05,108 INFO L273 TraceCheckUtils]: 9: Hoare triple {271#false} assume !~bvslt32(~lh~0, ~n~0); {271#false} is VALID [2018-11-23 11:25:05,108 INFO L273 TraceCheckUtils]: 10: Hoare triple {271#false} assume true; {271#false} is VALID [2018-11-23 11:25:05,109 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {271#false} {271#false} #88#return; {271#false} is VALID [2018-11-23 11:25:05,109 INFO L273 TraceCheckUtils]: 12: Hoare triple {271#false} ~i~1 := 0bv32; {271#false} is VALID [2018-11-23 11:25:05,109 INFO L273 TraceCheckUtils]: 13: Hoare triple {271#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {271#false} is VALID [2018-11-23 11:25:05,110 INFO L256 TraceCheckUtils]: 14: Hoare triple {271#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {271#false} is VALID [2018-11-23 11:25:05,110 INFO L273 TraceCheckUtils]: 15: Hoare triple {271#false} ~cond := #in~cond; {271#false} is VALID [2018-11-23 11:25:05,110 INFO L273 TraceCheckUtils]: 16: Hoare triple {271#false} assume 0bv32 == ~cond; {271#false} is VALID [2018-11-23 11:25:05,111 INFO L273 TraceCheckUtils]: 17: Hoare triple {271#false} assume !false; {271#false} is VALID [2018-11-23 11:25:05,113 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 11:25:05,113 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [MP cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (3)] Exception during sending of exit command (exit): Broken pipe [2018-11-23 11:25:05,118 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:25:05,118 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 11:25:05,120 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 18 [2018-11-23 11:25:05,121 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:25:05,121 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 11:25:05,319 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:05,320 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 11:25:05,320 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 11:25:05,320 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 11:25:05,320 INFO L87 Difference]: Start difference. First operand 29 states and 33 transitions. Second operand 3 states. [2018-11-23 11:25:05,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:05,608 INFO L93 Difference]: Finished difference Result 52 states and 60 transitions. [2018-11-23 11:25:05,608 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 11:25:05,608 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 18 [2018-11-23 11:25:05,609 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:25:05,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 11:25:05,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 60 transitions. [2018-11-23 11:25:05,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 11:25:05,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 60 transitions. [2018-11-23 11:25:05,616 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 60 transitions. [2018-11-23 11:25:05,740 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:05,743 INFO L225 Difference]: With dead ends: 52 [2018-11-23 11:25:05,743 INFO L226 Difference]: Without dead ends: 31 [2018-11-23 11:25:05,744 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 11:25:05,745 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2018-11-23 11:25:05,763 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 30. [2018-11-23 11:25:05,764 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:25:05,764 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 30 states. [2018-11-23 11:25:05,764 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 30 states. [2018-11-23 11:25:05,764 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 30 states. [2018-11-23 11:25:05,767 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:05,767 INFO L93 Difference]: Finished difference Result 31 states and 35 transitions. [2018-11-23 11:25:05,767 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 35 transitions. [2018-11-23 11:25:05,768 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:05,768 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:05,768 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 31 states. [2018-11-23 11:25:05,768 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 31 states. [2018-11-23 11:25:05,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:05,771 INFO L93 Difference]: Finished difference Result 31 states and 35 transitions. [2018-11-23 11:25:05,771 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 35 transitions. [2018-11-23 11:25:05,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:05,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:05,772 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:25:05,772 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:25:05,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-23 11:25:05,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 34 transitions. [2018-11-23 11:25:05,775 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 34 transitions. Word has length 18 [2018-11-23 11:25:05,776 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:25:05,776 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 34 transitions. [2018-11-23 11:25:05,776 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 11:25:05,776 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 34 transitions. [2018-11-23 11:25:05,777 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 11:25:05,777 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:25:05,777 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:25:05,778 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:25:05,778 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:25:05,778 INFO L82 PathProgramCache]: Analyzing trace with hash 1482156659, now seen corresponding path program 1 times [2018-11-23 11:25:05,779 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:25:05,780 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 11:25:05,801 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:25:05,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:05,866 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:05,867 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:25:05,937 INFO L256 TraceCheckUtils]: 0: Hoare triple {503#true} call ULTIMATE.init(); {503#true} is VALID [2018-11-23 11:25:05,938 INFO L273 TraceCheckUtils]: 1: Hoare triple {503#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {503#true} is VALID [2018-11-23 11:25:05,938 INFO L273 TraceCheckUtils]: 2: Hoare triple {503#true} assume true; {503#true} is VALID [2018-11-23 11:25:05,938 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {503#true} {503#true} #84#return; {503#true} is VALID [2018-11-23 11:25:05,939 INFO L256 TraceCheckUtils]: 4: Hoare triple {503#true} call #t~ret9 := main(); {503#true} is VALID [2018-11-23 11:25:05,940 INFO L273 TraceCheckUtils]: 5: Hoare triple {503#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {523#(= (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:05,950 INFO L273 TraceCheckUtils]: 6: Hoare triple {523#(= (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {523#(= (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:05,951 INFO L273 TraceCheckUtils]: 7: Hoare triple {523#(= (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {530#(= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:05,952 INFO L273 TraceCheckUtils]: 8: Hoare triple {530#(= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} assume !~bvsge32(~i~1, 0bv32); {504#false} is VALID [2018-11-23 11:25:05,952 INFO L256 TraceCheckUtils]: 9: Hoare triple {504#false} call SelectionSort(); {504#false} is VALID [2018-11-23 11:25:05,952 INFO L273 TraceCheckUtils]: 10: Hoare triple {504#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {504#false} is VALID [2018-11-23 11:25:05,953 INFO L273 TraceCheckUtils]: 11: Hoare triple {504#false} assume !~bvslt32(~lh~0, ~n~0); {504#false} is VALID [2018-11-23 11:25:05,953 INFO L273 TraceCheckUtils]: 12: Hoare triple {504#false} assume true; {504#false} is VALID [2018-11-23 11:25:05,953 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {504#false} {504#false} #88#return; {504#false} is VALID [2018-11-23 11:25:05,953 INFO L273 TraceCheckUtils]: 14: Hoare triple {504#false} ~i~1 := 0bv32; {504#false} is VALID [2018-11-23 11:25:05,954 INFO L273 TraceCheckUtils]: 15: Hoare triple {504#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {504#false} is VALID [2018-11-23 11:25:05,954 INFO L256 TraceCheckUtils]: 16: Hoare triple {504#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {504#false} is VALID [2018-11-23 11:25:05,954 INFO L273 TraceCheckUtils]: 17: Hoare triple {504#false} ~cond := #in~cond; {504#false} is VALID [2018-11-23 11:25:05,955 INFO L273 TraceCheckUtils]: 18: Hoare triple {504#false} assume 0bv32 == ~cond; {504#false} is VALID [2018-11-23 11:25:05,955 INFO L273 TraceCheckUtils]: 19: Hoare triple {504#false} assume !false; {504#false} is VALID [2018-11-23 11:25:05,956 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:25:05,957 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:25:06,041 INFO L273 TraceCheckUtils]: 19: Hoare triple {504#false} assume !false; {504#false} is VALID [2018-11-23 11:25:06,042 INFO L273 TraceCheckUtils]: 18: Hoare triple {504#false} assume 0bv32 == ~cond; {504#false} is VALID [2018-11-23 11:25:06,042 INFO L273 TraceCheckUtils]: 17: Hoare triple {504#false} ~cond := #in~cond; {504#false} is VALID [2018-11-23 11:25:06,043 INFO L256 TraceCheckUtils]: 16: Hoare triple {504#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {504#false} is VALID [2018-11-23 11:25:06,043 INFO L273 TraceCheckUtils]: 15: Hoare triple {504#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {504#false} is VALID [2018-11-23 11:25:06,044 INFO L273 TraceCheckUtils]: 14: Hoare triple {504#false} ~i~1 := 0bv32; {504#false} is VALID [2018-11-23 11:25:06,044 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {503#true} {504#false} #88#return; {504#false} is VALID [2018-11-23 11:25:06,045 INFO L273 TraceCheckUtils]: 12: Hoare triple {503#true} assume true; {503#true} is VALID [2018-11-23 11:25:06,045 INFO L273 TraceCheckUtils]: 11: Hoare triple {503#true} assume !~bvslt32(~lh~0, ~n~0); {503#true} is VALID [2018-11-23 11:25:06,046 INFO L273 TraceCheckUtils]: 10: Hoare triple {503#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {503#true} is VALID [2018-11-23 11:25:06,046 INFO L256 TraceCheckUtils]: 9: Hoare triple {504#false} call SelectionSort(); {503#true} is VALID [2018-11-23 11:25:06,053 INFO L273 TraceCheckUtils]: 8: Hoare triple {600#(bvsge main_~i~1 (_ bv0 32))} assume !~bvsge32(~i~1, 0bv32); {504#false} is VALID [2018-11-23 11:25:06,057 INFO L273 TraceCheckUtils]: 7: Hoare triple {604#(bvsge (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {600#(bvsge main_~i~1 (_ bv0 32))} is VALID [2018-11-23 11:25:06,058 INFO L273 TraceCheckUtils]: 6: Hoare triple {604#(bvsge (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {604#(bvsge (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:06,061 INFO L273 TraceCheckUtils]: 5: Hoare triple {503#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {604#(bvsge (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:06,061 INFO L256 TraceCheckUtils]: 4: Hoare triple {503#true} call #t~ret9 := main(); {503#true} is VALID [2018-11-23 11:25:06,061 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {503#true} {503#true} #84#return; {503#true} is VALID [2018-11-23 11:25:06,062 INFO L273 TraceCheckUtils]: 2: Hoare triple {503#true} assume true; {503#true} is VALID [2018-11-23 11:25:06,062 INFO L273 TraceCheckUtils]: 1: Hoare triple {503#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {503#true} is VALID [2018-11-23 11:25:06,062 INFO L256 TraceCheckUtils]: 0: Hoare triple {503#true} call ULTIMATE.init(); {503#true} is VALID [2018-11-23 11:25:06,063 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:25:06,064 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:25:06,065 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2018-11-23 11:25:06,065 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 20 [2018-11-23 11:25:06,066 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:25:06,066 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 11:25:06,220 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:06,221 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 11:25:06,221 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 11:25:06,221 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2018-11-23 11:25:06,221 INFO L87 Difference]: Start difference. First operand 30 states and 34 transitions. Second operand 6 states. [2018-11-23 11:25:06,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:06,789 INFO L93 Difference]: Finished difference Result 65 states and 77 transitions. [2018-11-23 11:25:06,789 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 11:25:06,789 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 20 [2018-11-23 11:25:06,789 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:25:06,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:25:06,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2018-11-23 11:25:06,794 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:25:06,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2018-11-23 11:25:06,798 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 77 transitions. [2018-11-23 11:25:06,948 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:06,950 INFO L225 Difference]: With dead ends: 65 [2018-11-23 11:25:06,950 INFO L226 Difference]: Without dead ends: 44 [2018-11-23 11:25:06,951 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-11-23 11:25:06,951 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2018-11-23 11:25:06,966 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 36. [2018-11-23 11:25:06,967 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:25:06,967 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 36 states. [2018-11-23 11:25:06,967 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 36 states. [2018-11-23 11:25:06,967 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 36 states. [2018-11-23 11:25:06,972 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:06,973 INFO L93 Difference]: Finished difference Result 44 states and 50 transitions. [2018-11-23 11:25:06,973 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 50 transitions. [2018-11-23 11:25:06,974 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:06,974 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:06,974 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 44 states. [2018-11-23 11:25:06,974 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 44 states. [2018-11-23 11:25:06,977 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:06,978 INFO L93 Difference]: Finished difference Result 44 states and 50 transitions. [2018-11-23 11:25:06,978 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 50 transitions. [2018-11-23 11:25:06,979 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:06,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:06,979 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:25:06,979 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:25:06,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-23 11:25:06,982 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 40 transitions. [2018-11-23 11:25:06,982 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 40 transitions. Word has length 20 [2018-11-23 11:25:06,982 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:25:06,982 INFO L480 AbstractCegarLoop]: Abstraction has 36 states and 40 transitions. [2018-11-23 11:25:06,983 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 11:25:06,983 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 40 transitions. [2018-11-23 11:25:06,984 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 11:25:06,984 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:25:06,984 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:25:06,984 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:25:06,985 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:25:06,985 INFO L82 PathProgramCache]: Analyzing trace with hash 625294809, now seen corresponding path program 2 times [2018-11-23 11:25:06,985 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:25:06,985 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 11:25:07,005 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 11:25:07,038 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2018-11-23 11:25:07,039 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:25:07,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:07,054 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:25:07,168 INFO L256 TraceCheckUtils]: 0: Hoare triple {862#true} call ULTIMATE.init(); {862#true} is VALID [2018-11-23 11:25:07,169 INFO L273 TraceCheckUtils]: 1: Hoare triple {862#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {870#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:07,170 INFO L273 TraceCheckUtils]: 2: Hoare triple {870#(= (_ bv5 32) ~n~0)} assume true; {870#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:07,171 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {870#(= (_ bv5 32) ~n~0)} {862#true} #84#return; {870#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:07,171 INFO L256 TraceCheckUtils]: 4: Hoare triple {870#(= (_ bv5 32) ~n~0)} call #t~ret9 := main(); {870#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:07,173 INFO L273 TraceCheckUtils]: 5: Hoare triple {870#(= (_ bv5 32) ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {870#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:07,180 INFO L273 TraceCheckUtils]: 6: Hoare triple {870#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {870#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:07,183 INFO L273 TraceCheckUtils]: 7: Hoare triple {870#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {870#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:07,183 INFO L273 TraceCheckUtils]: 8: Hoare triple {870#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {870#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:07,184 INFO L273 TraceCheckUtils]: 9: Hoare triple {870#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {870#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:07,185 INFO L273 TraceCheckUtils]: 10: Hoare triple {870#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {870#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:07,185 INFO L273 TraceCheckUtils]: 11: Hoare triple {870#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {870#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:07,186 INFO L273 TraceCheckUtils]: 12: Hoare triple {870#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {870#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:07,186 INFO L273 TraceCheckUtils]: 13: Hoare triple {870#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {870#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:07,187 INFO L273 TraceCheckUtils]: 14: Hoare triple {870#(= (_ bv5 32) ~n~0)} assume !~bvsge32(~i~1, 0bv32); {870#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:07,187 INFO L256 TraceCheckUtils]: 15: Hoare triple {870#(= (_ bv5 32) ~n~0)} call SelectionSort(); {870#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:07,188 INFO L273 TraceCheckUtils]: 16: Hoare triple {870#(= (_ bv5 32) ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {916#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:07,189 INFO L273 TraceCheckUtils]: 17: Hoare triple {916#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !~bvslt32(~lh~0, ~n~0); {863#false} is VALID [2018-11-23 11:25:07,190 INFO L273 TraceCheckUtils]: 18: Hoare triple {863#false} assume true; {863#false} is VALID [2018-11-23 11:25:07,190 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {863#false} {870#(= (_ bv5 32) ~n~0)} #88#return; {863#false} is VALID [2018-11-23 11:25:07,190 INFO L273 TraceCheckUtils]: 20: Hoare triple {863#false} ~i~1 := 0bv32; {863#false} is VALID [2018-11-23 11:25:07,191 INFO L273 TraceCheckUtils]: 21: Hoare triple {863#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {863#false} is VALID [2018-11-23 11:25:07,191 INFO L256 TraceCheckUtils]: 22: Hoare triple {863#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {863#false} is VALID [2018-11-23 11:25:07,192 INFO L273 TraceCheckUtils]: 23: Hoare triple {863#false} ~cond := #in~cond; {863#false} is VALID [2018-11-23 11:25:07,192 INFO L273 TraceCheckUtils]: 24: Hoare triple {863#false} assume 0bv32 == ~cond; {863#false} is VALID [2018-11-23 11:25:07,193 INFO L273 TraceCheckUtils]: 25: Hoare triple {863#false} assume !false; {863#false} is VALID [2018-11-23 11:25:07,195 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2018-11-23 11:25:07,195 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:25:07,197 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:25:07,197 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 11:25:07,197 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 26 [2018-11-23 11:25:07,198 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:25:07,198 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 11:25:07,224 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:07,225 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 11:25:07,225 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 11:25:07,225 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 11:25:07,226 INFO L87 Difference]: Start difference. First operand 36 states and 40 transitions. Second operand 4 states. [2018-11-23 11:25:07,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:07,436 INFO L93 Difference]: Finished difference Result 55 states and 62 transitions. [2018-11-23 11:25:07,436 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 11:25:07,436 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 26 [2018-11-23 11:25:07,437 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:25:07,437 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:25:07,440 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 55 transitions. [2018-11-23 11:25:07,440 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:25:07,442 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 55 transitions. [2018-11-23 11:25:07,443 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 55 transitions. [2018-11-23 11:25:07,545 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:07,547 INFO L225 Difference]: With dead ends: 55 [2018-11-23 11:25:07,547 INFO L226 Difference]: Without dead ends: 42 [2018-11-23 11:25:07,548 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 22 SyntacticMatches, 1 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 11:25:07,549 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2018-11-23 11:25:07,614 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 37. [2018-11-23 11:25:07,614 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:25:07,614 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 37 states. [2018-11-23 11:25:07,614 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 37 states. [2018-11-23 11:25:07,614 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 37 states. [2018-11-23 11:25:07,616 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:07,617 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2018-11-23 11:25:07,617 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2018-11-23 11:25:07,618 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:07,618 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:07,618 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 42 states. [2018-11-23 11:25:07,618 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 42 states. [2018-11-23 11:25:07,621 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:07,621 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2018-11-23 11:25:07,621 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2018-11-23 11:25:07,622 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:07,622 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:07,622 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:25:07,622 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:25:07,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-23 11:25:07,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 41 transitions. [2018-11-23 11:25:07,625 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 41 transitions. Word has length 26 [2018-11-23 11:25:07,625 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:25:07,625 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 41 transitions. [2018-11-23 11:25:07,625 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 11:25:07,626 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 41 transitions. [2018-11-23 11:25:07,627 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 11:25:07,627 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:25:07,627 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:25:07,627 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:25:07,628 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:25:07,628 INFO L82 PathProgramCache]: Analyzing trace with hash 1674464753, now seen corresponding path program 1 times [2018-11-23 11:25:07,628 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:25:07,628 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 11:25:07,660 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:25:07,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:07,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:07,752 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:25:07,880 INFO L256 TraceCheckUtils]: 0: Hoare triple {1157#true} call ULTIMATE.init(); {1157#true} is VALID [2018-11-23 11:25:07,880 INFO L273 TraceCheckUtils]: 1: Hoare triple {1157#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {1157#true} is VALID [2018-11-23 11:25:07,881 INFO L273 TraceCheckUtils]: 2: Hoare triple {1157#true} assume true; {1157#true} is VALID [2018-11-23 11:25:07,881 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1157#true} {1157#true} #84#return; {1157#true} is VALID [2018-11-23 11:25:07,881 INFO L256 TraceCheckUtils]: 4: Hoare triple {1157#true} call #t~ret9 := main(); {1157#true} is VALID [2018-11-23 11:25:07,886 INFO L273 TraceCheckUtils]: 5: Hoare triple {1157#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {1177#(= (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:07,886 INFO L273 TraceCheckUtils]: 6: Hoare triple {1177#(= (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1177#(= (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:07,888 INFO L273 TraceCheckUtils]: 7: Hoare triple {1177#(= (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {1184#(= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:07,888 INFO L273 TraceCheckUtils]: 8: Hoare triple {1184#(= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1184#(= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:07,889 INFO L273 TraceCheckUtils]: 9: Hoare triple {1184#(= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {1191#(= (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:07,889 INFO L273 TraceCheckUtils]: 10: Hoare triple {1191#(= (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1191#(= (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:07,890 INFO L273 TraceCheckUtils]: 11: Hoare triple {1191#(= (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {1198#(= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:07,891 INFO L273 TraceCheckUtils]: 12: Hoare triple {1198#(= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1198#(= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:07,901 INFO L273 TraceCheckUtils]: 13: Hoare triple {1198#(= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {1205#(= main_~i~1 (_ bv0 32))} is VALID [2018-11-23 11:25:07,902 INFO L273 TraceCheckUtils]: 14: Hoare triple {1205#(= main_~i~1 (_ bv0 32))} assume !~bvsge32(~i~1, 0bv32); {1158#false} is VALID [2018-11-23 11:25:07,902 INFO L256 TraceCheckUtils]: 15: Hoare triple {1158#false} call SelectionSort(); {1158#false} is VALID [2018-11-23 11:25:07,902 INFO L273 TraceCheckUtils]: 16: Hoare triple {1158#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {1158#false} is VALID [2018-11-23 11:25:07,903 INFO L273 TraceCheckUtils]: 17: Hoare triple {1158#false} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {1158#false} is VALID [2018-11-23 11:25:07,903 INFO L273 TraceCheckUtils]: 18: Hoare triple {1158#false} assume !~bvslt32(~i~0, ~n~0); {1158#false} is VALID [2018-11-23 11:25:07,903 INFO L273 TraceCheckUtils]: 19: Hoare triple {1158#false} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {1158#false} is VALID [2018-11-23 11:25:07,903 INFO L273 TraceCheckUtils]: 20: Hoare triple {1158#false} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1158#false} is VALID [2018-11-23 11:25:07,904 INFO L273 TraceCheckUtils]: 21: Hoare triple {1158#false} assume !~bvslt32(~lh~0, ~n~0); {1158#false} is VALID [2018-11-23 11:25:07,904 INFO L273 TraceCheckUtils]: 22: Hoare triple {1158#false} assume true; {1158#false} is VALID [2018-11-23 11:25:07,904 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {1158#false} {1158#false} #88#return; {1158#false} is VALID [2018-11-23 11:25:07,905 INFO L273 TraceCheckUtils]: 24: Hoare triple {1158#false} ~i~1 := 0bv32; {1158#false} is VALID [2018-11-23 11:25:07,905 INFO L273 TraceCheckUtils]: 25: Hoare triple {1158#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1158#false} is VALID [2018-11-23 11:25:07,905 INFO L256 TraceCheckUtils]: 26: Hoare triple {1158#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {1158#false} is VALID [2018-11-23 11:25:07,906 INFO L273 TraceCheckUtils]: 27: Hoare triple {1158#false} ~cond := #in~cond; {1158#false} is VALID [2018-11-23 11:25:07,906 INFO L273 TraceCheckUtils]: 28: Hoare triple {1158#false} assume 0bv32 == ~cond; {1158#false} is VALID [2018-11-23 11:25:07,906 INFO L273 TraceCheckUtils]: 29: Hoare triple {1158#false} assume !false; {1158#false} is VALID [2018-11-23 11:25:07,908 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 11:25:07,909 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:25:08,147 INFO L273 TraceCheckUtils]: 29: Hoare triple {1158#false} assume !false; {1158#false} is VALID [2018-11-23 11:25:08,148 INFO L273 TraceCheckUtils]: 28: Hoare triple {1158#false} assume 0bv32 == ~cond; {1158#false} is VALID [2018-11-23 11:25:08,148 INFO L273 TraceCheckUtils]: 27: Hoare triple {1158#false} ~cond := #in~cond; {1158#false} is VALID [2018-11-23 11:25:08,148 INFO L256 TraceCheckUtils]: 26: Hoare triple {1158#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {1158#false} is VALID [2018-11-23 11:25:08,149 INFO L273 TraceCheckUtils]: 25: Hoare triple {1158#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1158#false} is VALID [2018-11-23 11:25:08,149 INFO L273 TraceCheckUtils]: 24: Hoare triple {1158#false} ~i~1 := 0bv32; {1158#false} is VALID [2018-11-23 11:25:08,149 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {1157#true} {1158#false} #88#return; {1158#false} is VALID [2018-11-23 11:25:08,149 INFO L273 TraceCheckUtils]: 22: Hoare triple {1157#true} assume true; {1157#true} is VALID [2018-11-23 11:25:08,149 INFO L273 TraceCheckUtils]: 21: Hoare triple {1157#true} assume !~bvslt32(~lh~0, ~n~0); {1157#true} is VALID [2018-11-23 11:25:08,150 INFO L273 TraceCheckUtils]: 20: Hoare triple {1157#true} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1157#true} is VALID [2018-11-23 11:25:08,150 INFO L273 TraceCheckUtils]: 19: Hoare triple {1157#true} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {1157#true} is VALID [2018-11-23 11:25:08,150 INFO L273 TraceCheckUtils]: 18: Hoare triple {1157#true} assume !~bvslt32(~i~0, ~n~0); {1157#true} is VALID [2018-11-23 11:25:08,150 INFO L273 TraceCheckUtils]: 17: Hoare triple {1157#true} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {1157#true} is VALID [2018-11-23 11:25:08,151 INFO L273 TraceCheckUtils]: 16: Hoare triple {1157#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {1157#true} is VALID [2018-11-23 11:25:08,151 INFO L256 TraceCheckUtils]: 15: Hoare triple {1158#false} call SelectionSort(); {1157#true} is VALID [2018-11-23 11:25:08,151 INFO L273 TraceCheckUtils]: 14: Hoare triple {1299#(bvsge main_~i~1 (_ bv0 32))} assume !~bvsge32(~i~1, 0bv32); {1158#false} is VALID [2018-11-23 11:25:08,152 INFO L273 TraceCheckUtils]: 13: Hoare triple {1303#(bvsge (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {1299#(bvsge main_~i~1 (_ bv0 32))} is VALID [2018-11-23 11:25:08,152 INFO L273 TraceCheckUtils]: 12: Hoare triple {1303#(bvsge (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1303#(bvsge (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:08,155 INFO L273 TraceCheckUtils]: 11: Hoare triple {1310#(bvsge (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {1303#(bvsge (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:08,156 INFO L273 TraceCheckUtils]: 10: Hoare triple {1310#(bvsge (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1310#(bvsge (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:08,159 INFO L273 TraceCheckUtils]: 9: Hoare triple {1317#(bvsge (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {1310#(bvsge (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:08,160 INFO L273 TraceCheckUtils]: 8: Hoare triple {1317#(bvsge (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1317#(bvsge (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:08,162 INFO L273 TraceCheckUtils]: 7: Hoare triple {1324#(bvsge (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {1317#(bvsge (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:08,163 INFO L273 TraceCheckUtils]: 6: Hoare triple {1324#(bvsge (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1324#(bvsge (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:08,164 INFO L273 TraceCheckUtils]: 5: Hoare triple {1157#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {1324#(bvsge (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:08,164 INFO L256 TraceCheckUtils]: 4: Hoare triple {1157#true} call #t~ret9 := main(); {1157#true} is VALID [2018-11-23 11:25:08,164 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1157#true} {1157#true} #84#return; {1157#true} is VALID [2018-11-23 11:25:08,164 INFO L273 TraceCheckUtils]: 2: Hoare triple {1157#true} assume true; {1157#true} is VALID [2018-11-23 11:25:08,164 INFO L273 TraceCheckUtils]: 1: Hoare triple {1157#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {1157#true} is VALID [2018-11-23 11:25:08,165 INFO L256 TraceCheckUtils]: 0: Hoare triple {1157#true} call ULTIMATE.init(); {1157#true} is VALID [2018-11-23 11:25:08,167 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 11:25:08,169 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:25:08,169 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2018-11-23 11:25:08,170 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 30 [2018-11-23 11:25:08,171 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:25:08,171 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-23 11:25:08,257 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 11:25:08,257 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-23 11:25:08,258 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-23 11:25:08,258 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2018-11-23 11:25:08,259 INFO L87 Difference]: Start difference. First operand 37 states and 41 transitions. Second operand 12 states. [2018-11-23 11:25:09,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:09,559 INFO L93 Difference]: Finished difference Result 79 states and 91 transitions. [2018-11-23 11:25:09,559 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 11:25:09,559 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 30 [2018-11-23 11:25:09,560 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:25:09,560 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 11:25:09,564 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2018-11-23 11:25:09,565 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 11:25:09,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2018-11-23 11:25:09,574 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2018-11-23 11:25:09,750 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:09,754 INFO L225 Difference]: With dead ends: 79 [2018-11-23 11:25:09,754 INFO L226 Difference]: Without dead ends: 57 [2018-11-23 11:25:09,755 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 49 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=112, Unknown=0, NotChecked=0, Total=156 [2018-11-23 11:25:09,755 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2018-11-23 11:25:09,845 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 39. [2018-11-23 11:25:09,846 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:25:09,846 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 39 states. [2018-11-23 11:25:09,846 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 39 states. [2018-11-23 11:25:09,846 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 39 states. [2018-11-23 11:25:09,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:09,849 INFO L93 Difference]: Finished difference Result 57 states and 65 transitions. [2018-11-23 11:25:09,850 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 65 transitions. [2018-11-23 11:25:09,851 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:09,851 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:09,851 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 57 states. [2018-11-23 11:25:09,851 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 57 states. [2018-11-23 11:25:09,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:09,855 INFO L93 Difference]: Finished difference Result 57 states and 65 transitions. [2018-11-23 11:25:09,855 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 65 transitions. [2018-11-23 11:25:09,856 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:09,856 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:09,856 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:25:09,856 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:25:09,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-23 11:25:09,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 43 transitions. [2018-11-23 11:25:09,858 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 43 transitions. Word has length 30 [2018-11-23 11:25:09,858 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:25:09,858 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 43 transitions. [2018-11-23 11:25:09,858 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-23 11:25:09,859 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 43 transitions. [2018-11-23 11:25:09,860 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 11:25:09,860 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:25:09,860 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:25:09,860 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:25:09,860 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:25:09,860 INFO L82 PathProgramCache]: Analyzing trace with hash 541138195, now seen corresponding path program 2 times [2018-11-23 11:25:09,861 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:25:09,861 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 11:25:09,890 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 11:25:09,964 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 11:25:09,965 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:25:09,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:09,994 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:25:10,136 INFO L256 TraceCheckUtils]: 0: Hoare triple {1635#true} call ULTIMATE.init(); {1635#true} is VALID [2018-11-23 11:25:10,139 INFO L273 TraceCheckUtils]: 1: Hoare triple {1635#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {1643#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:10,139 INFO L273 TraceCheckUtils]: 2: Hoare triple {1643#(= (_ bv5 32) ~n~0)} assume true; {1643#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:10,142 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1643#(= (_ bv5 32) ~n~0)} {1635#true} #84#return; {1643#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:10,145 INFO L256 TraceCheckUtils]: 4: Hoare triple {1643#(= (_ bv5 32) ~n~0)} call #t~ret9 := main(); {1643#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:10,145 INFO L273 TraceCheckUtils]: 5: Hoare triple {1643#(= (_ bv5 32) ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {1643#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:10,147 INFO L273 TraceCheckUtils]: 6: Hoare triple {1643#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1643#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:10,147 INFO L273 TraceCheckUtils]: 7: Hoare triple {1643#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {1643#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:10,152 INFO L273 TraceCheckUtils]: 8: Hoare triple {1643#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1643#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:10,161 INFO L273 TraceCheckUtils]: 9: Hoare triple {1643#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {1643#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:10,164 INFO L273 TraceCheckUtils]: 10: Hoare triple {1643#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1643#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:10,164 INFO L273 TraceCheckUtils]: 11: Hoare triple {1643#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {1643#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:10,166 INFO L273 TraceCheckUtils]: 12: Hoare triple {1643#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1643#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:10,166 INFO L273 TraceCheckUtils]: 13: Hoare triple {1643#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {1643#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:10,168 INFO L273 TraceCheckUtils]: 14: Hoare triple {1643#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1643#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:10,168 INFO L273 TraceCheckUtils]: 15: Hoare triple {1643#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {1643#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:10,171 INFO L273 TraceCheckUtils]: 16: Hoare triple {1643#(= (_ bv5 32) ~n~0)} assume !~bvsge32(~i~1, 0bv32); {1643#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:10,174 INFO L256 TraceCheckUtils]: 17: Hoare triple {1643#(= (_ bv5 32) ~n~0)} call SelectionSort(); {1643#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:10,174 INFO L273 TraceCheckUtils]: 18: Hoare triple {1643#(= (_ bv5 32) ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {1695#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:10,177 INFO L273 TraceCheckUtils]: 19: Hoare triple {1695#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {1699#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:10,177 INFO L273 TraceCheckUtils]: 20: Hoare triple {1699#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !~bvslt32(~i~0, ~n~0); {1636#false} is VALID [2018-11-23 11:25:10,177 INFO L273 TraceCheckUtils]: 21: Hoare triple {1636#false} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {1636#false} is VALID [2018-11-23 11:25:10,178 INFO L273 TraceCheckUtils]: 22: Hoare triple {1636#false} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1636#false} is VALID [2018-11-23 11:25:10,178 INFO L273 TraceCheckUtils]: 23: Hoare triple {1636#false} assume !~bvslt32(~lh~0, ~n~0); {1636#false} is VALID [2018-11-23 11:25:10,178 INFO L273 TraceCheckUtils]: 24: Hoare triple {1636#false} assume true; {1636#false} is VALID [2018-11-23 11:25:10,178 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {1636#false} {1643#(= (_ bv5 32) ~n~0)} #88#return; {1636#false} is VALID [2018-11-23 11:25:10,179 INFO L273 TraceCheckUtils]: 26: Hoare triple {1636#false} ~i~1 := 0bv32; {1636#false} is VALID [2018-11-23 11:25:10,179 INFO L273 TraceCheckUtils]: 27: Hoare triple {1636#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1636#false} is VALID [2018-11-23 11:25:10,179 INFO L256 TraceCheckUtils]: 28: Hoare triple {1636#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {1636#false} is VALID [2018-11-23 11:25:10,179 INFO L273 TraceCheckUtils]: 29: Hoare triple {1636#false} ~cond := #in~cond; {1636#false} is VALID [2018-11-23 11:25:10,180 INFO L273 TraceCheckUtils]: 30: Hoare triple {1636#false} assume 0bv32 == ~cond; {1636#false} is VALID [2018-11-23 11:25:10,180 INFO L273 TraceCheckUtils]: 31: Hoare triple {1636#false} assume !false; {1636#false} is VALID [2018-11-23 11:25:10,182 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2018-11-23 11:25:10,182 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:25:10,194 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:25:10,194 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 11:25:10,194 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 32 [2018-11-23 11:25:10,194 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:25:10,196 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 11:25:10,243 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:10,243 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 11:25:10,244 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 11:25:10,244 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 11:25:10,245 INFO L87 Difference]: Start difference. First operand 39 states and 43 transitions. Second operand 5 states. [2018-11-23 11:25:10,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:10,734 INFO L93 Difference]: Finished difference Result 66 states and 77 transitions. [2018-11-23 11:25:10,734 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 11:25:10,734 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 32 [2018-11-23 11:25:10,735 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:25:10,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 11:25:10,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 68 transitions. [2018-11-23 11:25:10,737 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 11:25:10,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 68 transitions. [2018-11-23 11:25:10,740 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 68 transitions. [2018-11-23 11:25:10,843 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:10,845 INFO L225 Difference]: With dead ends: 66 [2018-11-23 11:25:10,845 INFO L226 Difference]: Without dead ends: 47 [2018-11-23 11:25:10,846 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 27 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=14, Invalid=16, Unknown=0, NotChecked=0, Total=30 [2018-11-23 11:25:10,846 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2018-11-23 11:25:10,917 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 40. [2018-11-23 11:25:10,917 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:25:10,917 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 40 states. [2018-11-23 11:25:10,918 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 40 states. [2018-11-23 11:25:10,918 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 40 states. [2018-11-23 11:25:10,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:10,921 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2018-11-23 11:25:10,921 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2018-11-23 11:25:10,921 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:10,922 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:10,922 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 47 states. [2018-11-23 11:25:10,922 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 47 states. [2018-11-23 11:25:10,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:10,924 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2018-11-23 11:25:10,925 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2018-11-23 11:25:10,925 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:10,925 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:10,925 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:25:10,926 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:25:10,926 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2018-11-23 11:25:10,927 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 44 transitions. [2018-11-23 11:25:10,928 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 44 transitions. Word has length 32 [2018-11-23 11:25:10,928 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:25:10,928 INFO L480 AbstractCegarLoop]: Abstraction has 40 states and 44 transitions. [2018-11-23 11:25:10,928 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 11:25:10,928 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 44 transitions. [2018-11-23 11:25:10,929 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2018-11-23 11:25:10,929 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:25:10,929 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:25:10,930 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:25:10,930 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:25:10,930 INFO L82 PathProgramCache]: Analyzing trace with hash -175519861, now seen corresponding path program 1 times [2018-11-23 11:25:10,931 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:25:10,931 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 11:25:10,950 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:25:11,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:11,023 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:11,025 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:25:11,212 INFO L256 TraceCheckUtils]: 0: Hoare triple {1981#true} call ULTIMATE.init(); {1981#true} is VALID [2018-11-23 11:25:11,212 INFO L273 TraceCheckUtils]: 1: Hoare triple {1981#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {1989#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:11,221 INFO L273 TraceCheckUtils]: 2: Hoare triple {1989#(= (_ bv5 32) ~n~0)} assume true; {1989#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:11,221 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1989#(= (_ bv5 32) ~n~0)} {1981#true} #84#return; {1989#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:11,222 INFO L256 TraceCheckUtils]: 4: Hoare triple {1989#(= (_ bv5 32) ~n~0)} call #t~ret9 := main(); {1989#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:11,222 INFO L273 TraceCheckUtils]: 5: Hoare triple {1989#(= (_ bv5 32) ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {1989#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:11,222 INFO L273 TraceCheckUtils]: 6: Hoare triple {1989#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1989#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:11,224 INFO L273 TraceCheckUtils]: 7: Hoare triple {1989#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {1989#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:11,231 INFO L273 TraceCheckUtils]: 8: Hoare triple {1989#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1989#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:11,233 INFO L273 TraceCheckUtils]: 9: Hoare triple {1989#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {1989#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:11,242 INFO L273 TraceCheckUtils]: 10: Hoare triple {1989#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1989#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:11,242 INFO L273 TraceCheckUtils]: 11: Hoare triple {1989#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {1989#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:11,243 INFO L273 TraceCheckUtils]: 12: Hoare triple {1989#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1989#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:11,243 INFO L273 TraceCheckUtils]: 13: Hoare triple {1989#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {1989#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:11,244 INFO L273 TraceCheckUtils]: 14: Hoare triple {1989#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1989#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:11,244 INFO L273 TraceCheckUtils]: 15: Hoare triple {1989#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {1989#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:11,246 INFO L273 TraceCheckUtils]: 16: Hoare triple {1989#(= (_ bv5 32) ~n~0)} assume !~bvsge32(~i~1, 0bv32); {1989#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:11,255 INFO L256 TraceCheckUtils]: 17: Hoare triple {1989#(= (_ bv5 32) ~n~0)} call SelectionSort(); {1989#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:11,256 INFO L273 TraceCheckUtils]: 18: Hoare triple {1989#(= (_ bv5 32) ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {2041#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:11,257 INFO L273 TraceCheckUtils]: 19: Hoare triple {2041#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {2045#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:11,258 INFO L273 TraceCheckUtils]: 20: Hoare triple {2045#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {2045#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:11,258 INFO L273 TraceCheckUtils]: 21: Hoare triple {2045#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {2045#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:11,259 INFO L273 TraceCheckUtils]: 22: Hoare triple {2045#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2055#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967294 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:11,259 INFO L273 TraceCheckUtils]: 23: Hoare triple {2055#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967294 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !~bvslt32(~i~0, ~n~0); {1982#false} is VALID [2018-11-23 11:25:11,259 INFO L273 TraceCheckUtils]: 24: Hoare triple {1982#false} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {1982#false} is VALID [2018-11-23 11:25:11,260 INFO L273 TraceCheckUtils]: 25: Hoare triple {1982#false} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1982#false} is VALID [2018-11-23 11:25:11,260 INFO L273 TraceCheckUtils]: 26: Hoare triple {1982#false} assume !~bvslt32(~lh~0, ~n~0); {1982#false} is VALID [2018-11-23 11:25:11,260 INFO L273 TraceCheckUtils]: 27: Hoare triple {1982#false} assume true; {1982#false} is VALID [2018-11-23 11:25:11,261 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1982#false} {1989#(= (_ bv5 32) ~n~0)} #88#return; {1982#false} is VALID [2018-11-23 11:25:11,261 INFO L273 TraceCheckUtils]: 29: Hoare triple {1982#false} ~i~1 := 0bv32; {1982#false} is VALID [2018-11-23 11:25:11,261 INFO L273 TraceCheckUtils]: 30: Hoare triple {1982#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1982#false} is VALID [2018-11-23 11:25:11,262 INFO L256 TraceCheckUtils]: 31: Hoare triple {1982#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {1982#false} is VALID [2018-11-23 11:25:11,262 INFO L273 TraceCheckUtils]: 32: Hoare triple {1982#false} ~cond := #in~cond; {1982#false} is VALID [2018-11-23 11:25:11,262 INFO L273 TraceCheckUtils]: 33: Hoare triple {1982#false} assume 0bv32 == ~cond; {1982#false} is VALID [2018-11-23 11:25:11,263 INFO L273 TraceCheckUtils]: 34: Hoare triple {1982#false} assume !false; {1982#false} is VALID [2018-11-23 11:25:11,265 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2018-11-23 11:25:11,265 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:25:11,812 INFO L273 TraceCheckUtils]: 34: Hoare triple {1982#false} assume !false; {1982#false} is VALID [2018-11-23 11:25:11,812 INFO L273 TraceCheckUtils]: 33: Hoare triple {1982#false} assume 0bv32 == ~cond; {1982#false} is VALID [2018-11-23 11:25:11,812 INFO L273 TraceCheckUtils]: 32: Hoare triple {1982#false} ~cond := #in~cond; {1982#false} is VALID [2018-11-23 11:25:11,812 INFO L256 TraceCheckUtils]: 31: Hoare triple {1982#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {1982#false} is VALID [2018-11-23 11:25:11,813 INFO L273 TraceCheckUtils]: 30: Hoare triple {1982#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {1982#false} is VALID [2018-11-23 11:25:11,813 INFO L273 TraceCheckUtils]: 29: Hoare triple {1982#false} ~i~1 := 0bv32; {1982#false} is VALID [2018-11-23 11:25:11,813 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {2114#(not (bvslt (_ bv2 32) ~n~0))} {2110#(bvslt (_ bv2 32) ~n~0)} #88#return; {1982#false} is VALID [2018-11-23 11:25:11,814 INFO L273 TraceCheckUtils]: 27: Hoare triple {2114#(not (bvslt (_ bv2 32) ~n~0))} assume true; {2114#(not (bvslt (_ bv2 32) ~n~0))} is VALID [2018-11-23 11:25:11,814 INFO L273 TraceCheckUtils]: 26: Hoare triple {2114#(not (bvslt (_ bv2 32) ~n~0))} assume !~bvslt32(~lh~0, ~n~0); {2114#(not (bvslt (_ bv2 32) ~n~0))} is VALID [2018-11-23 11:25:11,814 INFO L273 TraceCheckUtils]: 25: Hoare triple {2114#(not (bvslt (_ bv2 32) ~n~0))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2114#(not (bvslt (_ bv2 32) ~n~0))} is VALID [2018-11-23 11:25:11,815 INFO L273 TraceCheckUtils]: 24: Hoare triple {2114#(not (bvslt (_ bv2 32) ~n~0))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {2114#(not (bvslt (_ bv2 32) ~n~0))} is VALID [2018-11-23 11:25:11,815 INFO L273 TraceCheckUtils]: 23: Hoare triple {2130#(or (bvslt SelectionSort_~i~0 ~n~0) (not (bvslt (_ bv2 32) ~n~0)))} assume !~bvslt32(~i~0, ~n~0); {2114#(not (bvslt (_ bv2 32) ~n~0))} is VALID [2018-11-23 11:25:11,816 INFO L273 TraceCheckUtils]: 22: Hoare triple {2134#(or (not (bvslt (_ bv2 32) ~n~0)) (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2130#(or (bvslt SelectionSort_~i~0 ~n~0) (not (bvslt (_ bv2 32) ~n~0)))} is VALID [2018-11-23 11:25:11,816 INFO L273 TraceCheckUtils]: 21: Hoare triple {2134#(or (not (bvslt (_ bv2 32) ~n~0)) (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {2134#(or (not (bvslt (_ bv2 32) ~n~0)) (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0))} is VALID [2018-11-23 11:25:11,817 INFO L273 TraceCheckUtils]: 20: Hoare triple {2134#(or (not (bvslt (_ bv2 32) ~n~0)) (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {2134#(or (not (bvslt (_ bv2 32) ~n~0)) (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0))} is VALID [2018-11-23 11:25:11,856 INFO L273 TraceCheckUtils]: 19: Hoare triple {2144#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv2 32) ~n~0)))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {2134#(or (not (bvslt (_ bv2 32) ~n~0)) (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0))} is VALID [2018-11-23 11:25:11,856 INFO L273 TraceCheckUtils]: 18: Hoare triple {1981#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {2144#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv2 32) ~n~0)))} is VALID [2018-11-23 11:25:11,856 INFO L256 TraceCheckUtils]: 17: Hoare triple {2110#(bvslt (_ bv2 32) ~n~0)} call SelectionSort(); {1981#true} is VALID [2018-11-23 11:25:11,857 INFO L273 TraceCheckUtils]: 16: Hoare triple {2110#(bvslt (_ bv2 32) ~n~0)} assume !~bvsge32(~i~1, 0bv32); {2110#(bvslt (_ bv2 32) ~n~0)} is VALID [2018-11-23 11:25:11,857 INFO L273 TraceCheckUtils]: 15: Hoare triple {2110#(bvslt (_ bv2 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {2110#(bvslt (_ bv2 32) ~n~0)} is VALID [2018-11-23 11:25:11,858 INFO L273 TraceCheckUtils]: 14: Hoare triple {2110#(bvslt (_ bv2 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {2110#(bvslt (_ bv2 32) ~n~0)} is VALID [2018-11-23 11:25:11,858 INFO L273 TraceCheckUtils]: 13: Hoare triple {2110#(bvslt (_ bv2 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {2110#(bvslt (_ bv2 32) ~n~0)} is VALID [2018-11-23 11:25:11,858 INFO L273 TraceCheckUtils]: 12: Hoare triple {2110#(bvslt (_ bv2 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {2110#(bvslt (_ bv2 32) ~n~0)} is VALID [2018-11-23 11:25:11,859 INFO L273 TraceCheckUtils]: 11: Hoare triple {2110#(bvslt (_ bv2 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {2110#(bvslt (_ bv2 32) ~n~0)} is VALID [2018-11-23 11:25:11,860 INFO L273 TraceCheckUtils]: 10: Hoare triple {2110#(bvslt (_ bv2 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {2110#(bvslt (_ bv2 32) ~n~0)} is VALID [2018-11-23 11:25:11,862 INFO L273 TraceCheckUtils]: 9: Hoare triple {2110#(bvslt (_ bv2 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {2110#(bvslt (_ bv2 32) ~n~0)} is VALID [2018-11-23 11:25:11,865 INFO L273 TraceCheckUtils]: 8: Hoare triple {2110#(bvslt (_ bv2 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {2110#(bvslt (_ bv2 32) ~n~0)} is VALID [2018-11-23 11:25:11,866 INFO L273 TraceCheckUtils]: 7: Hoare triple {2110#(bvslt (_ bv2 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {2110#(bvslt (_ bv2 32) ~n~0)} is VALID [2018-11-23 11:25:11,868 INFO L273 TraceCheckUtils]: 6: Hoare triple {2110#(bvslt (_ bv2 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {2110#(bvslt (_ bv2 32) ~n~0)} is VALID [2018-11-23 11:25:11,868 INFO L273 TraceCheckUtils]: 5: Hoare triple {2110#(bvslt (_ bv2 32) ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {2110#(bvslt (_ bv2 32) ~n~0)} is VALID [2018-11-23 11:25:11,869 INFO L256 TraceCheckUtils]: 4: Hoare triple {2110#(bvslt (_ bv2 32) ~n~0)} call #t~ret9 := main(); {2110#(bvslt (_ bv2 32) ~n~0)} is VALID [2018-11-23 11:25:11,870 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2110#(bvslt (_ bv2 32) ~n~0)} {1981#true} #84#return; {2110#(bvslt (_ bv2 32) ~n~0)} is VALID [2018-11-23 11:25:11,870 INFO L273 TraceCheckUtils]: 2: Hoare triple {2110#(bvslt (_ bv2 32) ~n~0)} assume true; {2110#(bvslt (_ bv2 32) ~n~0)} is VALID [2018-11-23 11:25:11,871 INFO L273 TraceCheckUtils]: 1: Hoare triple {1981#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {2110#(bvslt (_ bv2 32) ~n~0)} is VALID [2018-11-23 11:25:11,871 INFO L256 TraceCheckUtils]: 0: Hoare triple {1981#true} call ULTIMATE.init(); {1981#true} is VALID [2018-11-23 11:25:11,874 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2018-11-23 11:25:11,885 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:25:11,885 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 7] total 11 [2018-11-23 11:25:11,886 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 35 [2018-11-23 11:25:11,886 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:25:11,886 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-23 11:25:12,013 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 11:25:12,013 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 11:25:12,013 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 11:25:12,014 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=76, Unknown=0, NotChecked=0, Total=110 [2018-11-23 11:25:12,014 INFO L87 Difference]: Start difference. First operand 40 states and 44 transitions. Second operand 11 states. [2018-11-23 11:25:13,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:13,380 INFO L93 Difference]: Finished difference Result 85 states and 106 transitions. [2018-11-23 11:25:13,380 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 11:25:13,380 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 35 [2018-11-23 11:25:13,380 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:25:13,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 11:25:13,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 97 transitions. [2018-11-23 11:25:13,383 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 11:25:13,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 97 transitions. [2018-11-23 11:25:13,386 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 97 transitions. [2018-11-23 11:25:13,550 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:13,553 INFO L225 Difference]: With dead ends: 85 [2018-11-23 11:25:13,553 INFO L226 Difference]: Without dead ends: 66 [2018-11-23 11:25:13,554 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 59 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=118, Invalid=224, Unknown=0, NotChecked=0, Total=342 [2018-11-23 11:25:13,555 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2018-11-23 11:25:13,613 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 59. [2018-11-23 11:25:13,614 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:25:13,614 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand 59 states. [2018-11-23 11:25:13,614 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 59 states. [2018-11-23 11:25:13,614 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 59 states. [2018-11-23 11:25:13,616 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:13,616 INFO L93 Difference]: Finished difference Result 66 states and 79 transitions. [2018-11-23 11:25:13,617 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 79 transitions. [2018-11-23 11:25:13,617 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:13,617 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:13,617 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 66 states. [2018-11-23 11:25:13,617 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 66 states. [2018-11-23 11:25:13,619 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:13,620 INFO L93 Difference]: Finished difference Result 66 states and 79 transitions. [2018-11-23 11:25:13,620 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 79 transitions. [2018-11-23 11:25:13,620 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:13,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:13,620 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:25:13,621 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:25:13,621 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2018-11-23 11:25:13,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 70 transitions. [2018-11-23 11:25:13,623 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 70 transitions. Word has length 35 [2018-11-23 11:25:13,623 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:25:13,623 INFO L480 AbstractCegarLoop]: Abstraction has 59 states and 70 transitions. [2018-11-23 11:25:13,623 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 11:25:13,623 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 70 transitions. [2018-11-23 11:25:13,624 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-23 11:25:13,624 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:25:13,624 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:25:13,625 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:25:13,625 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:25:13,625 INFO L82 PathProgramCache]: Analyzing trace with hash 1519384339, now seen corresponding path program 2 times [2018-11-23 11:25:13,625 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:25:13,626 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 11:25:13,650 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 11:25:13,748 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 11:25:13,748 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:25:13,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:13,774 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:25:13,935 INFO L256 TraceCheckUtils]: 0: Hoare triple {2551#true} call ULTIMATE.init(); {2551#true} is VALID [2018-11-23 11:25:13,936 INFO L273 TraceCheckUtils]: 1: Hoare triple {2551#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {2559#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:13,937 INFO L273 TraceCheckUtils]: 2: Hoare triple {2559#(= (_ bv5 32) ~n~0)} assume true; {2559#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:13,938 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2559#(= (_ bv5 32) ~n~0)} {2551#true} #84#return; {2559#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:13,939 INFO L256 TraceCheckUtils]: 4: Hoare triple {2559#(= (_ bv5 32) ~n~0)} call #t~ret9 := main(); {2559#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:13,940 INFO L273 TraceCheckUtils]: 5: Hoare triple {2559#(= (_ bv5 32) ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {2559#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:13,940 INFO L273 TraceCheckUtils]: 6: Hoare triple {2559#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {2559#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:13,941 INFO L273 TraceCheckUtils]: 7: Hoare triple {2559#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {2559#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:13,941 INFO L273 TraceCheckUtils]: 8: Hoare triple {2559#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {2559#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:13,942 INFO L273 TraceCheckUtils]: 9: Hoare triple {2559#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {2559#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:13,942 INFO L273 TraceCheckUtils]: 10: Hoare triple {2559#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {2559#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:13,943 INFO L273 TraceCheckUtils]: 11: Hoare triple {2559#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {2559#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:13,944 INFO L273 TraceCheckUtils]: 12: Hoare triple {2559#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {2559#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:13,944 INFO L273 TraceCheckUtils]: 13: Hoare triple {2559#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {2559#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:13,945 INFO L273 TraceCheckUtils]: 14: Hoare triple {2559#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {2559#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:13,945 INFO L273 TraceCheckUtils]: 15: Hoare triple {2559#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {2559#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:13,946 INFO L273 TraceCheckUtils]: 16: Hoare triple {2559#(= (_ bv5 32) ~n~0)} assume !~bvsge32(~i~1, 0bv32); {2559#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:13,947 INFO L256 TraceCheckUtils]: 17: Hoare triple {2559#(= (_ bv5 32) ~n~0)} call SelectionSort(); {2559#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:13,947 INFO L273 TraceCheckUtils]: 18: Hoare triple {2559#(= (_ bv5 32) ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:13,948 INFO L273 TraceCheckUtils]: 19: Hoare triple {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:13,949 INFO L273 TraceCheckUtils]: 20: Hoare triple {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:13,950 INFO L273 TraceCheckUtils]: 21: Hoare triple {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:13,951 INFO L273 TraceCheckUtils]: 22: Hoare triple {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:13,951 INFO L273 TraceCheckUtils]: 23: Hoare triple {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:13,953 INFO L273 TraceCheckUtils]: 24: Hoare triple {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:13,953 INFO L273 TraceCheckUtils]: 25: Hoare triple {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:13,954 INFO L273 TraceCheckUtils]: 26: Hoare triple {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:13,955 INFO L273 TraceCheckUtils]: 27: Hoare triple {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:13,956 INFO L273 TraceCheckUtils]: 28: Hoare triple {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:13,957 INFO L273 TraceCheckUtils]: 29: Hoare triple {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:13,957 INFO L273 TraceCheckUtils]: 30: Hoare triple {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:13,971 INFO L273 TraceCheckUtils]: 31: Hoare triple {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:13,988 INFO L273 TraceCheckUtils]: 32: Hoare triple {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !~bvslt32(~i~0, ~n~0); {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:14,003 INFO L273 TraceCheckUtils]: 33: Hoare triple {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:14,011 INFO L273 TraceCheckUtils]: 34: Hoare triple {2611#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2660#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:14,011 INFO L273 TraceCheckUtils]: 35: Hoare triple {2660#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !~bvslt32(~lh~0, ~n~0); {2552#false} is VALID [2018-11-23 11:25:14,011 INFO L273 TraceCheckUtils]: 36: Hoare triple {2552#false} assume true; {2552#false} is VALID [2018-11-23 11:25:14,012 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {2552#false} {2559#(= (_ bv5 32) ~n~0)} #88#return; {2552#false} is VALID [2018-11-23 11:25:14,012 INFO L273 TraceCheckUtils]: 38: Hoare triple {2552#false} ~i~1 := 0bv32; {2552#false} is VALID [2018-11-23 11:25:14,012 INFO L273 TraceCheckUtils]: 39: Hoare triple {2552#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {2552#false} is VALID [2018-11-23 11:25:14,012 INFO L256 TraceCheckUtils]: 40: Hoare triple {2552#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {2552#false} is VALID [2018-11-23 11:25:14,012 INFO L273 TraceCheckUtils]: 41: Hoare triple {2552#false} ~cond := #in~cond; {2552#false} is VALID [2018-11-23 11:25:14,012 INFO L273 TraceCheckUtils]: 42: Hoare triple {2552#false} assume 0bv32 == ~cond; {2552#false} is VALID [2018-11-23 11:25:14,013 INFO L273 TraceCheckUtils]: 43: Hoare triple {2552#false} assume !false; {2552#false} is VALID [2018-11-23 11:25:14,018 INFO L134 CoverageAnalysis]: Checked inductivity of 48 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 47 trivial. 0 not checked. [2018-11-23 11:25:14,018 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:25:14,269 INFO L273 TraceCheckUtils]: 43: Hoare triple {2552#false} assume !false; {2552#false} is VALID [2018-11-23 11:25:14,269 INFO L273 TraceCheckUtils]: 42: Hoare triple {2552#false} assume 0bv32 == ~cond; {2552#false} is VALID [2018-11-23 11:25:14,269 INFO L273 TraceCheckUtils]: 41: Hoare triple {2552#false} ~cond := #in~cond; {2552#false} is VALID [2018-11-23 11:25:14,269 INFO L256 TraceCheckUtils]: 40: Hoare triple {2552#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {2552#false} is VALID [2018-11-23 11:25:14,270 INFO L273 TraceCheckUtils]: 39: Hoare triple {2552#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {2552#false} is VALID [2018-11-23 11:25:14,270 INFO L273 TraceCheckUtils]: 38: Hoare triple {2552#false} ~i~1 := 0bv32; {2552#false} is VALID [2018-11-23 11:25:14,270 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {2710#(not (bvslt (_ bv1 32) ~n~0))} {2706#(bvslt (_ bv1 32) ~n~0)} #88#return; {2552#false} is VALID [2018-11-23 11:25:14,271 INFO L273 TraceCheckUtils]: 36: Hoare triple {2710#(not (bvslt (_ bv1 32) ~n~0))} assume true; {2710#(not (bvslt (_ bv1 32) ~n~0))} is VALID [2018-11-23 11:25:14,271 INFO L273 TraceCheckUtils]: 35: Hoare triple {2717#(or (bvslt SelectionSort_~lh~0 ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} assume !~bvslt32(~lh~0, ~n~0); {2710#(not (bvslt (_ bv1 32) ~n~0))} is VALID [2018-11-23 11:25:14,272 INFO L273 TraceCheckUtils]: 34: Hoare triple {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2717#(or (bvslt SelectionSort_~lh~0 ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} is VALID [2018-11-23 11:25:14,272 INFO L273 TraceCheckUtils]: 33: Hoare triple {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} is VALID [2018-11-23 11:25:14,272 INFO L273 TraceCheckUtils]: 32: Hoare triple {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} assume !~bvslt32(~i~0, ~n~0); {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} is VALID [2018-11-23 11:25:14,273 INFO L273 TraceCheckUtils]: 31: Hoare triple {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} is VALID [2018-11-23 11:25:14,282 INFO L273 TraceCheckUtils]: 30: Hoare triple {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} is VALID [2018-11-23 11:25:14,283 INFO L273 TraceCheckUtils]: 29: Hoare triple {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} is VALID [2018-11-23 11:25:14,283 INFO L273 TraceCheckUtils]: 28: Hoare triple {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} is VALID [2018-11-23 11:25:14,285 INFO L273 TraceCheckUtils]: 27: Hoare triple {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} is VALID [2018-11-23 11:25:14,285 INFO L273 TraceCheckUtils]: 26: Hoare triple {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} is VALID [2018-11-23 11:25:14,285 INFO L273 TraceCheckUtils]: 25: Hoare triple {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} is VALID [2018-11-23 11:25:14,286 INFO L273 TraceCheckUtils]: 24: Hoare triple {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} is VALID [2018-11-23 11:25:14,286 INFO L273 TraceCheckUtils]: 23: Hoare triple {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} is VALID [2018-11-23 11:25:14,287 INFO L273 TraceCheckUtils]: 22: Hoare triple {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} is VALID [2018-11-23 11:25:14,287 INFO L273 TraceCheckUtils]: 21: Hoare triple {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} is VALID [2018-11-23 11:25:14,288 INFO L273 TraceCheckUtils]: 20: Hoare triple {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} is VALID [2018-11-23 11:25:14,288 INFO L273 TraceCheckUtils]: 19: Hoare triple {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} is VALID [2018-11-23 11:25:14,290 INFO L273 TraceCheckUtils]: 18: Hoare triple {2551#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {2721#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv1 32) ~n~0)))} is VALID [2018-11-23 11:25:14,290 INFO L256 TraceCheckUtils]: 17: Hoare triple {2706#(bvslt (_ bv1 32) ~n~0)} call SelectionSort(); {2551#true} is VALID [2018-11-23 11:25:14,290 INFO L273 TraceCheckUtils]: 16: Hoare triple {2706#(bvslt (_ bv1 32) ~n~0)} assume !~bvsge32(~i~1, 0bv32); {2706#(bvslt (_ bv1 32) ~n~0)} is VALID [2018-11-23 11:25:14,291 INFO L273 TraceCheckUtils]: 15: Hoare triple {2706#(bvslt (_ bv1 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {2706#(bvslt (_ bv1 32) ~n~0)} is VALID [2018-11-23 11:25:14,292 INFO L273 TraceCheckUtils]: 14: Hoare triple {2706#(bvslt (_ bv1 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {2706#(bvslt (_ bv1 32) ~n~0)} is VALID [2018-11-23 11:25:14,292 INFO L273 TraceCheckUtils]: 13: Hoare triple {2706#(bvslt (_ bv1 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {2706#(bvslt (_ bv1 32) ~n~0)} is VALID [2018-11-23 11:25:14,293 INFO L273 TraceCheckUtils]: 12: Hoare triple {2706#(bvslt (_ bv1 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {2706#(bvslt (_ bv1 32) ~n~0)} is VALID [2018-11-23 11:25:14,293 INFO L273 TraceCheckUtils]: 11: Hoare triple {2706#(bvslt (_ bv1 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {2706#(bvslt (_ bv1 32) ~n~0)} is VALID [2018-11-23 11:25:14,294 INFO L273 TraceCheckUtils]: 10: Hoare triple {2706#(bvslt (_ bv1 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {2706#(bvslt (_ bv1 32) ~n~0)} is VALID [2018-11-23 11:25:14,294 INFO L273 TraceCheckUtils]: 9: Hoare triple {2706#(bvslt (_ bv1 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {2706#(bvslt (_ bv1 32) ~n~0)} is VALID [2018-11-23 11:25:14,295 INFO L273 TraceCheckUtils]: 8: Hoare triple {2706#(bvslt (_ bv1 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {2706#(bvslt (_ bv1 32) ~n~0)} is VALID [2018-11-23 11:25:14,296 INFO L273 TraceCheckUtils]: 7: Hoare triple {2706#(bvslt (_ bv1 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {2706#(bvslt (_ bv1 32) ~n~0)} is VALID [2018-11-23 11:25:14,302 INFO L273 TraceCheckUtils]: 6: Hoare triple {2706#(bvslt (_ bv1 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {2706#(bvslt (_ bv1 32) ~n~0)} is VALID [2018-11-23 11:25:14,304 INFO L273 TraceCheckUtils]: 5: Hoare triple {2706#(bvslt (_ bv1 32) ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {2706#(bvslt (_ bv1 32) ~n~0)} is VALID [2018-11-23 11:25:14,304 INFO L256 TraceCheckUtils]: 4: Hoare triple {2706#(bvslt (_ bv1 32) ~n~0)} call #t~ret9 := main(); {2706#(bvslt (_ bv1 32) ~n~0)} is VALID [2018-11-23 11:25:14,305 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2706#(bvslt (_ bv1 32) ~n~0)} {2551#true} #84#return; {2706#(bvslt (_ bv1 32) ~n~0)} is VALID [2018-11-23 11:25:14,305 INFO L273 TraceCheckUtils]: 2: Hoare triple {2706#(bvslt (_ bv1 32) ~n~0)} assume true; {2706#(bvslt (_ bv1 32) ~n~0)} is VALID [2018-11-23 11:25:14,306 INFO L273 TraceCheckUtils]: 1: Hoare triple {2551#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {2706#(bvslt (_ bv1 32) ~n~0)} is VALID [2018-11-23 11:25:14,306 INFO L256 TraceCheckUtils]: 0: Hoare triple {2551#true} call ULTIMATE.init(); {2551#true} is VALID [2018-11-23 11:25:14,309 INFO L134 CoverageAnalysis]: Checked inductivity of 48 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 47 trivial. 0 not checked. [2018-11-23 11:25:14,312 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:25:14,312 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 6] total 9 [2018-11-23 11:25:14,312 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 44 [2018-11-23 11:25:14,313 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:25:14,314 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-23 11:25:14,413 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 11:25:14,414 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 11:25:14,414 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 11:25:14,414 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2018-11-23 11:25:14,415 INFO L87 Difference]: Start difference. First operand 59 states and 70 transitions. Second operand 9 states. [2018-11-23 11:25:15,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:15,035 INFO L93 Difference]: Finished difference Result 84 states and 101 transitions. [2018-11-23 11:25:15,035 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 11:25:15,035 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 44 [2018-11-23 11:25:15,036 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:25:15,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 11:25:15,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 74 transitions. [2018-11-23 11:25:15,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 11:25:15,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 74 transitions. [2018-11-23 11:25:15,040 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 74 transitions. [2018-11-23 11:25:15,176 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:15,178 INFO L225 Difference]: With dead ends: 84 [2018-11-23 11:25:15,178 INFO L226 Difference]: Without dead ends: 71 [2018-11-23 11:25:15,179 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=42, Invalid=68, Unknown=0, NotChecked=0, Total=110 [2018-11-23 11:25:15,179 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2018-11-23 11:25:15,311 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2018-11-23 11:25:15,311 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:25:15,312 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand 71 states. [2018-11-23 11:25:15,312 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 71 states. [2018-11-23 11:25:15,312 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 71 states. [2018-11-23 11:25:15,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:15,315 INFO L93 Difference]: Finished difference Result 71 states and 85 transitions. [2018-11-23 11:25:15,315 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2018-11-23 11:25:15,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:15,315 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:15,315 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 71 states. [2018-11-23 11:25:15,315 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 71 states. [2018-11-23 11:25:15,317 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:15,317 INFO L93 Difference]: Finished difference Result 71 states and 85 transitions. [2018-11-23 11:25:15,317 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2018-11-23 11:25:15,318 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:15,318 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:15,318 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:25:15,318 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:25:15,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 71 states. [2018-11-23 11:25:15,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 85 transitions. [2018-11-23 11:25:15,320 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 85 transitions. Word has length 44 [2018-11-23 11:25:15,321 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:25:15,321 INFO L480 AbstractCegarLoop]: Abstraction has 71 states and 85 transitions. [2018-11-23 11:25:15,321 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 11:25:15,321 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2018-11-23 11:25:15,322 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2018-11-23 11:25:15,322 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:25:15,322 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 6, 5, 5, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:25:15,323 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:25:15,323 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:25:15,323 INFO L82 PathProgramCache]: Analyzing trace with hash -977741989, now seen corresponding path program 3 times [2018-11-23 11:25:15,323 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:25:15,323 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 11:25:15,345 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2018-11-23 11:25:15,606 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 11:25:15,606 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:25:15,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:15,667 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:25:15,842 INFO L256 TraceCheckUtils]: 0: Hoare triple {3187#true} call ULTIMATE.init(); {3187#true} is VALID [2018-11-23 11:25:15,843 INFO L273 TraceCheckUtils]: 1: Hoare triple {3187#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,844 INFO L273 TraceCheckUtils]: 2: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume true; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,844 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3195#(= (_ bv5 32) ~n~0)} {3187#true} #84#return; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,845 INFO L256 TraceCheckUtils]: 4: Hoare triple {3195#(= (_ bv5 32) ~n~0)} call #t~ret9 := main(); {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,846 INFO L273 TraceCheckUtils]: 5: Hoare triple {3195#(= (_ bv5 32) ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,846 INFO L273 TraceCheckUtils]: 6: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,847 INFO L273 TraceCheckUtils]: 7: Hoare triple {3195#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,855 INFO L273 TraceCheckUtils]: 8: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,856 INFO L273 TraceCheckUtils]: 9: Hoare triple {3195#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,856 INFO L273 TraceCheckUtils]: 10: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,857 INFO L273 TraceCheckUtils]: 11: Hoare triple {3195#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,857 INFO L273 TraceCheckUtils]: 12: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,857 INFO L273 TraceCheckUtils]: 13: Hoare triple {3195#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,858 INFO L273 TraceCheckUtils]: 14: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,858 INFO L273 TraceCheckUtils]: 15: Hoare triple {3195#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,858 INFO L273 TraceCheckUtils]: 16: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume !~bvsge32(~i~1, 0bv32); {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,859 INFO L256 TraceCheckUtils]: 17: Hoare triple {3195#(= (_ bv5 32) ~n~0)} call SelectionSort(); {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,859 INFO L273 TraceCheckUtils]: 18: Hoare triple {3195#(= (_ bv5 32) ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,860 INFO L273 TraceCheckUtils]: 19: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,860 INFO L273 TraceCheckUtils]: 20: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,861 INFO L273 TraceCheckUtils]: 21: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,861 INFO L273 TraceCheckUtils]: 22: Hoare triple {3195#(= (_ bv5 32) ~n~0)} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,862 INFO L273 TraceCheckUtils]: 23: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,862 INFO L273 TraceCheckUtils]: 24: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,863 INFO L273 TraceCheckUtils]: 25: Hoare triple {3195#(= (_ bv5 32) ~n~0)} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,863 INFO L273 TraceCheckUtils]: 26: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,864 INFO L273 TraceCheckUtils]: 27: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,864 INFO L273 TraceCheckUtils]: 28: Hoare triple {3195#(= (_ bv5 32) ~n~0)} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,865 INFO L273 TraceCheckUtils]: 29: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,866 INFO L273 TraceCheckUtils]: 30: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,867 INFO L273 TraceCheckUtils]: 31: Hoare triple {3195#(= (_ bv5 32) ~n~0)} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,870 INFO L273 TraceCheckUtils]: 32: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume !~bvslt32(~i~0, ~n~0); {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,870 INFO L273 TraceCheckUtils]: 33: Hoare triple {3195#(= (_ bv5 32) ~n~0)} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,871 INFO L273 TraceCheckUtils]: 34: Hoare triple {3195#(= (_ bv5 32) ~n~0)} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,871 INFO L273 TraceCheckUtils]: 35: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,871 INFO L273 TraceCheckUtils]: 36: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,872 INFO L273 TraceCheckUtils]: 37: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,872 INFO L273 TraceCheckUtils]: 38: Hoare triple {3195#(= (_ bv5 32) ~n~0)} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,872 INFO L273 TraceCheckUtils]: 39: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,873 INFO L273 TraceCheckUtils]: 40: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,873 INFO L273 TraceCheckUtils]: 41: Hoare triple {3195#(= (_ bv5 32) ~n~0)} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,873 INFO L273 TraceCheckUtils]: 42: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume !~bvslt32(~i~0, ~n~0); {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,874 INFO L273 TraceCheckUtils]: 43: Hoare triple {3195#(= (_ bv5 32) ~n~0)} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,874 INFO L273 TraceCheckUtils]: 44: Hoare triple {3195#(= (_ bv5 32) ~n~0)} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3195#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:15,876 INFO L273 TraceCheckUtils]: 45: Hoare triple {3195#(= (_ bv5 32) ~n~0)} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {3328#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) SelectionSort_~lh~0) (bvslt SelectionSort_~lh~0 ~n~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:15,879 INFO L273 TraceCheckUtils]: 46: Hoare triple {3328#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) SelectionSort_~lh~0) (bvslt SelectionSort_~lh~0 ~n~0) (= (_ bv5 32) ~n~0))} assume !~bvslt32(~i~0, ~n~0); {3332#(and (bvslt SelectionSort_~lh~0 ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:15,882 INFO L273 TraceCheckUtils]: 47: Hoare triple {3332#(and (bvslt SelectionSort_~lh~0 ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)) (= (_ bv5 32) ~n~0))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3332#(and (bvslt SelectionSort_~lh~0 ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:15,886 INFO L273 TraceCheckUtils]: 48: Hoare triple {3332#(and (bvslt SelectionSort_~lh~0 ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)) (= (_ bv5 32) ~n~0))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3339#(and (not (bvslt SelectionSort_~lh~0 ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4294967295 32)) ~n~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:15,886 INFO L273 TraceCheckUtils]: 49: Hoare triple {3339#(and (not (bvslt SelectionSort_~lh~0 ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4294967295 32)) ~n~0) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {3188#false} is VALID [2018-11-23 11:25:15,886 INFO L273 TraceCheckUtils]: 50: Hoare triple {3188#false} assume !~bvslt32(~i~0, ~n~0); {3188#false} is VALID [2018-11-23 11:25:15,887 INFO L273 TraceCheckUtils]: 51: Hoare triple {3188#false} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3188#false} is VALID [2018-11-23 11:25:15,887 INFO L273 TraceCheckUtils]: 52: Hoare triple {3188#false} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3188#false} is VALID [2018-11-23 11:25:15,887 INFO L273 TraceCheckUtils]: 53: Hoare triple {3188#false} assume !~bvslt32(~lh~0, ~n~0); {3188#false} is VALID [2018-11-23 11:25:15,887 INFO L273 TraceCheckUtils]: 54: Hoare triple {3188#false} assume true; {3188#false} is VALID [2018-11-23 11:25:15,887 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {3188#false} {3195#(= (_ bv5 32) ~n~0)} #88#return; {3188#false} is VALID [2018-11-23 11:25:15,887 INFO L273 TraceCheckUtils]: 56: Hoare triple {3188#false} ~i~1 := 0bv32; {3188#false} is VALID [2018-11-23 11:25:15,887 INFO L273 TraceCheckUtils]: 57: Hoare triple {3188#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {3188#false} is VALID [2018-11-23 11:25:15,888 INFO L256 TraceCheckUtils]: 58: Hoare triple {3188#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {3188#false} is VALID [2018-11-23 11:25:15,888 INFO L273 TraceCheckUtils]: 59: Hoare triple {3188#false} ~cond := #in~cond; {3188#false} is VALID [2018-11-23 11:25:15,888 INFO L273 TraceCheckUtils]: 60: Hoare triple {3188#false} assume 0bv32 == ~cond; {3188#false} is VALID [2018-11-23 11:25:15,888 INFO L273 TraceCheckUtils]: 61: Hoare triple {3188#false} assume !false; {3188#false} is VALID [2018-11-23 11:25:15,894 INFO L134 CoverageAnalysis]: Checked inductivity of 122 backedges. 34 proven. 0 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2018-11-23 11:25:15,894 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:25:15,897 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:25:15,897 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-23 11:25:15,898 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 62 [2018-11-23 11:25:15,899 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:25:15,899 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 11:25:15,947 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 11:25:15,948 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 11:25:15,948 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 11:25:15,948 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2018-11-23 11:25:15,949 INFO L87 Difference]: Start difference. First operand 71 states and 85 transitions. Second operand 6 states. [2018-11-23 11:25:16,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:16,554 INFO L93 Difference]: Finished difference Result 104 states and 126 transitions. [2018-11-23 11:25:16,554 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 11:25:16,554 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 62 [2018-11-23 11:25:16,554 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:25:16,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:25:16,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 66 transitions. [2018-11-23 11:25:16,557 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:25:16,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 66 transitions. [2018-11-23 11:25:16,558 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 66 transitions. [2018-11-23 11:25:16,704 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:16,707 INFO L225 Difference]: With dead ends: 104 [2018-11-23 11:25:16,708 INFO L226 Difference]: Without dead ends: 82 [2018-11-23 11:25:16,708 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 57 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2018-11-23 11:25:16,708 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2018-11-23 11:25:16,805 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 76. [2018-11-23 11:25:16,806 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:25:16,806 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand 76 states. [2018-11-23 11:25:16,806 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 76 states. [2018-11-23 11:25:16,806 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 76 states. [2018-11-23 11:25:16,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:16,813 INFO L93 Difference]: Finished difference Result 82 states and 99 transitions. [2018-11-23 11:25:16,813 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 99 transitions. [2018-11-23 11:25:16,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:16,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:16,813 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 82 states. [2018-11-23 11:25:16,814 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 82 states. [2018-11-23 11:25:16,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:16,824 INFO L93 Difference]: Finished difference Result 82 states and 99 transitions. [2018-11-23 11:25:16,824 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 99 transitions. [2018-11-23 11:25:16,824 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:16,824 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:16,824 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:25:16,825 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:25:16,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2018-11-23 11:25:16,830 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 91 transitions. [2018-11-23 11:25:16,831 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 91 transitions. Word has length 62 [2018-11-23 11:25:16,831 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:25:16,831 INFO L480 AbstractCegarLoop]: Abstraction has 76 states and 91 transitions. [2018-11-23 11:25:16,831 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 11:25:16,831 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 91 transitions. [2018-11-23 11:25:16,832 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2018-11-23 11:25:16,832 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:25:16,832 INFO L402 BasicCegarLoop]: trace histogram [7, 7, 7, 5, 5, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:25:16,833 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:25:16,833 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:25:16,833 INFO L82 PathProgramCache]: Analyzing trace with hash 788547955, now seen corresponding path program 4 times [2018-11-23 11:25:16,833 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:25:16,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 11:25:16,854 INFO L101 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 11:25:16,969 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 11:25:16,970 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:25:17,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:17,032 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:25:17,409 INFO L256 TraceCheckUtils]: 0: Hoare triple {3796#true} call ULTIMATE.init(); {3796#true} is VALID [2018-11-23 11:25:17,411 INFO L273 TraceCheckUtils]: 1: Hoare triple {3796#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {3804#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:17,411 INFO L273 TraceCheckUtils]: 2: Hoare triple {3804#(= (_ bv5 32) ~n~0)} assume true; {3804#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:17,412 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3804#(= (_ bv5 32) ~n~0)} {3796#true} #84#return; {3804#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:17,413 INFO L256 TraceCheckUtils]: 4: Hoare triple {3804#(= (_ bv5 32) ~n~0)} call #t~ret9 := main(); {3804#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:17,413 INFO L273 TraceCheckUtils]: 5: Hoare triple {3804#(= (_ bv5 32) ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {3804#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:17,414 INFO L273 TraceCheckUtils]: 6: Hoare triple {3804#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {3804#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:17,414 INFO L273 TraceCheckUtils]: 7: Hoare triple {3804#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {3804#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:17,415 INFO L273 TraceCheckUtils]: 8: Hoare triple {3804#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {3804#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:17,415 INFO L273 TraceCheckUtils]: 9: Hoare triple {3804#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {3804#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:17,416 INFO L273 TraceCheckUtils]: 10: Hoare triple {3804#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {3804#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:17,416 INFO L273 TraceCheckUtils]: 11: Hoare triple {3804#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {3804#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:17,417 INFO L273 TraceCheckUtils]: 12: Hoare triple {3804#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {3804#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:17,425 INFO L273 TraceCheckUtils]: 13: Hoare triple {3804#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {3804#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:17,426 INFO L273 TraceCheckUtils]: 14: Hoare triple {3804#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {3804#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:17,426 INFO L273 TraceCheckUtils]: 15: Hoare triple {3804#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {3804#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:17,426 INFO L273 TraceCheckUtils]: 16: Hoare triple {3804#(= (_ bv5 32) ~n~0)} assume !~bvsge32(~i~1, 0bv32); {3804#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:17,427 INFO L256 TraceCheckUtils]: 17: Hoare triple {3804#(= (_ bv5 32) ~n~0)} call SelectionSort(); {3804#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:17,427 INFO L273 TraceCheckUtils]: 18: Hoare triple {3804#(= (_ bv5 32) ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,428 INFO L273 TraceCheckUtils]: 19: Hoare triple {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,428 INFO L273 TraceCheckUtils]: 20: Hoare triple {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,429 INFO L273 TraceCheckUtils]: 21: Hoare triple {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,429 INFO L273 TraceCheckUtils]: 22: Hoare triple {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,429 INFO L273 TraceCheckUtils]: 23: Hoare triple {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,430 INFO L273 TraceCheckUtils]: 24: Hoare triple {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,430 INFO L273 TraceCheckUtils]: 25: Hoare triple {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,431 INFO L273 TraceCheckUtils]: 26: Hoare triple {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,432 INFO L273 TraceCheckUtils]: 27: Hoare triple {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,433 INFO L273 TraceCheckUtils]: 28: Hoare triple {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,434 INFO L273 TraceCheckUtils]: 29: Hoare triple {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,434 INFO L273 TraceCheckUtils]: 30: Hoare triple {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,435 INFO L273 TraceCheckUtils]: 31: Hoare triple {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,436 INFO L273 TraceCheckUtils]: 32: Hoare triple {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !~bvslt32(~i~0, ~n~0); {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,437 INFO L273 TraceCheckUtils]: 33: Hoare triple {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,437 INFO L273 TraceCheckUtils]: 34: Hoare triple {3856#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3905#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,438 INFO L273 TraceCheckUtils]: 35: Hoare triple {3905#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {3909#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967294 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,439 INFO L273 TraceCheckUtils]: 36: Hoare triple {3909#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967294 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3909#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967294 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,440 INFO L273 TraceCheckUtils]: 37: Hoare triple {3909#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967294 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {3909#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967294 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,441 INFO L273 TraceCheckUtils]: 38: Hoare triple {3909#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967294 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3919#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,442 INFO L273 TraceCheckUtils]: 39: Hoare triple {3919#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3919#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,443 INFO L273 TraceCheckUtils]: 40: Hoare triple {3919#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {3919#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,444 INFO L273 TraceCheckUtils]: 41: Hoare triple {3919#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3929#(and (= (_ bv4 32) SelectionSort_~i~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:17,444 INFO L273 TraceCheckUtils]: 42: Hoare triple {3929#(and (= (_ bv4 32) SelectionSort_~i~0) (= (_ bv5 32) ~n~0))} assume !~bvslt32(~i~0, ~n~0); {3797#false} is VALID [2018-11-23 11:25:17,445 INFO L273 TraceCheckUtils]: 43: Hoare triple {3797#false} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3797#false} is VALID [2018-11-23 11:25:17,445 INFO L273 TraceCheckUtils]: 44: Hoare triple {3797#false} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3797#false} is VALID [2018-11-23 11:25:17,445 INFO L273 TraceCheckUtils]: 45: Hoare triple {3797#false} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {3797#false} is VALID [2018-11-23 11:25:17,445 INFO L273 TraceCheckUtils]: 46: Hoare triple {3797#false} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3797#false} is VALID [2018-11-23 11:25:17,445 INFO L273 TraceCheckUtils]: 47: Hoare triple {3797#false} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {3797#false} is VALID [2018-11-23 11:25:17,446 INFO L273 TraceCheckUtils]: 48: Hoare triple {3797#false} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {3797#false} is VALID [2018-11-23 11:25:17,446 INFO L273 TraceCheckUtils]: 49: Hoare triple {3797#false} assume !~bvslt32(~i~0, ~n~0); {3797#false} is VALID [2018-11-23 11:25:17,446 INFO L273 TraceCheckUtils]: 50: Hoare triple {3797#false} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3797#false} is VALID [2018-11-23 11:25:17,446 INFO L273 TraceCheckUtils]: 51: Hoare triple {3797#false} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3797#false} is VALID [2018-11-23 11:25:17,447 INFO L273 TraceCheckUtils]: 52: Hoare triple {3797#false} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {3797#false} is VALID [2018-11-23 11:25:17,447 INFO L273 TraceCheckUtils]: 53: Hoare triple {3797#false} assume !~bvslt32(~i~0, ~n~0); {3797#false} is VALID [2018-11-23 11:25:17,447 INFO L273 TraceCheckUtils]: 54: Hoare triple {3797#false} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {3797#false} is VALID [2018-11-23 11:25:17,447 INFO L273 TraceCheckUtils]: 55: Hoare triple {3797#false} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3797#false} is VALID [2018-11-23 11:25:17,448 INFO L273 TraceCheckUtils]: 56: Hoare triple {3797#false} assume !~bvslt32(~lh~0, ~n~0); {3797#false} is VALID [2018-11-23 11:25:17,448 INFO L273 TraceCheckUtils]: 57: Hoare triple {3797#false} assume true; {3797#false} is VALID [2018-11-23 11:25:17,448 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {3797#false} {3804#(= (_ bv5 32) ~n~0)} #88#return; {3797#false} is VALID [2018-11-23 11:25:17,448 INFO L273 TraceCheckUtils]: 59: Hoare triple {3797#false} ~i~1 := 0bv32; {3797#false} is VALID [2018-11-23 11:25:17,448 INFO L273 TraceCheckUtils]: 60: Hoare triple {3797#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {3797#false} is VALID [2018-11-23 11:25:17,448 INFO L256 TraceCheckUtils]: 61: Hoare triple {3797#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {3797#false} is VALID [2018-11-23 11:25:17,449 INFO L273 TraceCheckUtils]: 62: Hoare triple {3797#false} ~cond := #in~cond; {3797#false} is VALID [2018-11-23 11:25:17,449 INFO L273 TraceCheckUtils]: 63: Hoare triple {3797#false} assume 0bv32 == ~cond; {3797#false} is VALID [2018-11-23 11:25:17,449 INFO L273 TraceCheckUtils]: 64: Hoare triple {3797#false} assume !false; {3797#false} is VALID [2018-11-23 11:25:17,454 INFO L134 CoverageAnalysis]: Checked inductivity of 144 backedges. 48 proven. 37 refuted. 0 times theorem prover too weak. 59 trivial. 0 not checked. [2018-11-23 11:25:17,454 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:25:17,836 INFO L273 TraceCheckUtils]: 64: Hoare triple {3797#false} assume !false; {3797#false} is VALID [2018-11-23 11:25:17,836 INFO L273 TraceCheckUtils]: 63: Hoare triple {3797#false} assume 0bv32 == ~cond; {3797#false} is VALID [2018-11-23 11:25:17,836 INFO L273 TraceCheckUtils]: 62: Hoare triple {3797#false} ~cond := #in~cond; {3797#false} is VALID [2018-11-23 11:25:17,836 INFO L256 TraceCheckUtils]: 61: Hoare triple {3797#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {3797#false} is VALID [2018-11-23 11:25:17,837 INFO L273 TraceCheckUtils]: 60: Hoare triple {3797#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {3797#false} is VALID [2018-11-23 11:25:17,837 INFO L273 TraceCheckUtils]: 59: Hoare triple {3797#false} ~i~1 := 0bv32; {3797#false} is VALID [2018-11-23 11:25:17,837 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {4021#(not (bvslt (_ bv4 32) ~n~0))} {4017#(bvslt (_ bv4 32) ~n~0)} #88#return; {3797#false} is VALID [2018-11-23 11:25:17,838 INFO L273 TraceCheckUtils]: 57: Hoare triple {4021#(not (bvslt (_ bv4 32) ~n~0))} assume true; {4021#(not (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:17,838 INFO L273 TraceCheckUtils]: 56: Hoare triple {4021#(not (bvslt (_ bv4 32) ~n~0))} assume !~bvslt32(~lh~0, ~n~0); {4021#(not (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:17,838 INFO L273 TraceCheckUtils]: 55: Hoare triple {4021#(not (bvslt (_ bv4 32) ~n~0))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4021#(not (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:17,839 INFO L273 TraceCheckUtils]: 54: Hoare triple {4021#(not (bvslt (_ bv4 32) ~n~0))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4021#(not (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:17,839 INFO L273 TraceCheckUtils]: 53: Hoare triple {4021#(not (bvslt (_ bv4 32) ~n~0))} assume !~bvslt32(~i~0, ~n~0); {4021#(not (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:17,839 INFO L273 TraceCheckUtils]: 52: Hoare triple {4021#(not (bvslt (_ bv4 32) ~n~0))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {4021#(not (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:17,840 INFO L273 TraceCheckUtils]: 51: Hoare triple {4021#(not (bvslt (_ bv4 32) ~n~0))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4021#(not (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:17,840 INFO L273 TraceCheckUtils]: 50: Hoare triple {4021#(not (bvslt (_ bv4 32) ~n~0))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4021#(not (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:17,840 INFO L273 TraceCheckUtils]: 49: Hoare triple {4021#(not (bvslt (_ bv4 32) ~n~0))} assume !~bvslt32(~i~0, ~n~0); {4021#(not (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:17,841 INFO L273 TraceCheckUtils]: 48: Hoare triple {4021#(not (bvslt (_ bv4 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4021#(not (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:17,841 INFO L273 TraceCheckUtils]: 47: Hoare triple {4021#(not (bvslt (_ bv4 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4021#(not (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:17,842 INFO L273 TraceCheckUtils]: 46: Hoare triple {4021#(not (bvslt (_ bv4 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4021#(not (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:17,842 INFO L273 TraceCheckUtils]: 45: Hoare triple {4021#(not (bvslt (_ bv4 32) ~n~0))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {4021#(not (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:17,843 INFO L273 TraceCheckUtils]: 44: Hoare triple {4021#(not (bvslt (_ bv4 32) ~n~0))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4021#(not (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:17,844 INFO L273 TraceCheckUtils]: 43: Hoare triple {4021#(not (bvslt (_ bv4 32) ~n~0))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4021#(not (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:17,844 INFO L273 TraceCheckUtils]: 42: Hoare triple {4070#(or (bvslt SelectionSort_~i~0 ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !~bvslt32(~i~0, ~n~0); {4021#(not (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:17,845 INFO L273 TraceCheckUtils]: 41: Hoare triple {4074#(or (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4070#(or (bvslt SelectionSort_~i~0 ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,846 INFO L273 TraceCheckUtils]: 40: Hoare triple {4074#(or (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4074#(or (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,846 INFO L273 TraceCheckUtils]: 39: Hoare triple {4074#(or (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4074#(or (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,868 INFO L273 TraceCheckUtils]: 38: Hoare triple {4084#(or (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4074#(or (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,869 INFO L273 TraceCheckUtils]: 37: Hoare triple {4084#(or (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4084#(or (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,869 INFO L273 TraceCheckUtils]: 36: Hoare triple {4084#(or (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4084#(or (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,895 INFO L273 TraceCheckUtils]: 35: Hoare triple {4094#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {4084#(or (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,920 INFO L273 TraceCheckUtils]: 34: Hoare triple {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4094#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,920 INFO L273 TraceCheckUtils]: 33: Hoare triple {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,921 INFO L273 TraceCheckUtils]: 32: Hoare triple {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !~bvslt32(~i~0, ~n~0); {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,937 INFO L273 TraceCheckUtils]: 31: Hoare triple {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,938 INFO L273 TraceCheckUtils]: 30: Hoare triple {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,939 INFO L273 TraceCheckUtils]: 29: Hoare triple {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,939 INFO L273 TraceCheckUtils]: 28: Hoare triple {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,939 INFO L273 TraceCheckUtils]: 27: Hoare triple {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,940 INFO L273 TraceCheckUtils]: 26: Hoare triple {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,940 INFO L273 TraceCheckUtils]: 25: Hoare triple {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,940 INFO L273 TraceCheckUtils]: 24: Hoare triple {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,941 INFO L273 TraceCheckUtils]: 23: Hoare triple {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,941 INFO L273 TraceCheckUtils]: 22: Hoare triple {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,941 INFO L273 TraceCheckUtils]: 21: Hoare triple {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,942 INFO L273 TraceCheckUtils]: 20: Hoare triple {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,942 INFO L273 TraceCheckUtils]: 19: Hoare triple {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,943 INFO L273 TraceCheckUtils]: 18: Hoare triple {3796#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {4098#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:17,943 INFO L256 TraceCheckUtils]: 17: Hoare triple {4017#(bvslt (_ bv4 32) ~n~0)} call SelectionSort(); {3796#true} is VALID [2018-11-23 11:25:17,944 INFO L273 TraceCheckUtils]: 16: Hoare triple {4017#(bvslt (_ bv4 32) ~n~0)} assume !~bvsge32(~i~1, 0bv32); {4017#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:17,944 INFO L273 TraceCheckUtils]: 15: Hoare triple {4017#(bvslt (_ bv4 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {4017#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:17,945 INFO L273 TraceCheckUtils]: 14: Hoare triple {4017#(bvslt (_ bv4 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {4017#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:17,946 INFO L273 TraceCheckUtils]: 13: Hoare triple {4017#(bvslt (_ bv4 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {4017#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:17,946 INFO L273 TraceCheckUtils]: 12: Hoare triple {4017#(bvslt (_ bv4 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {4017#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:17,947 INFO L273 TraceCheckUtils]: 11: Hoare triple {4017#(bvslt (_ bv4 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {4017#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:17,947 INFO L273 TraceCheckUtils]: 10: Hoare triple {4017#(bvslt (_ bv4 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {4017#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:17,948 INFO L273 TraceCheckUtils]: 9: Hoare triple {4017#(bvslt (_ bv4 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {4017#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:17,948 INFO L273 TraceCheckUtils]: 8: Hoare triple {4017#(bvslt (_ bv4 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {4017#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:17,949 INFO L273 TraceCheckUtils]: 7: Hoare triple {4017#(bvslt (_ bv4 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {4017#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:17,949 INFO L273 TraceCheckUtils]: 6: Hoare triple {4017#(bvslt (_ bv4 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {4017#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:17,950 INFO L273 TraceCheckUtils]: 5: Hoare triple {4017#(bvslt (_ bv4 32) ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {4017#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:17,951 INFO L256 TraceCheckUtils]: 4: Hoare triple {4017#(bvslt (_ bv4 32) ~n~0)} call #t~ret9 := main(); {4017#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:17,951 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4017#(bvslt (_ bv4 32) ~n~0)} {3796#true} #84#return; {4017#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:17,952 INFO L273 TraceCheckUtils]: 2: Hoare triple {4017#(bvslt (_ bv4 32) ~n~0)} assume true; {4017#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:17,953 INFO L273 TraceCheckUtils]: 1: Hoare triple {3796#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {4017#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:17,953 INFO L256 TraceCheckUtils]: 0: Hoare triple {3796#true} call ULTIMATE.init(); {3796#true} is VALID [2018-11-23 11:25:17,959 INFO L134 CoverageAnalysis]: Checked inductivity of 144 backedges. 48 proven. 37 refuted. 0 times theorem prover too weak. 59 trivial. 0 not checked. [2018-11-23 11:25:17,962 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:25:17,963 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9] total 15 [2018-11-23 11:25:17,964 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 65 [2018-11-23 11:25:17,964 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:25:17,964 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 11:25:18,187 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:18,188 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 11:25:18,188 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 11:25:18,188 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2018-11-23 11:25:18,189 INFO L87 Difference]: Start difference. First operand 76 states and 91 transitions. Second operand 15 states. [2018-11-23 11:25:19,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:19,936 INFO L93 Difference]: Finished difference Result 114 states and 138 transitions. [2018-11-23 11:25:19,936 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 11:25:19,937 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 65 [2018-11-23 11:25:19,937 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:25:19,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 11:25:19,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 93 transitions. [2018-11-23 11:25:19,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 11:25:19,947 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 93 transitions. [2018-11-23 11:25:19,947 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 93 transitions. [2018-11-23 11:25:20,133 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:20,135 INFO L225 Difference]: With dead ends: 114 [2018-11-23 11:25:20,135 INFO L226 Difference]: Without dead ends: 81 [2018-11-23 11:25:20,136 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 115 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 87 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=134, Invalid=372, Unknown=0, NotChecked=0, Total=506 [2018-11-23 11:25:20,136 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2018-11-23 11:25:20,298 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 79. [2018-11-23 11:25:20,298 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:25:20,298 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand 79 states. [2018-11-23 11:25:20,298 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 79 states. [2018-11-23 11:25:20,298 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 79 states. [2018-11-23 11:25:20,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:20,300 INFO L93 Difference]: Finished difference Result 81 states and 98 transitions. [2018-11-23 11:25:20,300 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 98 transitions. [2018-11-23 11:25:20,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:20,300 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:20,300 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 81 states. [2018-11-23 11:25:20,300 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 81 states. [2018-11-23 11:25:20,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:20,302 INFO L93 Difference]: Finished difference Result 81 states and 98 transitions. [2018-11-23 11:25:20,302 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 98 transitions. [2018-11-23 11:25:20,302 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:20,302 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:20,303 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:25:20,303 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:25:20,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2018-11-23 11:25:20,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 95 transitions. [2018-11-23 11:25:20,304 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 95 transitions. Word has length 65 [2018-11-23 11:25:20,305 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:25:20,305 INFO L480 AbstractCegarLoop]: Abstraction has 79 states and 95 transitions. [2018-11-23 11:25:20,305 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 11:25:20,305 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 95 transitions. [2018-11-23 11:25:20,306 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2018-11-23 11:25:20,306 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:25:20,306 INFO L402 BasicCegarLoop]: trace histogram [8, 8, 8, 5, 5, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:25:20,306 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:25:20,307 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:25:20,307 INFO L82 PathProgramCache]: Analyzing trace with hash 180619563, now seen corresponding path program 5 times [2018-11-23 11:25:20,307 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:25:20,307 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 11:25:20,326 INFO L101 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2018-11-23 11:25:22,123 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 8 check-sat command(s) [2018-11-23 11:25:22,124 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:25:22,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:22,252 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:25:23,046 INFO L256 TraceCheckUtils]: 0: Hoare triple {4650#true} call ULTIMATE.init(); {4650#true} is VALID [2018-11-23 11:25:23,046 INFO L273 TraceCheckUtils]: 1: Hoare triple {4650#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {4650#true} is VALID [2018-11-23 11:25:23,047 INFO L273 TraceCheckUtils]: 2: Hoare triple {4650#true} assume true; {4650#true} is VALID [2018-11-23 11:25:23,047 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4650#true} {4650#true} #84#return; {4650#true} is VALID [2018-11-23 11:25:23,047 INFO L256 TraceCheckUtils]: 4: Hoare triple {4650#true} call #t~ret9 := main(); {4650#true} is VALID [2018-11-23 11:25:23,047 INFO L273 TraceCheckUtils]: 5: Hoare triple {4650#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {4650#true} is VALID [2018-11-23 11:25:23,048 INFO L273 TraceCheckUtils]: 6: Hoare triple {4650#true} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {4650#true} is VALID [2018-11-23 11:25:23,048 INFO L273 TraceCheckUtils]: 7: Hoare triple {4650#true} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {4650#true} is VALID [2018-11-23 11:25:23,048 INFO L273 TraceCheckUtils]: 8: Hoare triple {4650#true} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {4650#true} is VALID [2018-11-23 11:25:23,048 INFO L273 TraceCheckUtils]: 9: Hoare triple {4650#true} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {4650#true} is VALID [2018-11-23 11:25:23,048 INFO L273 TraceCheckUtils]: 10: Hoare triple {4650#true} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {4650#true} is VALID [2018-11-23 11:25:23,048 INFO L273 TraceCheckUtils]: 11: Hoare triple {4650#true} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {4650#true} is VALID [2018-11-23 11:25:23,048 INFO L273 TraceCheckUtils]: 12: Hoare triple {4650#true} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {4650#true} is VALID [2018-11-23 11:25:23,048 INFO L273 TraceCheckUtils]: 13: Hoare triple {4650#true} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {4650#true} is VALID [2018-11-23 11:25:23,049 INFO L273 TraceCheckUtils]: 14: Hoare triple {4650#true} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {4650#true} is VALID [2018-11-23 11:25:23,049 INFO L273 TraceCheckUtils]: 15: Hoare triple {4650#true} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {4650#true} is VALID [2018-11-23 11:25:23,049 INFO L273 TraceCheckUtils]: 16: Hoare triple {4650#true} assume !~bvsge32(~i~1, 0bv32); {4650#true} is VALID [2018-11-23 11:25:23,049 INFO L256 TraceCheckUtils]: 17: Hoare triple {4650#true} call SelectionSort(); {4650#true} is VALID [2018-11-23 11:25:23,049 INFO L273 TraceCheckUtils]: 18: Hoare triple {4650#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {4650#true} is VALID [2018-11-23 11:25:23,049 INFO L273 TraceCheckUtils]: 19: Hoare triple {4650#true} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {4650#true} is VALID [2018-11-23 11:25:23,049 INFO L273 TraceCheckUtils]: 20: Hoare triple {4650#true} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4650#true} is VALID [2018-11-23 11:25:23,050 INFO L273 TraceCheckUtils]: 21: Hoare triple {4650#true} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4650#true} is VALID [2018-11-23 11:25:23,050 INFO L273 TraceCheckUtils]: 22: Hoare triple {4650#true} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4650#true} is VALID [2018-11-23 11:25:23,050 INFO L273 TraceCheckUtils]: 23: Hoare triple {4650#true} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4650#true} is VALID [2018-11-23 11:25:23,050 INFO L273 TraceCheckUtils]: 24: Hoare triple {4650#true} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4650#true} is VALID [2018-11-23 11:25:23,050 INFO L273 TraceCheckUtils]: 25: Hoare triple {4650#true} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4650#true} is VALID [2018-11-23 11:25:23,050 INFO L273 TraceCheckUtils]: 26: Hoare triple {4650#true} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4650#true} is VALID [2018-11-23 11:25:23,050 INFO L273 TraceCheckUtils]: 27: Hoare triple {4650#true} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4650#true} is VALID [2018-11-23 11:25:23,050 INFO L273 TraceCheckUtils]: 28: Hoare triple {4650#true} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4650#true} is VALID [2018-11-23 11:25:23,051 INFO L273 TraceCheckUtils]: 29: Hoare triple {4650#true} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4650#true} is VALID [2018-11-23 11:25:23,051 INFO L273 TraceCheckUtils]: 30: Hoare triple {4650#true} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4650#true} is VALID [2018-11-23 11:25:23,051 INFO L273 TraceCheckUtils]: 31: Hoare triple {4650#true} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4650#true} is VALID [2018-11-23 11:25:23,051 INFO L273 TraceCheckUtils]: 32: Hoare triple {4650#true} assume !~bvslt32(~i~0, ~n~0); {4650#true} is VALID [2018-11-23 11:25:23,051 INFO L273 TraceCheckUtils]: 33: Hoare triple {4650#true} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4650#true} is VALID [2018-11-23 11:25:23,051 INFO L273 TraceCheckUtils]: 34: Hoare triple {4650#true} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4650#true} is VALID [2018-11-23 11:25:23,052 INFO L273 TraceCheckUtils]: 35: Hoare triple {4650#true} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {4760#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) SelectionSort_~lh~0) (bvslt SelectionSort_~lh~0 ~n~0))} is VALID [2018-11-23 11:25:23,052 INFO L273 TraceCheckUtils]: 36: Hoare triple {4760#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) SelectionSort_~lh~0) (bvslt SelectionSort_~lh~0 ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4760#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) SelectionSort_~lh~0) (bvslt SelectionSort_~lh~0 ~n~0))} is VALID [2018-11-23 11:25:23,053 INFO L273 TraceCheckUtils]: 37: Hoare triple {4760#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) SelectionSort_~lh~0) (bvslt SelectionSort_~lh~0 ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4760#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) SelectionSort_~lh~0) (bvslt SelectionSort_~lh~0 ~n~0))} is VALID [2018-11-23 11:25:23,077 INFO L273 TraceCheckUtils]: 38: Hoare triple {4760#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) SelectionSort_~lh~0) (bvslt SelectionSort_~lh~0 ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4770#(and (bvslt SelectionSort_~lh~0 ~n~0) (= (bvadd SelectionSort_~i~0 (_ bv4294967294 32)) SelectionSort_~lh~0))} is VALID [2018-11-23 11:25:23,078 INFO L273 TraceCheckUtils]: 39: Hoare triple {4770#(and (bvslt SelectionSort_~lh~0 ~n~0) (= (bvadd SelectionSort_~i~0 (_ bv4294967294 32)) SelectionSort_~lh~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4770#(and (bvslt SelectionSort_~lh~0 ~n~0) (= (bvadd SelectionSort_~i~0 (_ bv4294967294 32)) SelectionSort_~lh~0))} is VALID [2018-11-23 11:25:23,079 INFO L273 TraceCheckUtils]: 40: Hoare triple {4770#(and (bvslt SelectionSort_~lh~0 ~n~0) (= (bvadd SelectionSort_~i~0 (_ bv4294967294 32)) SelectionSort_~lh~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4770#(and (bvslt SelectionSort_~lh~0 ~n~0) (= (bvadd SelectionSort_~i~0 (_ bv4294967294 32)) SelectionSort_~lh~0))} is VALID [2018-11-23 11:25:23,100 INFO L273 TraceCheckUtils]: 41: Hoare triple {4770#(and (bvslt SelectionSort_~lh~0 ~n~0) (= (bvadd SelectionSort_~i~0 (_ bv4294967294 32)) SelectionSort_~lh~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4780#(and (bvslt SelectionSort_~lh~0 ~n~0) (= (bvadd SelectionSort_~i~0 (_ bv4294967293 32)) SelectionSort_~lh~0))} is VALID [2018-11-23 11:25:23,100 INFO L273 TraceCheckUtils]: 42: Hoare triple {4780#(and (bvslt SelectionSort_~lh~0 ~n~0) (= (bvadd SelectionSort_~i~0 (_ bv4294967293 32)) SelectionSort_~lh~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4784#(and (bvslt SelectionSort_~lh~0 ~n~0) (= (bvadd SelectionSort_~i~0 (_ bv4294967293 32)) SelectionSort_~lh~0) (bvslt SelectionSort_~i~0 ~n~0))} is VALID [2018-11-23 11:25:23,102 INFO L273 TraceCheckUtils]: 43: Hoare triple {4784#(and (bvslt SelectionSort_~lh~0 ~n~0) (= (bvadd SelectionSort_~i~0 (_ bv4294967293 32)) SelectionSort_~lh~0) (bvslt SelectionSort_~i~0 ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4784#(and (bvslt SelectionSort_~lh~0 ~n~0) (= (bvadd SelectionSort_~i~0 (_ bv4294967293 32)) SelectionSort_~lh~0) (bvslt SelectionSort_~i~0 ~n~0))} is VALID [2018-11-23 11:25:23,186 INFO L273 TraceCheckUtils]: 44: Hoare triple {4784#(and (bvslt SelectionSort_~lh~0 ~n~0) (= (bvadd SelectionSort_~i~0 (_ bv4294967293 32)) SelectionSort_~lh~0) (bvslt SelectionSort_~i~0 ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4791#(and (bvslt SelectionSort_~lh~0 ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) ~n~0) (= (bvadd SelectionSort_~lh~0 (_ bv4 32)) SelectionSort_~i~0))} is VALID [2018-11-23 11:25:23,238 INFO L273 TraceCheckUtils]: 45: Hoare triple {4791#(and (bvslt SelectionSort_~lh~0 ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) ~n~0) (= (bvadd SelectionSort_~lh~0 (_ bv4 32)) SelectionSort_~i~0))} assume !~bvslt32(~i~0, ~n~0); {4795#(and (bvslt SelectionSort_~lh~0 ~n~0) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0)))} is VALID [2018-11-23 11:25:23,239 INFO L273 TraceCheckUtils]: 46: Hoare triple {4795#(and (bvslt SelectionSort_~lh~0 ~n~0) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0)))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4795#(and (bvslt SelectionSort_~lh~0 ~n~0) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0)))} is VALID [2018-11-23 11:25:23,342 INFO L273 TraceCheckUtils]: 47: Hoare triple {4795#(and (bvslt SelectionSort_~lh~0 ~n~0) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0)))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4802#(and (bvslt (bvadd SelectionSort_~lh~0 (_ bv4294967295 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0))} is VALID [2018-11-23 11:25:23,518 INFO L273 TraceCheckUtils]: 48: Hoare triple {4802#(and (bvslt (bvadd SelectionSort_~lh~0 (_ bv4294967295 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {4806#(and (not (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~i~0 (_ bv4294967294 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0))} is VALID [2018-11-23 11:25:23,519 INFO L273 TraceCheckUtils]: 49: Hoare triple {4806#(and (not (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~i~0 (_ bv4294967294 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4806#(and (not (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~i~0 (_ bv4294967294 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0))} is VALID [2018-11-23 11:25:23,519 INFO L273 TraceCheckUtils]: 50: Hoare triple {4806#(and (not (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~i~0 (_ bv4294967294 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4806#(and (not (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~i~0 (_ bv4294967294 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0))} is VALID [2018-11-23 11:25:23,600 INFO L273 TraceCheckUtils]: 51: Hoare triple {4806#(and (not (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~i~0 (_ bv4294967294 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4816#(and (bvslt SelectionSort_~i~0 ~n~0) (not (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0)) (bvslt (bvadd SelectionSort_~i~0 (_ bv4294967293 32)) ~n~0))} is VALID [2018-11-23 11:25:23,600 INFO L273 TraceCheckUtils]: 52: Hoare triple {4816#(and (bvslt SelectionSort_~i~0 ~n~0) (not (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0)) (bvslt (bvadd SelectionSort_~i~0 (_ bv4294967293 32)) ~n~0))} assume !~bvslt32(~i~0, ~n~0); {4651#false} is VALID [2018-11-23 11:25:23,601 INFO L273 TraceCheckUtils]: 53: Hoare triple {4651#false} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4651#false} is VALID [2018-11-23 11:25:23,601 INFO L273 TraceCheckUtils]: 54: Hoare triple {4651#false} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4651#false} is VALID [2018-11-23 11:25:23,601 INFO L273 TraceCheckUtils]: 55: Hoare triple {4651#false} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {4651#false} is VALID [2018-11-23 11:25:23,601 INFO L273 TraceCheckUtils]: 56: Hoare triple {4651#false} assume !~bvslt32(~i~0, ~n~0); {4651#false} is VALID [2018-11-23 11:25:23,601 INFO L273 TraceCheckUtils]: 57: Hoare triple {4651#false} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4651#false} is VALID [2018-11-23 11:25:23,602 INFO L273 TraceCheckUtils]: 58: Hoare triple {4651#false} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4651#false} is VALID [2018-11-23 11:25:23,602 INFO L273 TraceCheckUtils]: 59: Hoare triple {4651#false} assume !~bvslt32(~lh~0, ~n~0); {4651#false} is VALID [2018-11-23 11:25:23,602 INFO L273 TraceCheckUtils]: 60: Hoare triple {4651#false} assume true; {4651#false} is VALID [2018-11-23 11:25:23,602 INFO L268 TraceCheckUtils]: 61: Hoare quadruple {4651#false} {4650#true} #88#return; {4651#false} is VALID [2018-11-23 11:25:23,602 INFO L273 TraceCheckUtils]: 62: Hoare triple {4651#false} ~i~1 := 0bv32; {4651#false} is VALID [2018-11-23 11:25:23,603 INFO L273 TraceCheckUtils]: 63: Hoare triple {4651#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {4651#false} is VALID [2018-11-23 11:25:23,603 INFO L256 TraceCheckUtils]: 64: Hoare triple {4651#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {4651#false} is VALID [2018-11-23 11:25:23,603 INFO L273 TraceCheckUtils]: 65: Hoare triple {4651#false} ~cond := #in~cond; {4651#false} is VALID [2018-11-23 11:25:23,603 INFO L273 TraceCheckUtils]: 66: Hoare triple {4651#false} assume 0bv32 == ~cond; {4651#false} is VALID [2018-11-23 11:25:23,603 INFO L273 TraceCheckUtils]: 67: Hoare triple {4651#false} assume !false; {4651#false} is VALID [2018-11-23 11:25:23,609 INFO L134 CoverageAnalysis]: Checked inductivity of 169 backedges. 91 proven. 27 refuted. 0 times theorem prover too weak. 51 trivial. 0 not checked. [2018-11-23 11:25:23,609 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:25:23,796 WARN L180 SmtUtils]: Spent 152.00 ms on a formula simplification. DAG size of input: 35 DAG size of output: 1 [2018-11-23 11:25:25,703 INFO L273 TraceCheckUtils]: 67: Hoare triple {4651#false} assume !false; {4651#false} is VALID [2018-11-23 11:25:25,703 INFO L273 TraceCheckUtils]: 66: Hoare triple {4651#false} assume 0bv32 == ~cond; {4651#false} is VALID [2018-11-23 11:25:25,703 INFO L273 TraceCheckUtils]: 65: Hoare triple {4651#false} ~cond := #in~cond; {4651#false} is VALID [2018-11-23 11:25:25,703 INFO L256 TraceCheckUtils]: 64: Hoare triple {4651#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {4651#false} is VALID [2018-11-23 11:25:25,704 INFO L273 TraceCheckUtils]: 63: Hoare triple {4651#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {4651#false} is VALID [2018-11-23 11:25:25,704 INFO L273 TraceCheckUtils]: 62: Hoare triple {4651#false} ~i~1 := 0bv32; {4651#false} is VALID [2018-11-23 11:25:25,704 INFO L268 TraceCheckUtils]: 61: Hoare quadruple {4651#false} {4650#true} #88#return; {4651#false} is VALID [2018-11-23 11:25:25,704 INFO L273 TraceCheckUtils]: 60: Hoare triple {4651#false} assume true; {4651#false} is VALID [2018-11-23 11:25:25,704 INFO L273 TraceCheckUtils]: 59: Hoare triple {4651#false} assume !~bvslt32(~lh~0, ~n~0); {4651#false} is VALID [2018-11-23 11:25:25,704 INFO L273 TraceCheckUtils]: 58: Hoare triple {4651#false} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4651#false} is VALID [2018-11-23 11:25:25,704 INFO L273 TraceCheckUtils]: 57: Hoare triple {4651#false} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4651#false} is VALID [2018-11-23 11:25:25,705 INFO L273 TraceCheckUtils]: 56: Hoare triple {4651#false} assume !~bvslt32(~i~0, ~n~0); {4651#false} is VALID [2018-11-23 11:25:25,705 INFO L273 TraceCheckUtils]: 55: Hoare triple {4651#false} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {4651#false} is VALID [2018-11-23 11:25:25,705 INFO L273 TraceCheckUtils]: 54: Hoare triple {4651#false} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4651#false} is VALID [2018-11-23 11:25:25,705 INFO L273 TraceCheckUtils]: 53: Hoare triple {4651#false} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4651#false} is VALID [2018-11-23 11:25:25,706 INFO L273 TraceCheckUtils]: 52: Hoare triple {4913#(bvslt SelectionSort_~i~0 ~n~0)} assume !~bvslt32(~i~0, ~n~0); {4651#false} is VALID [2018-11-23 11:25:25,706 INFO L273 TraceCheckUtils]: 51: Hoare triple {4917#(bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0)} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4913#(bvslt SelectionSort_~i~0 ~n~0)} is VALID [2018-11-23 11:25:25,708 INFO L273 TraceCheckUtils]: 50: Hoare triple {4917#(bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0)} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4917#(bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0)} is VALID [2018-11-23 11:25:25,708 INFO L273 TraceCheckUtils]: 49: Hoare triple {4924#(or (not (bvslt SelectionSort_~i~0 ~n~0)) (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4917#(bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0)} is VALID [2018-11-23 11:25:25,734 INFO L273 TraceCheckUtils]: 48: Hoare triple {4928#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {4924#(or (not (bvslt SelectionSort_~i~0 ~n~0)) (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0))} is VALID [2018-11-23 11:25:25,777 INFO L273 TraceCheckUtils]: 47: Hoare triple {4932#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4928#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} is VALID [2018-11-23 11:25:25,782 INFO L273 TraceCheckUtils]: 46: Hoare triple {4932#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4932#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} is VALID [2018-11-23 11:25:25,782 INFO L273 TraceCheckUtils]: 45: Hoare triple {4939#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt SelectionSort_~i~0 ~n~0) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} assume !~bvslt32(~i~0, ~n~0); {4932#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} is VALID [2018-11-23 11:25:25,784 INFO L273 TraceCheckUtils]: 44: Hoare triple {4943#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4939#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt SelectionSort_~i~0 ~n~0) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} is VALID [2018-11-23 11:25:25,784 INFO L273 TraceCheckUtils]: 43: Hoare triple {4943#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4943#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0))} is VALID [2018-11-23 11:25:25,786 INFO L273 TraceCheckUtils]: 42: Hoare triple {4950#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (not (bvslt SelectionSort_~i~0 ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4943#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0))} is VALID [2018-11-23 11:25:25,808 INFO L273 TraceCheckUtils]: 41: Hoare triple {4954#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (not (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4950#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (not (bvslt SelectionSort_~i~0 ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0))} is VALID [2018-11-23 11:25:25,812 INFO L273 TraceCheckUtils]: 40: Hoare triple {4954#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (not (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4954#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (not (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0))} is VALID [2018-11-23 11:25:25,812 INFO L273 TraceCheckUtils]: 39: Hoare triple {4954#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (not (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4954#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (not (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0))} is VALID [2018-11-23 11:25:25,878 INFO L273 TraceCheckUtils]: 38: Hoare triple {4964#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (not (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv3 32)) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4954#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (not (bvslt (bvadd SelectionSort_~i~0 (_ bv1 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0))} is VALID [2018-11-23 11:25:25,878 INFO L273 TraceCheckUtils]: 37: Hoare triple {4964#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (not (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv3 32)) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4964#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (not (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv3 32)) ~n~0))} is VALID [2018-11-23 11:25:25,882 INFO L273 TraceCheckUtils]: 36: Hoare triple {4964#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (not (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv3 32)) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4964#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (not (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv3 32)) ~n~0))} is VALID [2018-11-23 11:25:25,945 INFO L273 TraceCheckUtils]: 35: Hoare triple {4650#true} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {4964#(or (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (not (bvslt (bvadd SelectionSort_~i~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (bvslt (bvadd SelectionSort_~i~0 (_ bv3 32)) ~n~0))} is VALID [2018-11-23 11:25:25,945 INFO L273 TraceCheckUtils]: 34: Hoare triple {4650#true} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4650#true} is VALID [2018-11-23 11:25:25,945 INFO L273 TraceCheckUtils]: 33: Hoare triple {4650#true} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4650#true} is VALID [2018-11-23 11:25:25,945 INFO L273 TraceCheckUtils]: 32: Hoare triple {4650#true} assume !~bvslt32(~i~0, ~n~0); {4650#true} is VALID [2018-11-23 11:25:25,945 INFO L273 TraceCheckUtils]: 31: Hoare triple {4650#true} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4650#true} is VALID [2018-11-23 11:25:25,946 INFO L273 TraceCheckUtils]: 30: Hoare triple {4650#true} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4650#true} is VALID [2018-11-23 11:25:25,946 INFO L273 TraceCheckUtils]: 29: Hoare triple {4650#true} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4650#true} is VALID [2018-11-23 11:25:25,946 INFO L273 TraceCheckUtils]: 28: Hoare triple {4650#true} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4650#true} is VALID [2018-11-23 11:25:25,946 INFO L273 TraceCheckUtils]: 27: Hoare triple {4650#true} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4650#true} is VALID [2018-11-23 11:25:25,946 INFO L273 TraceCheckUtils]: 26: Hoare triple {4650#true} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4650#true} is VALID [2018-11-23 11:25:25,946 INFO L273 TraceCheckUtils]: 25: Hoare triple {4650#true} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4650#true} is VALID [2018-11-23 11:25:25,946 INFO L273 TraceCheckUtils]: 24: Hoare triple {4650#true} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4650#true} is VALID [2018-11-23 11:25:25,946 INFO L273 TraceCheckUtils]: 23: Hoare triple {4650#true} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4650#true} is VALID [2018-11-23 11:25:25,947 INFO L273 TraceCheckUtils]: 22: Hoare triple {4650#true} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {4650#true} is VALID [2018-11-23 11:25:25,947 INFO L273 TraceCheckUtils]: 21: Hoare triple {4650#true} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {4650#true} is VALID [2018-11-23 11:25:25,947 INFO L273 TraceCheckUtils]: 20: Hoare triple {4650#true} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {4650#true} is VALID [2018-11-23 11:25:25,947 INFO L273 TraceCheckUtils]: 19: Hoare triple {4650#true} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {4650#true} is VALID [2018-11-23 11:25:25,947 INFO L273 TraceCheckUtils]: 18: Hoare triple {4650#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {4650#true} is VALID [2018-11-23 11:25:25,947 INFO L256 TraceCheckUtils]: 17: Hoare triple {4650#true} call SelectionSort(); {4650#true} is VALID [2018-11-23 11:25:25,948 INFO L273 TraceCheckUtils]: 16: Hoare triple {4650#true} assume !~bvsge32(~i~1, 0bv32); {4650#true} is VALID [2018-11-23 11:25:25,948 INFO L273 TraceCheckUtils]: 15: Hoare triple {4650#true} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {4650#true} is VALID [2018-11-23 11:25:25,948 INFO L273 TraceCheckUtils]: 14: Hoare triple {4650#true} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {4650#true} is VALID [2018-11-23 11:25:25,948 INFO L273 TraceCheckUtils]: 13: Hoare triple {4650#true} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {4650#true} is VALID [2018-11-23 11:25:25,948 INFO L273 TraceCheckUtils]: 12: Hoare triple {4650#true} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {4650#true} is VALID [2018-11-23 11:25:25,949 INFO L273 TraceCheckUtils]: 11: Hoare triple {4650#true} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {4650#true} is VALID [2018-11-23 11:25:25,949 INFO L273 TraceCheckUtils]: 10: Hoare triple {4650#true} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {4650#true} is VALID [2018-11-23 11:25:25,949 INFO L273 TraceCheckUtils]: 9: Hoare triple {4650#true} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {4650#true} is VALID [2018-11-23 11:25:25,949 INFO L273 TraceCheckUtils]: 8: Hoare triple {4650#true} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {4650#true} is VALID [2018-11-23 11:25:25,949 INFO L273 TraceCheckUtils]: 7: Hoare triple {4650#true} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {4650#true} is VALID [2018-11-23 11:25:25,950 INFO L273 TraceCheckUtils]: 6: Hoare triple {4650#true} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {4650#true} is VALID [2018-11-23 11:25:25,950 INFO L273 TraceCheckUtils]: 5: Hoare triple {4650#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {4650#true} is VALID [2018-11-23 11:25:25,950 INFO L256 TraceCheckUtils]: 4: Hoare triple {4650#true} call #t~ret9 := main(); {4650#true} is VALID [2018-11-23 11:25:25,950 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4650#true} {4650#true} #84#return; {4650#true} is VALID [2018-11-23 11:25:25,950 INFO L273 TraceCheckUtils]: 2: Hoare triple {4650#true} assume true; {4650#true} is VALID [2018-11-23 11:25:25,950 INFO L273 TraceCheckUtils]: 1: Hoare triple {4650#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {4650#true} is VALID [2018-11-23 11:25:25,951 INFO L256 TraceCheckUtils]: 0: Hoare triple {4650#true} call ULTIMATE.init(); {4650#true} is VALID [2018-11-23 11:25:25,959 INFO L134 CoverageAnalysis]: Checked inductivity of 169 backedges. 95 proven. 23 refuted. 0 times theorem prover too weak. 51 trivial. 0 not checked. [2018-11-23 11:25:25,968 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:25:25,968 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 12] total 21 [2018-11-23 11:25:25,969 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 68 [2018-11-23 11:25:25,969 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:25:25,969 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-23 11:25:26,730 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:26,730 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-23 11:25:26,730 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-23 11:25:26,731 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=327, Unknown=0, NotChecked=0, Total=420 [2018-11-23 11:25:26,731 INFO L87 Difference]: Start difference. First operand 79 states and 95 transitions. Second operand 21 states. [2018-11-23 11:25:31,413 WARN L180 SmtUtils]: Spent 116.00 ms on a formula simplification. DAG size of input: 21 DAG size of output: 16 [2018-11-23 11:25:31,733 WARN L180 SmtUtils]: Spent 137.00 ms on a formula simplification. DAG size of input: 19 DAG size of output: 12 [2018-11-23 11:25:32,656 WARN L180 SmtUtils]: Spent 211.00 ms on a formula simplification. DAG size of input: 22 DAG size of output: 13 [2018-11-23 11:25:33,466 WARN L180 SmtUtils]: Spent 152.00 ms on a formula simplification. DAG size of input: 24 DAG size of output: 17 [2018-11-23 11:25:34,510 WARN L180 SmtUtils]: Spent 643.00 ms on a formula simplification. DAG size of input: 26 DAG size of output: 20 [2018-11-23 11:25:35,355 WARN L180 SmtUtils]: Spent 299.00 ms on a formula simplification. DAG size of input: 26 DAG size of output: 15 [2018-11-23 11:25:36,809 WARN L180 SmtUtils]: Spent 120.00 ms on a formula simplification. DAG size of input: 22 DAG size of output: 16 [2018-11-23 11:25:37,636 WARN L180 SmtUtils]: Spent 206.00 ms on a formula simplification. DAG size of input: 26 DAG size of output: 21 [2018-11-23 11:25:39,115 WARN L180 SmtUtils]: Spent 217.00 ms on a formula simplification. DAG size of input: 27 DAG size of output: 25 [2018-11-23 11:25:40,018 WARN L180 SmtUtils]: Spent 207.00 ms on a formula simplification. DAG size of input: 24 DAG size of output: 12 [2018-11-23 11:25:41,615 WARN L180 SmtUtils]: Spent 203.00 ms on a formula simplification. DAG size of input: 29 DAG size of output: 28 [2018-11-23 11:25:43,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:43,131 INFO L93 Difference]: Finished difference Result 188 states and 246 transitions. [2018-11-23 11:25:43,131 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2018-11-23 11:25:43,131 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 68 [2018-11-23 11:25:43,131 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:25:43,131 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 11:25:43,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 130 transitions. [2018-11-23 11:25:43,134 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 11:25:43,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 130 transitions. [2018-11-23 11:25:43,136 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states and 130 transitions. [2018-11-23 11:25:47,592 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:47,595 INFO L225 Difference]: With dead ends: 188 [2018-11-23 11:25:47,596 INFO L226 Difference]: Without dead ends: 159 [2018-11-23 11:25:47,597 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 174 GetRequests, 129 SyntacticMatches, 1 SemanticMatches, 44 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 346 ImplicationChecksByTransitivity, 7.1s TimeCoverageRelationStatistics Valid=393, Invalid=1677, Unknown=0, NotChecked=0, Total=2070 [2018-11-23 11:25:47,598 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2018-11-23 11:25:48,303 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 123. [2018-11-23 11:25:48,304 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:25:48,304 INFO L82 GeneralOperation]: Start isEquivalent. First operand 159 states. Second operand 123 states. [2018-11-23 11:25:48,304 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand 123 states. [2018-11-23 11:25:48,304 INFO L87 Difference]: Start difference. First operand 159 states. Second operand 123 states. [2018-11-23 11:25:48,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:48,308 INFO L93 Difference]: Finished difference Result 159 states and 201 transitions. [2018-11-23 11:25:48,308 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 201 transitions. [2018-11-23 11:25:48,309 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:48,309 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:48,309 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 159 states. [2018-11-23 11:25:48,309 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 159 states. [2018-11-23 11:25:48,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:48,312 INFO L93 Difference]: Finished difference Result 159 states and 201 transitions. [2018-11-23 11:25:48,313 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 201 transitions. [2018-11-23 11:25:48,313 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:48,313 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:48,313 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:25:48,314 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:25:48,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 123 states. [2018-11-23 11:25:48,316 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 158 transitions. [2018-11-23 11:25:48,317 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 158 transitions. Word has length 68 [2018-11-23 11:25:48,317 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:25:48,317 INFO L480 AbstractCegarLoop]: Abstraction has 123 states and 158 transitions. [2018-11-23 11:25:48,317 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-23 11:25:48,317 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 158 transitions. [2018-11-23 11:25:48,318 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2018-11-23 11:25:48,318 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:25:48,318 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 9, 5, 5, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:25:48,319 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:25:48,319 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:25:48,319 INFO L82 PathProgramCache]: Analyzing trace with hash -524679773, now seen corresponding path program 6 times [2018-11-23 11:25:48,319 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:25:48,320 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 11:25:48,349 INFO L101 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2018-11-23 11:25:50,397 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2018-11-23 11:25:50,398 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:25:50,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:50,462 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:25:50,813 INFO L256 TraceCheckUtils]: 0: Hoare triple {5888#true} call ULTIMATE.init(); {5888#true} is VALID [2018-11-23 11:25:50,814 INFO L273 TraceCheckUtils]: 1: Hoare triple {5888#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {5896#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:50,815 INFO L273 TraceCheckUtils]: 2: Hoare triple {5896#(= (_ bv5 32) ~n~0)} assume true; {5896#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:50,816 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5896#(= (_ bv5 32) ~n~0)} {5888#true} #84#return; {5896#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:50,816 INFO L256 TraceCheckUtils]: 4: Hoare triple {5896#(= (_ bv5 32) ~n~0)} call #t~ret9 := main(); {5896#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:50,817 INFO L273 TraceCheckUtils]: 5: Hoare triple {5896#(= (_ bv5 32) ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {5896#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:50,817 INFO L273 TraceCheckUtils]: 6: Hoare triple {5896#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {5896#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:50,818 INFO L273 TraceCheckUtils]: 7: Hoare triple {5896#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {5896#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:50,818 INFO L273 TraceCheckUtils]: 8: Hoare triple {5896#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {5896#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:50,819 INFO L273 TraceCheckUtils]: 9: Hoare triple {5896#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {5896#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:50,819 INFO L273 TraceCheckUtils]: 10: Hoare triple {5896#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {5896#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:50,820 INFO L273 TraceCheckUtils]: 11: Hoare triple {5896#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {5896#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:50,820 INFO L273 TraceCheckUtils]: 12: Hoare triple {5896#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {5896#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:50,821 INFO L273 TraceCheckUtils]: 13: Hoare triple {5896#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {5896#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:50,821 INFO L273 TraceCheckUtils]: 14: Hoare triple {5896#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {5896#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:50,822 INFO L273 TraceCheckUtils]: 15: Hoare triple {5896#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {5896#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:50,823 INFO L273 TraceCheckUtils]: 16: Hoare triple {5896#(= (_ bv5 32) ~n~0)} assume !~bvsge32(~i~1, 0bv32); {5896#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:50,823 INFO L256 TraceCheckUtils]: 17: Hoare triple {5896#(= (_ bv5 32) ~n~0)} call SelectionSort(); {5896#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:50,824 INFO L273 TraceCheckUtils]: 18: Hoare triple {5896#(= (_ bv5 32) ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,824 INFO L273 TraceCheckUtils]: 19: Hoare triple {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,825 INFO L273 TraceCheckUtils]: 20: Hoare triple {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,826 INFO L273 TraceCheckUtils]: 21: Hoare triple {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,827 INFO L273 TraceCheckUtils]: 22: Hoare triple {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,827 INFO L273 TraceCheckUtils]: 23: Hoare triple {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,828 INFO L273 TraceCheckUtils]: 24: Hoare triple {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,829 INFO L273 TraceCheckUtils]: 25: Hoare triple {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,830 INFO L273 TraceCheckUtils]: 26: Hoare triple {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,830 INFO L273 TraceCheckUtils]: 27: Hoare triple {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,831 INFO L273 TraceCheckUtils]: 28: Hoare triple {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,832 INFO L273 TraceCheckUtils]: 29: Hoare triple {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,832 INFO L273 TraceCheckUtils]: 30: Hoare triple {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,833 INFO L273 TraceCheckUtils]: 31: Hoare triple {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,834 INFO L273 TraceCheckUtils]: 32: Hoare triple {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !~bvslt32(~i~0, ~n~0); {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,835 INFO L273 TraceCheckUtils]: 33: Hoare triple {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,835 INFO L273 TraceCheckUtils]: 34: Hoare triple {5948#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,836 INFO L273 TraceCheckUtils]: 35: Hoare triple {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,837 INFO L273 TraceCheckUtils]: 36: Hoare triple {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,837 INFO L273 TraceCheckUtils]: 37: Hoare triple {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,838 INFO L273 TraceCheckUtils]: 38: Hoare triple {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,839 INFO L273 TraceCheckUtils]: 39: Hoare triple {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,840 INFO L273 TraceCheckUtils]: 40: Hoare triple {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,840 INFO L273 TraceCheckUtils]: 41: Hoare triple {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,841 INFO L273 TraceCheckUtils]: 42: Hoare triple {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,842 INFO L273 TraceCheckUtils]: 43: Hoare triple {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,842 INFO L273 TraceCheckUtils]: 44: Hoare triple {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,843 INFO L273 TraceCheckUtils]: 45: Hoare triple {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !~bvslt32(~i~0, ~n~0); {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,844 INFO L273 TraceCheckUtils]: 46: Hoare triple {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,845 INFO L273 TraceCheckUtils]: 47: Hoare triple {5997#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {6037#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,845 INFO L273 TraceCheckUtils]: 48: Hoare triple {6037#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {6037#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,846 INFO L273 TraceCheckUtils]: 49: Hoare triple {6037#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {6037#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,847 INFO L273 TraceCheckUtils]: 50: Hoare triple {6037#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {6037#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,847 INFO L273 TraceCheckUtils]: 51: Hoare triple {6037#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {6037#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,848 INFO L273 TraceCheckUtils]: 52: Hoare triple {6037#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {6037#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,849 INFO L273 TraceCheckUtils]: 53: Hoare triple {6037#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {6037#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,850 INFO L273 TraceCheckUtils]: 54: Hoare triple {6037#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {6037#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,850 INFO L273 TraceCheckUtils]: 55: Hoare triple {6037#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !~bvslt32(~i~0, ~n~0); {6037#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,851 INFO L273 TraceCheckUtils]: 56: Hoare triple {6037#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {6037#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,852 INFO L273 TraceCheckUtils]: 57: Hoare triple {6037#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {6068#(and (= (_ bv3 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,853 INFO L273 TraceCheckUtils]: 58: Hoare triple {6068#(and (= (_ bv3 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {6072#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967292 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:50,854 INFO L273 TraceCheckUtils]: 59: Hoare triple {6072#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967292 32)) (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !~bvslt32(~i~0, ~n~0); {5889#false} is VALID [2018-11-23 11:25:50,854 INFO L273 TraceCheckUtils]: 60: Hoare triple {5889#false} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {5889#false} is VALID [2018-11-23 11:25:50,854 INFO L273 TraceCheckUtils]: 61: Hoare triple {5889#false} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5889#false} is VALID [2018-11-23 11:25:50,855 INFO L273 TraceCheckUtils]: 62: Hoare triple {5889#false} assume !~bvslt32(~lh~0, ~n~0); {5889#false} is VALID [2018-11-23 11:25:50,855 INFO L273 TraceCheckUtils]: 63: Hoare triple {5889#false} assume true; {5889#false} is VALID [2018-11-23 11:25:50,855 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {5889#false} {5896#(= (_ bv5 32) ~n~0)} #88#return; {5889#false} is VALID [2018-11-23 11:25:50,855 INFO L273 TraceCheckUtils]: 65: Hoare triple {5889#false} ~i~1 := 0bv32; {5889#false} is VALID [2018-11-23 11:25:50,855 INFO L273 TraceCheckUtils]: 66: Hoare triple {5889#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {5889#false} is VALID [2018-11-23 11:25:50,856 INFO L256 TraceCheckUtils]: 67: Hoare triple {5889#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {5889#false} is VALID [2018-11-23 11:25:50,856 INFO L273 TraceCheckUtils]: 68: Hoare triple {5889#false} ~cond := #in~cond; {5889#false} is VALID [2018-11-23 11:25:50,856 INFO L273 TraceCheckUtils]: 69: Hoare triple {5889#false} assume 0bv32 == ~cond; {5889#false} is VALID [2018-11-23 11:25:50,856 INFO L273 TraceCheckUtils]: 70: Hoare triple {5889#false} assume !false; {5889#false} is VALID [2018-11-23 11:25:50,863 INFO L134 CoverageAnalysis]: Checked inductivity of 197 backedges. 10 proven. 123 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2018-11-23 11:25:50,863 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:25:51,531 INFO L273 TraceCheckUtils]: 70: Hoare triple {5889#false} assume !false; {5889#false} is VALID [2018-11-23 11:25:51,532 INFO L273 TraceCheckUtils]: 69: Hoare triple {5889#false} assume 0bv32 == ~cond; {5889#false} is VALID [2018-11-23 11:25:51,532 INFO L273 TraceCheckUtils]: 68: Hoare triple {5889#false} ~cond := #in~cond; {5889#false} is VALID [2018-11-23 11:25:51,532 INFO L256 TraceCheckUtils]: 67: Hoare triple {5889#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {5889#false} is VALID [2018-11-23 11:25:51,532 INFO L273 TraceCheckUtils]: 66: Hoare triple {5889#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {5889#false} is VALID [2018-11-23 11:25:51,532 INFO L273 TraceCheckUtils]: 65: Hoare triple {5889#false} ~i~1 := 0bv32; {5889#false} is VALID [2018-11-23 11:25:51,533 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {6131#(and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} #88#return; {5889#false} is VALID [2018-11-23 11:25:51,533 INFO L273 TraceCheckUtils]: 63: Hoare triple {6131#(and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume true; {6131#(and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:51,534 INFO L273 TraceCheckUtils]: 62: Hoare triple {6131#(and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !~bvslt32(~lh~0, ~n~0); {6131#(and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:51,534 INFO L273 TraceCheckUtils]: 61: Hoare triple {6131#(and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {6131#(and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:51,535 INFO L273 TraceCheckUtils]: 60: Hoare triple {6131#(and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {6131#(and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:51,535 INFO L273 TraceCheckUtils]: 59: Hoare triple {6147#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt SelectionSort_~i~0 ~n~0))} assume !~bvslt32(~i~0, ~n~0); {6131#(and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:51,538 INFO L273 TraceCheckUtils]: 58: Hoare triple {6151#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt SelectionSort_~lh~0 ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {6147#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt SelectionSort_~i~0 ~n~0))} is VALID [2018-11-23 11:25:51,566 INFO L273 TraceCheckUtils]: 57: Hoare triple {6155#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {6151#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt SelectionSort_~lh~0 ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0))} is VALID [2018-11-23 11:25:51,566 INFO L273 TraceCheckUtils]: 56: Hoare triple {6155#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {6155#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} is VALID [2018-11-23 11:25:51,567 INFO L273 TraceCheckUtils]: 55: Hoare triple {6155#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} assume !~bvslt32(~i~0, ~n~0); {6155#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} is VALID [2018-11-23 11:25:51,567 INFO L273 TraceCheckUtils]: 54: Hoare triple {6155#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {6155#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} is VALID [2018-11-23 11:25:51,568 INFO L273 TraceCheckUtils]: 53: Hoare triple {6155#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {6155#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} is VALID [2018-11-23 11:25:51,568 INFO L273 TraceCheckUtils]: 52: Hoare triple {6155#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {6155#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} is VALID [2018-11-23 11:25:51,568 INFO L273 TraceCheckUtils]: 51: Hoare triple {6155#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {6155#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} is VALID [2018-11-23 11:25:51,569 INFO L273 TraceCheckUtils]: 50: Hoare triple {6155#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {6155#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} is VALID [2018-11-23 11:25:51,569 INFO L273 TraceCheckUtils]: 49: Hoare triple {6155#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {6155#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} is VALID [2018-11-23 11:25:51,570 INFO L273 TraceCheckUtils]: 48: Hoare triple {6155#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {6155#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} is VALID [2018-11-23 11:25:51,623 INFO L273 TraceCheckUtils]: 47: Hoare triple {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {6155#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0)))} is VALID [2018-11-23 11:25:51,624 INFO L273 TraceCheckUtils]: 46: Hoare triple {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} is VALID [2018-11-23 11:25:51,625 INFO L273 TraceCheckUtils]: 45: Hoare triple {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} assume !~bvslt32(~i~0, ~n~0); {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} is VALID [2018-11-23 11:25:51,625 INFO L273 TraceCheckUtils]: 44: Hoare triple {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} is VALID [2018-11-23 11:25:51,644 INFO L273 TraceCheckUtils]: 43: Hoare triple {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} is VALID [2018-11-23 11:25:51,653 INFO L273 TraceCheckUtils]: 42: Hoare triple {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} is VALID [2018-11-23 11:25:51,666 INFO L273 TraceCheckUtils]: 41: Hoare triple {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} is VALID [2018-11-23 11:25:51,675 INFO L273 TraceCheckUtils]: 40: Hoare triple {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} is VALID [2018-11-23 11:25:51,688 INFO L273 TraceCheckUtils]: 39: Hoare triple {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} is VALID [2018-11-23 11:25:51,697 INFO L273 TraceCheckUtils]: 38: Hoare triple {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} is VALID [2018-11-23 11:25:51,710 INFO L273 TraceCheckUtils]: 37: Hoare triple {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} is VALID [2018-11-23 11:25:51,725 INFO L273 TraceCheckUtils]: 36: Hoare triple {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} is VALID [2018-11-23 11:25:51,734 INFO L273 TraceCheckUtils]: 35: Hoare triple {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} is VALID [2018-11-23 11:25:51,793 INFO L273 TraceCheckUtils]: 34: Hoare triple {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {6186#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0))} is VALID [2018-11-23 11:25:51,794 INFO L273 TraceCheckUtils]: 33: Hoare triple {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} is VALID [2018-11-23 11:25:51,794 INFO L273 TraceCheckUtils]: 32: Hoare triple {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} assume !~bvslt32(~i~0, ~n~0); {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} is VALID [2018-11-23 11:25:51,794 INFO L273 TraceCheckUtils]: 31: Hoare triple {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} is VALID [2018-11-23 11:25:51,795 INFO L273 TraceCheckUtils]: 30: Hoare triple {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} is VALID [2018-11-23 11:25:51,795 INFO L273 TraceCheckUtils]: 29: Hoare triple {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} is VALID [2018-11-23 11:25:51,796 INFO L273 TraceCheckUtils]: 28: Hoare triple {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} is VALID [2018-11-23 11:25:51,796 INFO L273 TraceCheckUtils]: 27: Hoare triple {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} is VALID [2018-11-23 11:25:51,797 INFO L273 TraceCheckUtils]: 26: Hoare triple {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} is VALID [2018-11-23 11:25:51,797 INFO L273 TraceCheckUtils]: 25: Hoare triple {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} is VALID [2018-11-23 11:25:51,798 INFO L273 TraceCheckUtils]: 24: Hoare triple {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} is VALID [2018-11-23 11:25:51,799 INFO L273 TraceCheckUtils]: 23: Hoare triple {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} is VALID [2018-11-23 11:25:51,799 INFO L273 TraceCheckUtils]: 22: Hoare triple {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} is VALID [2018-11-23 11:25:51,800 INFO L273 TraceCheckUtils]: 21: Hoare triple {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} is VALID [2018-11-23 11:25:51,801 INFO L273 TraceCheckUtils]: 20: Hoare triple {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} is VALID [2018-11-23 11:25:51,801 INFO L273 TraceCheckUtils]: 19: Hoare triple {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} is VALID [2018-11-23 11:25:51,802 INFO L273 TraceCheckUtils]: 18: Hoare triple {5888#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {6226#(or (and (bvslt (_ bv3 32) ~n~0) (not (bvslt (_ bv4 32) ~n~0))) (not (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0)) (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0))} is VALID [2018-11-23 11:25:51,802 INFO L256 TraceCheckUtils]: 17: Hoare triple {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} call SelectionSort(); {5888#true} is VALID [2018-11-23 11:25:51,803 INFO L273 TraceCheckUtils]: 16: Hoare triple {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} assume !~bvsge32(~i~1, 0bv32); {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:51,804 INFO L273 TraceCheckUtils]: 15: Hoare triple {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:51,804 INFO L273 TraceCheckUtils]: 14: Hoare triple {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:51,805 INFO L273 TraceCheckUtils]: 13: Hoare triple {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:51,806 INFO L273 TraceCheckUtils]: 12: Hoare triple {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:51,806 INFO L273 TraceCheckUtils]: 11: Hoare triple {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:51,807 INFO L273 TraceCheckUtils]: 10: Hoare triple {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:51,808 INFO L273 TraceCheckUtils]: 9: Hoare triple {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:51,808 INFO L273 TraceCheckUtils]: 8: Hoare triple {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:51,809 INFO L273 TraceCheckUtils]: 7: Hoare triple {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:51,810 INFO L273 TraceCheckUtils]: 6: Hoare triple {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:51,810 INFO L273 TraceCheckUtils]: 5: Hoare triple {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:51,811 INFO L256 TraceCheckUtils]: 4: Hoare triple {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} call #t~ret9 := main(); {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:51,812 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} {5888#true} #84#return; {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:51,812 INFO L273 TraceCheckUtils]: 2: Hoare triple {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} assume true; {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:51,814 INFO L273 TraceCheckUtils]: 1: Hoare triple {5888#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {6127#(or (not (bvslt (_ bv3 32) ~n~0)) (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:51,814 INFO L256 TraceCheckUtils]: 0: Hoare triple {5888#true} call ULTIMATE.init(); {5888#true} is VALID [2018-11-23 11:25:51,836 INFO L134 CoverageAnalysis]: Checked inductivity of 197 backedges. 10 proven. 123 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2018-11-23 11:25:51,843 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:25:51,843 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9] total 15 [2018-11-23 11:25:51,844 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 71 [2018-11-23 11:25:51,844 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:25:51,845 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 11:25:52,137 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:52,138 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 11:25:52,138 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 11:25:52,138 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=153, Unknown=0, NotChecked=0, Total=210 [2018-11-23 11:25:52,138 INFO L87 Difference]: Start difference. First operand 123 states and 158 transitions. Second operand 15 states. [2018-11-23 11:25:53,504 WARN L180 SmtUtils]: Spent 103.00 ms on a formula simplification. DAG size of input: 27 DAG size of output: 23 [2018-11-23 11:25:53,842 WARN L180 SmtUtils]: Spent 155.00 ms on a formula simplification. DAG size of input: 30 DAG size of output: 26 [2018-11-23 11:25:54,093 WARN L180 SmtUtils]: Spent 128.00 ms on a formula simplification. DAG size of input: 30 DAG size of output: 25 [2018-11-23 11:25:54,425 WARN L180 SmtUtils]: Spent 116.00 ms on a formula simplification. DAG size of input: 26 DAG size of output: 21 [2018-11-23 11:25:55,234 WARN L180 SmtUtils]: Spent 307.00 ms on a formula simplification. DAG size of input: 29 DAG size of output: 23 [2018-11-23 11:25:56,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:56,082 INFO L93 Difference]: Finished difference Result 349 states and 464 transitions. [2018-11-23 11:25:56,082 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2018-11-23 11:25:56,083 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 71 [2018-11-23 11:25:56,083 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:25:56,083 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 11:25:56,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 131 transitions. [2018-11-23 11:25:56,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 11:25:56,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 131 transitions. [2018-11-23 11:25:56,088 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 131 transitions. [2018-11-23 11:25:57,650 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:57,659 INFO L225 Difference]: With dead ends: 349 [2018-11-23 11:25:57,659 INFO L226 Difference]: Without dead ends: 333 [2018-11-23 11:25:57,660 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 156 GetRequests, 126 SyntacticMatches, 2 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 172 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=233, Invalid=637, Unknown=0, NotChecked=0, Total=870 [2018-11-23 11:25:57,661 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 333 states. [2018-11-23 11:25:58,204 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 333 to 294. [2018-11-23 11:25:58,204 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:25:58,204 INFO L82 GeneralOperation]: Start isEquivalent. First operand 333 states. Second operand 294 states. [2018-11-23 11:25:58,205 INFO L74 IsIncluded]: Start isIncluded. First operand 333 states. Second operand 294 states. [2018-11-23 11:25:58,205 INFO L87 Difference]: Start difference. First operand 333 states. Second operand 294 states. [2018-11-23 11:25:58,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:58,214 INFO L93 Difference]: Finished difference Result 333 states and 440 transitions. [2018-11-23 11:25:58,214 INFO L276 IsEmpty]: Start isEmpty. Operand 333 states and 440 transitions. [2018-11-23 11:25:58,215 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:58,215 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:58,216 INFO L74 IsIncluded]: Start isIncluded. First operand 294 states. Second operand 333 states. [2018-11-23 11:25:58,216 INFO L87 Difference]: Start difference. First operand 294 states. Second operand 333 states. [2018-11-23 11:25:58,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:58,226 INFO L93 Difference]: Finished difference Result 333 states and 440 transitions. [2018-11-23 11:25:58,226 INFO L276 IsEmpty]: Start isEmpty. Operand 333 states and 440 transitions. [2018-11-23 11:25:58,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:58,227 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:58,227 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:25:58,227 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:25:58,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 294 states. [2018-11-23 11:25:58,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 294 states to 294 states and 389 transitions. [2018-11-23 11:25:58,236 INFO L78 Accepts]: Start accepts. Automaton has 294 states and 389 transitions. Word has length 71 [2018-11-23 11:25:58,237 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:25:58,237 INFO L480 AbstractCegarLoop]: Abstraction has 294 states and 389 transitions. [2018-11-23 11:25:58,237 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 11:25:58,237 INFO L276 IsEmpty]: Start isEmpty. Operand 294 states and 389 transitions. [2018-11-23 11:25:58,238 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2018-11-23 11:25:58,238 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:25:58,238 INFO L402 BasicCegarLoop]: trace histogram [10, 10, 10, 5, 5, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:25:58,239 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:25:58,239 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:25:58,239 INFO L82 PathProgramCache]: Analyzing trace with hash 734614779, now seen corresponding path program 7 times [2018-11-23 11:25:58,239 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:25:58,239 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 11:25:58,267 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:25:58,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:58,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:58,513 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:25:59,282 INFO L256 TraceCheckUtils]: 0: Hoare triple {7916#true} call ULTIMATE.init(); {7916#true} is VALID [2018-11-23 11:25:59,283 INFO L273 TraceCheckUtils]: 1: Hoare triple {7916#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {7924#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:59,284 INFO L273 TraceCheckUtils]: 2: Hoare triple {7924#(= (_ bv5 32) ~n~0)} assume true; {7924#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:59,284 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7924#(= (_ bv5 32) ~n~0)} {7916#true} #84#return; {7924#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:59,285 INFO L256 TraceCheckUtils]: 4: Hoare triple {7924#(= (_ bv5 32) ~n~0)} call #t~ret9 := main(); {7924#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:59,285 INFO L273 TraceCheckUtils]: 5: Hoare triple {7924#(= (_ bv5 32) ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {7924#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:59,286 INFO L273 TraceCheckUtils]: 6: Hoare triple {7924#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {7924#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:59,286 INFO L273 TraceCheckUtils]: 7: Hoare triple {7924#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {7924#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:59,287 INFO L273 TraceCheckUtils]: 8: Hoare triple {7924#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {7924#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:59,288 INFO L273 TraceCheckUtils]: 9: Hoare triple {7924#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {7924#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:59,288 INFO L273 TraceCheckUtils]: 10: Hoare triple {7924#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {7924#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:59,289 INFO L273 TraceCheckUtils]: 11: Hoare triple {7924#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {7924#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:59,289 INFO L273 TraceCheckUtils]: 12: Hoare triple {7924#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {7924#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:59,290 INFO L273 TraceCheckUtils]: 13: Hoare triple {7924#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {7924#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:59,290 INFO L273 TraceCheckUtils]: 14: Hoare triple {7924#(= (_ bv5 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {7924#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:59,291 INFO L273 TraceCheckUtils]: 15: Hoare triple {7924#(= (_ bv5 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {7924#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:59,291 INFO L273 TraceCheckUtils]: 16: Hoare triple {7924#(= (_ bv5 32) ~n~0)} assume !~bvsge32(~i~1, 0bv32); {7924#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:59,292 INFO L256 TraceCheckUtils]: 17: Hoare triple {7924#(= (_ bv5 32) ~n~0)} call SelectionSort(); {7924#(= (_ bv5 32) ~n~0)} is VALID [2018-11-23 11:25:59,293 INFO L273 TraceCheckUtils]: 18: Hoare triple {7924#(= (_ bv5 32) ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,293 INFO L273 TraceCheckUtils]: 19: Hoare triple {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,294 INFO L273 TraceCheckUtils]: 20: Hoare triple {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,295 INFO L273 TraceCheckUtils]: 21: Hoare triple {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,296 INFO L273 TraceCheckUtils]: 22: Hoare triple {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,296 INFO L273 TraceCheckUtils]: 23: Hoare triple {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,297 INFO L273 TraceCheckUtils]: 24: Hoare triple {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,298 INFO L273 TraceCheckUtils]: 25: Hoare triple {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,299 INFO L273 TraceCheckUtils]: 26: Hoare triple {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,299 INFO L273 TraceCheckUtils]: 27: Hoare triple {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,300 INFO L273 TraceCheckUtils]: 28: Hoare triple {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,301 INFO L273 TraceCheckUtils]: 29: Hoare triple {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,301 INFO L273 TraceCheckUtils]: 30: Hoare triple {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,302 INFO L273 TraceCheckUtils]: 31: Hoare triple {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,303 INFO L273 TraceCheckUtils]: 32: Hoare triple {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} assume !~bvslt32(~i~0, ~n~0); {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,304 INFO L273 TraceCheckUtils]: 33: Hoare triple {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,304 INFO L273 TraceCheckUtils]: 34: Hoare triple {7976#(and (= SelectionSort_~lh~0 (_ bv0 32)) (= (_ bv5 32) ~n~0))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,305 INFO L273 TraceCheckUtils]: 35: Hoare triple {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,306 INFO L273 TraceCheckUtils]: 36: Hoare triple {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,307 INFO L273 TraceCheckUtils]: 37: Hoare triple {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,307 INFO L273 TraceCheckUtils]: 38: Hoare triple {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,308 INFO L273 TraceCheckUtils]: 39: Hoare triple {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,309 INFO L273 TraceCheckUtils]: 40: Hoare triple {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,310 INFO L273 TraceCheckUtils]: 41: Hoare triple {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,311 INFO L273 TraceCheckUtils]: 42: Hoare triple {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,311 INFO L273 TraceCheckUtils]: 43: Hoare triple {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,312 INFO L273 TraceCheckUtils]: 44: Hoare triple {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,313 INFO L273 TraceCheckUtils]: 45: Hoare triple {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !~bvslt32(~i~0, ~n~0); {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,314 INFO L273 TraceCheckUtils]: 46: Hoare triple {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,314 INFO L273 TraceCheckUtils]: 47: Hoare triple {8025#(and (= (_ bv1 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8065#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,315 INFO L273 TraceCheckUtils]: 48: Hoare triple {8065#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {8065#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,316 INFO L273 TraceCheckUtils]: 49: Hoare triple {8065#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8065#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,317 INFO L273 TraceCheckUtils]: 50: Hoare triple {8065#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {8065#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,317 INFO L273 TraceCheckUtils]: 51: Hoare triple {8065#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {8065#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,318 INFO L273 TraceCheckUtils]: 52: Hoare triple {8065#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8065#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,319 INFO L273 TraceCheckUtils]: 53: Hoare triple {8065#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {8065#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,320 INFO L273 TraceCheckUtils]: 54: Hoare triple {8065#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {8065#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,320 INFO L273 TraceCheckUtils]: 55: Hoare triple {8065#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !~bvslt32(~i~0, ~n~0); {8065#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,321 INFO L273 TraceCheckUtils]: 56: Hoare triple {8065#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8065#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,322 INFO L273 TraceCheckUtils]: 57: Hoare triple {8065#(and (= (_ bv2 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8096#(and (= (_ bv3 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,323 INFO L273 TraceCheckUtils]: 58: Hoare triple {8096#(and (= (_ bv3 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {8096#(and (= (_ bv3 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,324 INFO L273 TraceCheckUtils]: 59: Hoare triple {8096#(and (= (_ bv3 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8096#(and (= (_ bv3 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,324 INFO L273 TraceCheckUtils]: 60: Hoare triple {8096#(and (= (_ bv3 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {8096#(and (= (_ bv3 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,325 INFO L273 TraceCheckUtils]: 61: Hoare triple {8096#(and (= (_ bv3 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {8096#(and (= (_ bv3 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,326 INFO L273 TraceCheckUtils]: 62: Hoare triple {8096#(and (= (_ bv3 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !~bvslt32(~i~0, ~n~0); {8096#(and (= (_ bv3 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,327 INFO L273 TraceCheckUtils]: 63: Hoare triple {8096#(and (= (_ bv3 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8096#(and (= (_ bv3 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,327 INFO L273 TraceCheckUtils]: 64: Hoare triple {8096#(and (= (_ bv3 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8118#(and (= (_ bv4 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} is VALID [2018-11-23 11:25:59,328 INFO L273 TraceCheckUtils]: 65: Hoare triple {8118#(and (= (_ bv4 32) SelectionSort_~lh~0) (= (_ bv5 32) ~n~0))} assume !~bvslt32(~lh~0, ~n~0); {7917#false} is VALID [2018-11-23 11:25:59,328 INFO L273 TraceCheckUtils]: 66: Hoare triple {7917#false} assume true; {7917#false} is VALID [2018-11-23 11:25:59,329 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {7917#false} {7924#(= (_ bv5 32) ~n~0)} #88#return; {7917#false} is VALID [2018-11-23 11:25:59,329 INFO L273 TraceCheckUtils]: 68: Hoare triple {7917#false} ~i~1 := 0bv32; {7917#false} is VALID [2018-11-23 11:25:59,329 INFO L273 TraceCheckUtils]: 69: Hoare triple {7917#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {7917#false} is VALID [2018-11-23 11:25:59,329 INFO L256 TraceCheckUtils]: 70: Hoare triple {7917#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {7917#false} is VALID [2018-11-23 11:25:59,329 INFO L273 TraceCheckUtils]: 71: Hoare triple {7917#false} ~cond := #in~cond; {7917#false} is VALID [2018-11-23 11:25:59,330 INFO L273 TraceCheckUtils]: 72: Hoare triple {7917#false} assume 0bv32 == ~cond; {7917#false} is VALID [2018-11-23 11:25:59,330 INFO L273 TraceCheckUtils]: 73: Hoare triple {7917#false} assume !false; {7917#false} is VALID [2018-11-23 11:25:59,339 INFO L134 CoverageAnalysis]: Checked inductivity of 228 backedges. 0 proven. 163 refuted. 0 times theorem prover too weak. 65 trivial. 0 not checked. [2018-11-23 11:25:59,339 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:25:59,820 INFO L273 TraceCheckUtils]: 73: Hoare triple {7917#false} assume !false; {7917#false} is VALID [2018-11-23 11:25:59,820 INFO L273 TraceCheckUtils]: 72: Hoare triple {7917#false} assume 0bv32 == ~cond; {7917#false} is VALID [2018-11-23 11:25:59,821 INFO L273 TraceCheckUtils]: 71: Hoare triple {7917#false} ~cond := #in~cond; {7917#false} is VALID [2018-11-23 11:25:59,821 INFO L256 TraceCheckUtils]: 70: Hoare triple {7917#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {7917#false} is VALID [2018-11-23 11:25:59,821 INFO L273 TraceCheckUtils]: 69: Hoare triple {7917#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {7917#false} is VALID [2018-11-23 11:25:59,821 INFO L273 TraceCheckUtils]: 68: Hoare triple {7917#false} ~i~1 := 0bv32; {7917#false} is VALID [2018-11-23 11:25:59,821 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {8168#(not (bvslt (_ bv4 32) ~n~0))} {8164#(bvslt (_ bv4 32) ~n~0)} #88#return; {7917#false} is VALID [2018-11-23 11:25:59,822 INFO L273 TraceCheckUtils]: 66: Hoare triple {8168#(not (bvslt (_ bv4 32) ~n~0))} assume true; {8168#(not (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:59,822 INFO L273 TraceCheckUtils]: 65: Hoare triple {8175#(or (bvslt SelectionSort_~lh~0 ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !~bvslt32(~lh~0, ~n~0); {8168#(not (bvslt (_ bv4 32) ~n~0))} is VALID [2018-11-23 11:25:59,823 INFO L273 TraceCheckUtils]: 64: Hoare triple {8179#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8175#(or (bvslt SelectionSort_~lh~0 ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,823 INFO L273 TraceCheckUtils]: 63: Hoare triple {8179#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8179#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,823 INFO L273 TraceCheckUtils]: 62: Hoare triple {8179#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !~bvslt32(~i~0, ~n~0); {8179#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,824 INFO L273 TraceCheckUtils]: 61: Hoare triple {8179#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {8179#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,824 INFO L273 TraceCheckUtils]: 60: Hoare triple {8179#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {8179#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,824 INFO L273 TraceCheckUtils]: 59: Hoare triple {8179#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8179#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,825 INFO L273 TraceCheckUtils]: 58: Hoare triple {8179#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {8179#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,849 INFO L273 TraceCheckUtils]: 57: Hoare triple {8201#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8179#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv1 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,850 INFO L273 TraceCheckUtils]: 56: Hoare triple {8201#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8201#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,850 INFO L273 TraceCheckUtils]: 55: Hoare triple {8201#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !~bvslt32(~i~0, ~n~0); {8201#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,850 INFO L273 TraceCheckUtils]: 54: Hoare triple {8201#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {8201#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,851 INFO L273 TraceCheckUtils]: 53: Hoare triple {8201#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {8201#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,851 INFO L273 TraceCheckUtils]: 52: Hoare triple {8201#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8201#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,851 INFO L273 TraceCheckUtils]: 51: Hoare triple {8201#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {8201#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,852 INFO L273 TraceCheckUtils]: 50: Hoare triple {8201#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {8201#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,852 INFO L273 TraceCheckUtils]: 49: Hoare triple {8201#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8201#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,852 INFO L273 TraceCheckUtils]: 48: Hoare triple {8201#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {8201#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,890 INFO L273 TraceCheckUtils]: 47: Hoare triple {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8201#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv2 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,891 INFO L273 TraceCheckUtils]: 46: Hoare triple {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,891 INFO L273 TraceCheckUtils]: 45: Hoare triple {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !~bvslt32(~i~0, ~n~0); {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,892 INFO L273 TraceCheckUtils]: 44: Hoare triple {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,892 INFO L273 TraceCheckUtils]: 43: Hoare triple {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,892 INFO L273 TraceCheckUtils]: 42: Hoare triple {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,893 INFO L273 TraceCheckUtils]: 41: Hoare triple {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,893 INFO L273 TraceCheckUtils]: 40: Hoare triple {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,894 INFO L273 TraceCheckUtils]: 39: Hoare triple {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,894 INFO L273 TraceCheckUtils]: 38: Hoare triple {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,895 INFO L273 TraceCheckUtils]: 37: Hoare triple {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,895 INFO L273 TraceCheckUtils]: 36: Hoare triple {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,896 INFO L273 TraceCheckUtils]: 35: Hoare triple {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,921 INFO L273 TraceCheckUtils]: 34: Hoare triple {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8232#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv3 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,922 INFO L273 TraceCheckUtils]: 33: Hoare triple {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,922 INFO L273 TraceCheckUtils]: 32: Hoare triple {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !~bvslt32(~i~0, ~n~0); {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,922 INFO L273 TraceCheckUtils]: 31: Hoare triple {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,923 INFO L273 TraceCheckUtils]: 30: Hoare triple {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,923 INFO L273 TraceCheckUtils]: 29: Hoare triple {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,924 INFO L273 TraceCheckUtils]: 28: Hoare triple {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,924 INFO L273 TraceCheckUtils]: 27: Hoare triple {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,924 INFO L273 TraceCheckUtils]: 26: Hoare triple {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,925 INFO L273 TraceCheckUtils]: 25: Hoare triple {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,925 INFO L273 TraceCheckUtils]: 24: Hoare triple {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,925 INFO L273 TraceCheckUtils]: 23: Hoare triple {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,926 INFO L273 TraceCheckUtils]: 22: Hoare triple {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,927 INFO L273 TraceCheckUtils]: 21: Hoare triple {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,928 INFO L273 TraceCheckUtils]: 20: Hoare triple {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,928 INFO L273 TraceCheckUtils]: 19: Hoare triple {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,929 INFO L273 TraceCheckUtils]: 18: Hoare triple {7916#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {8272#(or (bvslt (bvadd SelectionSort_~lh~0 (_ bv4 32)) ~n~0) (not (bvslt (_ bv4 32) ~n~0)))} is VALID [2018-11-23 11:25:59,929 INFO L256 TraceCheckUtils]: 17: Hoare triple {8164#(bvslt (_ bv4 32) ~n~0)} call SelectionSort(); {7916#true} is VALID [2018-11-23 11:25:59,930 INFO L273 TraceCheckUtils]: 16: Hoare triple {8164#(bvslt (_ bv4 32) ~n~0)} assume !~bvsge32(~i~1, 0bv32); {8164#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:59,930 INFO L273 TraceCheckUtils]: 15: Hoare triple {8164#(bvslt (_ bv4 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {8164#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:59,931 INFO L273 TraceCheckUtils]: 14: Hoare triple {8164#(bvslt (_ bv4 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {8164#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:59,931 INFO L273 TraceCheckUtils]: 13: Hoare triple {8164#(bvslt (_ bv4 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {8164#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:59,932 INFO L273 TraceCheckUtils]: 12: Hoare triple {8164#(bvslt (_ bv4 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {8164#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:59,932 INFO L273 TraceCheckUtils]: 11: Hoare triple {8164#(bvslt (_ bv4 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {8164#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:59,933 INFO L273 TraceCheckUtils]: 10: Hoare triple {8164#(bvslt (_ bv4 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {8164#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:59,933 INFO L273 TraceCheckUtils]: 9: Hoare triple {8164#(bvslt (_ bv4 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {8164#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:59,934 INFO L273 TraceCheckUtils]: 8: Hoare triple {8164#(bvslt (_ bv4 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {8164#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:59,934 INFO L273 TraceCheckUtils]: 7: Hoare triple {8164#(bvslt (_ bv4 32) ~n~0)} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {8164#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:59,935 INFO L273 TraceCheckUtils]: 6: Hoare triple {8164#(bvslt (_ bv4 32) ~n~0)} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {8164#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:59,935 INFO L273 TraceCheckUtils]: 5: Hoare triple {8164#(bvslt (_ bv4 32) ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {8164#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:59,936 INFO L256 TraceCheckUtils]: 4: Hoare triple {8164#(bvslt (_ bv4 32) ~n~0)} call #t~ret9 := main(); {8164#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:59,937 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8164#(bvslt (_ bv4 32) ~n~0)} {7916#true} #84#return; {8164#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:59,937 INFO L273 TraceCheckUtils]: 2: Hoare triple {8164#(bvslt (_ bv4 32) ~n~0)} assume true; {8164#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:59,938 INFO L273 TraceCheckUtils]: 1: Hoare triple {7916#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {8164#(bvslt (_ bv4 32) ~n~0)} is VALID [2018-11-23 11:25:59,939 INFO L256 TraceCheckUtils]: 0: Hoare triple {7916#true} call ULTIMATE.init(); {7916#true} is VALID [2018-11-23 11:25:59,949 INFO L134 CoverageAnalysis]: Checked inductivity of 228 backedges. 0 proven. 163 refuted. 0 times theorem prover too weak. 65 trivial. 0 not checked. [2018-11-23 11:25:59,955 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:25:59,955 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9] total 15 [2018-11-23 11:25:59,955 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 74 [2018-11-23 11:25:59,956 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:25:59,956 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 11:26:00,184 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:26:00,184 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 11:26:00,184 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 11:26:00,184 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=152, Unknown=0, NotChecked=0, Total=210 [2018-11-23 11:26:00,185 INFO L87 Difference]: Start difference. First operand 294 states and 389 transitions. Second operand 15 states. [2018-11-23 11:26:02,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:26:02,723 INFO L93 Difference]: Finished difference Result 309 states and 404 transitions. [2018-11-23 11:26:02,723 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 11:26:02,723 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 74 [2018-11-23 11:26:02,723 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:26:02,723 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 11:26:02,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 87 transitions. [2018-11-23 11:26:02,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 11:26:02,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 87 transitions. [2018-11-23 11:26:02,726 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 87 transitions. [2018-11-23 11:26:03,303 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:26:03,312 INFO L225 Difference]: With dead ends: 309 [2018-11-23 11:26:03,312 INFO L226 Difference]: Without dead ends: 296 [2018-11-23 11:26:03,313 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 148 GetRequests, 133 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=68, Invalid=172, Unknown=0, NotChecked=0, Total=240 [2018-11-23 11:26:03,314 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 296 states. [2018-11-23 11:26:03,959 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 296 to 291. [2018-11-23 11:26:03,959 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:26:03,959 INFO L82 GeneralOperation]: Start isEquivalent. First operand 296 states. Second operand 291 states. [2018-11-23 11:26:03,959 INFO L74 IsIncluded]: Start isIncluded. First operand 296 states. Second operand 291 states. [2018-11-23 11:26:03,959 INFO L87 Difference]: Start difference. First operand 296 states. Second operand 291 states. [2018-11-23 11:26:03,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:26:03,968 INFO L93 Difference]: Finished difference Result 296 states and 389 transitions. [2018-11-23 11:26:03,968 INFO L276 IsEmpty]: Start isEmpty. Operand 296 states and 389 transitions. [2018-11-23 11:26:03,969 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:26:03,969 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:26:03,969 INFO L74 IsIncluded]: Start isIncluded. First operand 291 states. Second operand 296 states. [2018-11-23 11:26:03,969 INFO L87 Difference]: Start difference. First operand 291 states. Second operand 296 states. [2018-11-23 11:26:03,978 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:26:03,978 INFO L93 Difference]: Finished difference Result 296 states and 389 transitions. [2018-11-23 11:26:03,978 INFO L276 IsEmpty]: Start isEmpty. Operand 296 states and 389 transitions. [2018-11-23 11:26:03,979 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:26:03,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:26:03,979 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:26:03,979 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:26:03,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 291 states. [2018-11-23 11:26:03,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 291 states to 291 states and 384 transitions. [2018-11-23 11:26:03,989 INFO L78 Accepts]: Start accepts. Automaton has 291 states and 384 transitions. Word has length 74 [2018-11-23 11:26:03,989 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:26:03,989 INFO L480 AbstractCegarLoop]: Abstraction has 291 states and 384 transitions. [2018-11-23 11:26:03,989 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 11:26:03,989 INFO L276 IsEmpty]: Start isEmpty. Operand 291 states and 384 transitions. [2018-11-23 11:26:03,990 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2018-11-23 11:26:03,990 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:26:03,990 INFO L402 BasicCegarLoop]: trace histogram [10, 10, 10, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:26:03,991 INFO L423 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:26:03,991 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:26:03,991 INFO L82 PathProgramCache]: Analyzing trace with hash -833747949, now seen corresponding path program 8 times [2018-11-23 11:26:03,992 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:26:03,992 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 15 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 15 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:26:04,020 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 11:26:04,581 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 11:26:04,581 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:26:04,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:26:04,733 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:26:04,780 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 12 [2018-11-23 11:26:04,868 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:26:04,881 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 12 treesize of output 15 [2018-11-23 11:26:04,884 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-23 11:26:04,898 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:26:04,939 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:26:04,940 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:29, output treesize:59 [2018-11-23 11:26:04,944 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:26:04,944 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_53|]. (let ((.cse0 (select |#memory_int| |~#array~0.base|))) (and (= (_ bv0 32) (select .cse0 |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select .cse0 (bvadd |~#array~0.offset| (_ bv4 32)))) (= |#valid| (store (store |v_#valid_53| (_ bv0 32) (_ bv0 1)) |~#array~0.base| (_ bv1 1))))) [2018-11-23 11:26:04,945 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse4 (select |#memory_int| |~#array~0.base|))) (let ((.cse0 (= (select |#valid| |~#array~0.base|) (_ bv1 1))) (.cse1 (= (_ bv0 32) (select .cse4 |~#array~0.offset|))) (.cse2 (= (_ bv0 32) |~#array~0.offset|)) (.cse3 (= (_ bv0 32) (select .cse4 (bvadd |~#array~0.offset| (_ bv4 32)))))) (or (and .cse0 .cse1 .cse2 .cse3 (= (select |#valid| (_ bv0 32)) (_ bv0 1))) (and .cse0 .cse1 (= (_ bv0 32) |~#array~0.base|) .cse2 .cse3)))) [2018-11-23 11:26:05,078 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:26:05,079 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:26:05,080 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 30 [2018-11-23 11:26:05,082 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:26:05,206 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:26:05,225 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:26:05,228 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:26:05,229 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 31 [2018-11-23 11:26:05,231 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:26:05,268 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:26:05,269 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:79, output treesize:27 [2018-11-23 11:26:05,278 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:26:05,278 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_1, |v_#valid_54|]. (let ((.cse4 (select |#memory_int| |~#array~0.base|))) (let ((.cse0 (= (_ bv0 32) (select .cse4 |~#array~0.offset|))) (.cse1 (= (_ bv0 32) |main_~#array~1.offset|)) (.cse2 (= (_ bv0 32) |~#array~0.offset|)) (.cse3 (= (_ bv0 32) (select .cse4 (bvadd |~#array~0.offset| (_ bv4 32)))))) (or (and .cse0 .cse1 .cse2 (= (_ bv0 1) (bvadd (select v_prenex_1 |~#array~0.base|) (_ bv1 1))) (= (_ bv0 1) (select v_prenex_1 (_ bv0 32))) .cse3 (= (_ bv0 1) (select v_prenex_1 |main_~#array~1.base|))) (and (= (_ bv0 1) (bvadd (select |v_#valid_54| |~#array~0.base|) (_ bv1 1))) (= (_ bv0 32) |~#array~0.base|) .cse0 .cse1 .cse2 (= (_ bv0 1) (select |v_#valid_54| |main_~#array~1.base|)) .cse3)))) [2018-11-23 11:26:05,278 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |~#array~0.base|))) (and (= (_ bv0 32) (select .cse0 |~#array~0.offset|)) (= (_ bv0 32) |main_~#array~1.offset|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select .cse0 (bvadd |~#array~0.offset| (_ bv4 32)))))) [2018-11-23 11:26:05,342 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 33 [2018-11-23 11:26:05,349 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-23 11:26:05,350 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:26:05,364 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:26:05,393 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:26:05,393 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:42, output treesize:38 [2018-11-23 11:26:05,438 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:26:05,438 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_102|, main_~i~1]. (let ((.cse0 (select |v_#memory_int_102| |~#array~0.base|))) (and (= (_ bv0 32) |main_~#array~1.offset|) (= (select .cse0 |~#array~0.offset|) (_ bv0 32)) (= (store |v_#memory_int_102| |main_~#array~1.base| (store (select |v_#memory_int_102| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1)) |#memory_int|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select .cse0 (bvadd |~#array~0.offset| (_ bv4 32)))))) [2018-11-23 11:26:05,439 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [main_~i~1]. (let ((.cse0 (select |#memory_int| |~#array~0.base|))) (and (= (_ bv0 32) (select .cse0 |~#array~0.offset|)) (= (_ bv0 32) |main_~#array~1.offset|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)))) (= (_ bv0 32) (select .cse0 (bvadd |~#array~0.offset| (_ bv4 32)))))) [2018-11-23 11:26:05,594 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 42 [2018-11-23 11:26:05,652 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 22 treesize of output 35 [2018-11-23 11:26:05,655 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-23 11:26:05,703 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:26:05,779 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 4 dim-0 vars, and 2 xjuncts. [2018-11-23 11:26:05,779 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:53, output treesize:99 [2018-11-23 11:26:05,910 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:26:05,911 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_103|, main_~i~1, v_prenex_2]. (let ((.cse0 (select |v_#memory_int_103| |main_~#array~1.base|)) (.cse1 (select |v_#memory_int_103| |~#array~0.base|))) (and (= (_ bv0 32) |main_~#array~1.offset|) (= (store |v_#memory_int_103| |main_~#array~1.base| (store .cse0 (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1)) |#memory_int|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (select .cse1 |~#array~0.offset|) (_ bv0 32)) (= v_prenex_2 (select .cse0 (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_prenex_2)))) (= (_ bv0 32) (select .cse1 (bvadd |~#array~0.offset| (_ bv4 32)))))) [2018-11-23 11:26:05,911 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_4, v_prenex_3, main_~i~1, v_prenex_2]. (let ((.cse7 (select |#memory_int| |~#array~0.base|))) (let ((.cse0 (= (_ bv0 32) (select .cse7 |~#array~0.offset|))) (.cse1 (= (_ bv0 32) |main_~#array~1.offset|)) (.cse3 (not (= |main_~#array~1.base| |~#array~0.base|))) (.cse4 (= (_ bv0 32) |~#array~0.offset|)) (.cse2 (select |#memory_int| |main_~#array~1.base|)) (.cse5 (= (_ bv0 32) (select .cse7 (bvadd |~#array~0.offset| (_ bv4 32)))))) (or (and .cse0 .cse1 (= (select .cse2 (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_prenex_4))) v_prenex_4) .cse3 .cse4 (= v_prenex_3 (select .cse2 (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_prenex_3)))) .cse5) (let ((.cse6 (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)))) (and .cse0 .cse1 .cse3 (= (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_prenex_2)) .cse6) .cse4 (= main_~i~1 (select .cse2 .cse6)) .cse5))))) [2018-11-23 11:26:12,070 WARN L180 SmtUtils]: Spent 2.09 s on a formula simplification. DAG size of input: 43 DAG size of output: 29 [2018-11-23 11:26:12,221 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 42 [2018-11-23 11:26:12,259 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 22 treesize of output 35 [2018-11-23 11:26:12,263 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-23 11:26:12,315 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:26:12,411 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 6 dim-0 vars, and 2 xjuncts. [2018-11-23 11:26:12,412 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:60, output treesize:113 [2018-11-23 11:26:13,850 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:26:13,851 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_104|, main_~i~1, v_prenex_5, v_prenex_2]. (let ((.cse0 (select |v_#memory_int_104| |main_~#array~1.base|)) (.cse1 (bvmul (_ bv4 32) v_prenex_5)) (.cse2 (select |v_#memory_int_104| |~#array~0.base|))) (and (= (store |v_#memory_int_104| |main_~#array~1.base| (store .cse0 (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1)) |#memory_int|) (= (_ bv0 32) |main_~#array~1.offset|) (= v_prenex_5 (select .cse0 (bvadd |main_~#array~1.offset| .cse1))) (= (bvmul (_ bv4 32) v_prenex_2) .cse1) (= (_ bv0 32) (select .cse2 (bvadd |~#array~0.offset| (_ bv4 32)))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select .cse2 |~#array~0.offset|)))) [2018-11-23 11:26:13,851 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_5, v_prenex_2, main_~i~1, v_prenex_8, v_prenex_7, v_prenex_6]. (let ((.cse9 (select |#memory_int| |~#array~0.base|))) (let ((.cse0 (= (_ bv0 32) (select .cse9 |~#array~0.offset|))) (.cse1 (= (_ bv0 32) |main_~#array~1.offset|)) (.cse4 (not (= |main_~#array~1.base| |~#array~0.base|))) (.cse5 (= (_ bv0 32) |~#array~0.offset|)) (.cse3 (select |#memory_int| |main_~#array~1.base|)) (.cse6 (= (_ bv0 32) (select .cse9 (bvadd |~#array~0.offset| (_ bv4 32)))))) (or (let ((.cse2 (bvmul (_ bv4 32) v_prenex_5))) (and .cse0 .cse1 (= (bvmul (_ bv4 32) v_prenex_2) .cse2) (= (select .cse3 (bvadd |main_~#array~1.offset| .cse2)) v_prenex_5) .cse4 .cse5 (= main_~i~1 (select .cse3 (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)))) .cse6)) (let ((.cse7 (bvmul (_ bv4 32) v_prenex_6)) (.cse8 (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_prenex_8)))) (and .cse0 .cse1 (= (bvmul (_ bv4 32) v_prenex_7) .cse7) .cse4 (= (bvadd |main_~#array~1.offset| .cse7) .cse8) .cse5 (= v_prenex_8 (select .cse3 .cse8)) .cse6))))) [2018-11-23 11:26:22,046 WARN L180 SmtUtils]: Spent 2.11 s on a formula simplification. DAG size of input: 50 DAG size of output: 32 [2018-11-23 11:26:22,160 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 42 [2018-11-23 11:26:22,240 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 22 treesize of output 35 [2018-11-23 11:26:22,243 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-23 11:26:22,301 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:26:22,503 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-2 vars, End of recursive call: 8 dim-0 vars, and 2 xjuncts. [2018-11-23 11:26:22,503 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 5 variables, input treesize:67, output treesize:127 [2018-11-23 11:26:25,177 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:26:25,177 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_105|, main_~i~1, v_prenex_6, v_prenex_8, v_prenex_7]. (let ((.cse1 (select |v_#memory_int_105| |main_~#array~1.base|)) (.cse3 (bvmul (_ bv4 32) v_prenex_8)) (.cse2 (bvmul (_ bv4 32) v_prenex_6)) (.cse0 (select |v_#memory_int_105| |~#array~0.base|))) (and (= (select .cse0 |~#array~0.offset|) (_ bv0 32)) (= (store |v_#memory_int_105| |main_~#array~1.base| (store .cse1 (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1)) |#memory_int|) (= (_ bv0 32) |main_~#array~1.offset|) (= .cse2 .cse3) (= (select .cse1 (bvadd |main_~#array~1.offset| .cse3)) v_prenex_8) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (bvmul (_ bv4 32) v_prenex_7) .cse2) (= (select .cse0 (bvadd |~#array~0.offset| (_ bv4 32))) (_ bv0 32)))) [2018-11-23 11:26:25,178 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_8, v_prenex_6, v_prenex_7, main_~i~1, v_prenex_12, v_prenex_11, v_prenex_9, v_prenex_10]. (let ((.cse11 (select |#memory_int| |~#array~0.base|))) (let ((.cse0 (= (_ bv0 32) (select .cse11 |~#array~0.offset|))) (.cse3 (= (_ bv0 32) |main_~#array~1.offset|)) (.cse5 (not (= |main_~#array~1.base| |~#array~0.base|))) (.cse6 (= (_ bv0 32) |~#array~0.offset|)) (.cse1 (select |#memory_int| |main_~#array~1.base|)) (.cse7 (= (_ bv0 32) (select .cse11 (bvadd |~#array~0.offset| (_ bv4 32)))))) (or (let ((.cse2 (bvmul (_ bv4 32) v_prenex_8)) (.cse4 (bvmul (_ bv4 32) v_prenex_6))) (and .cse0 (= (select .cse1 (bvadd |main_~#array~1.offset| .cse2)) v_prenex_8) .cse3 (= .cse4 .cse2) .cse5 .cse6 (= (bvmul (_ bv4 32) v_prenex_7) .cse4) (= main_~i~1 (select .cse1 (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)))) .cse7)) (let ((.cse8 (bvmul (_ bv4 32) v_prenex_11)) (.cse9 (bvmul (_ bv4 32) v_prenex_9)) (.cse10 (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_prenex_12)))) (and .cse0 .cse3 (= .cse8 .cse9) .cse5 .cse6 (= (bvmul (_ bv4 32) v_prenex_10) .cse8) (= v_prenex_12 (select .cse1 .cse10)) .cse7 (= (bvadd |main_~#array~1.offset| .cse9) .cse10)))))) [2018-11-23 11:26:29,454 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 39 treesize of output 38 [2018-11-23 11:26:29,491 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 18 treesize of output 27 [2018-11-23 11:26:29,494 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-23 11:26:29,542 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:26:29,637 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-2 vars, End of recursive call: 8 dim-0 vars, and 2 xjuncts. [2018-11-23 11:26:29,638 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 5 variables, input treesize:53, output treesize:97 [2018-11-23 11:26:29,724 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:26:29,725 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_106|, |main_~#array~1.base|, main_~i~1, v_prenex_13, v_prenex_2]. (let ((.cse0 (select |v_#memory_int_106| |main_~#array~1.base|)) (.cse2 (select |v_#memory_int_106| |~#array~0.base|)) (.cse1 (bvmul (_ bv4 32) v_prenex_13))) (and (= v_prenex_13 (select .cse0 .cse1)) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= |#memory_int| (store |v_#memory_int_106| |main_~#array~1.base| (store .cse0 (bvmul (_ bv4 32) main_~i~1) main_~i~1))) (= (_ bv0 32) (select .cse2 |~#array~0.offset|)) (= (_ bv0 32) (select .cse2 (bvadd |~#array~0.offset| (_ bv4 32)))) (= (bvmul (_ bv4 32) v_prenex_2) .cse1))) [2018-11-23 11:26:29,725 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [|main_~#array~1.base|, main_~i~1, v_prenex_13, v_prenex_2, v_prenex_14, v_prenex_15, v_prenex_17, v_prenex_16]. (let ((.cse7 (select |#memory_int| |~#array~0.base|))) (let ((.cse1 (= (_ bv0 32) (select .cse7 |~#array~0.offset|))) (.cse3 (= (_ bv0 32) |~#array~0.offset|)) (.cse4 (= (_ bv0 32) (select .cse7 (bvadd |~#array~0.offset| (_ bv4 32)))))) (or (let ((.cse0 (select |#memory_int| |main_~#array~1.base|)) (.cse2 (bvmul (_ bv4 32) v_prenex_13))) (and (= main_~i~1 (select .cse0 (bvmul (_ bv4 32) main_~i~1))) .cse1 (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select .cse0 .cse2) v_prenex_13) .cse3 .cse4 (= (bvmul (_ bv4 32) v_prenex_2) .cse2))) (let ((.cse5 (bvmul (_ bv4 32) v_prenex_15)) (.cse6 (bvmul (_ bv4 32) v_prenex_17))) (and (= v_prenex_15 (select (select |#memory_int| v_prenex_14) .cse5)) .cse1 (= .cse6 .cse5) (not (= v_prenex_14 |~#array~0.base|)) .cse3 .cse4 (= (bvmul (_ bv4 32) v_prenex_16) .cse6)))))) [2018-11-23 11:26:33,897 WARN L180 SmtUtils]: Spent 4.10 s on a formula simplification. DAG size of input: 48 DAG size of output: 29 [2018-11-23 11:26:33,965 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 26 treesize of output 24 [2018-11-23 11:26:33,978 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:26:33,980 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 11:26:33,982 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:26:34,004 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 7 treesize of output 1 [2018-11-23 11:26:34,005 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:26:34,008 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:26:34,040 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:26:34,041 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 5 variables, input treesize:50, output treesize:7 [2018-11-23 11:26:34,047 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:26:34,047 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_BEFORE_CALL_2|, v_prenex_17, v_prenex_15, v_prenex_14, v_prenex_16]. (let ((.cse0 (select |v_#memory_int_BEFORE_CALL_2| |~#array~0.base|)) (.cse2 (bvmul (_ bv4 32) v_prenex_15)) (.cse1 (bvmul (_ bv4 32) v_prenex_17))) (and (= (_ bv0 32) (select .cse0 (bvadd |~#array~0.offset| (_ bv4 32)))) (= .cse1 .cse2) (= (select .cse0 |~#array~0.offset|) (_ bv0 32)) (= (select (select |v_#memory_int_BEFORE_CALL_2| v_prenex_14) .cse2) v_prenex_15) (not (= v_prenex_14 |~#array~0.base|)) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= (bvmul (_ bv4 32) v_prenex_16) .cse1))) [2018-11-23 11:26:34,047 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|)) [2018-11-23 11:26:34,576 INFO L256 TraceCheckUtils]: 0: Hoare triple {9804#true} call ULTIMATE.init(); {9804#true} is VALID [2018-11-23 11:26:34,580 INFO L273 TraceCheckUtils]: 1: Hoare triple {9804#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {9812#(or (and (= (_ bv0 32) |~#array~0.base|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (bvadd (select |#valid| |~#array~0.base|) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))))) (and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (bvadd (select |#valid| |~#array~0.base|) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (= (select |#valid| (_ bv0 32)) (_ bv0 1))))} is VALID [2018-11-23 11:26:34,581 INFO L273 TraceCheckUtils]: 2: Hoare triple {9812#(or (and (= (_ bv0 32) |~#array~0.base|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (bvadd (select |#valid| |~#array~0.base|) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))))) (and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (bvadd (select |#valid| |~#array~0.base|) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (= (select |#valid| (_ bv0 32)) (_ bv0 1))))} assume true; {9812#(or (and (= (_ bv0 32) |~#array~0.base|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (bvadd (select |#valid| |~#array~0.base|) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))))) (and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (bvadd (select |#valid| |~#array~0.base|) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (= (select |#valid| (_ bv0 32)) (_ bv0 1))))} is VALID [2018-11-23 11:26:34,581 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9812#(or (and (= (_ bv0 32) |~#array~0.base|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (bvadd (select |#valid| |~#array~0.base|) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))))) (and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (bvadd (select |#valid| |~#array~0.base|) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (= (select |#valid| (_ bv0 32)) (_ bv0 1))))} {9804#true} #84#return; {9812#(or (and (= (_ bv0 32) |~#array~0.base|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (bvadd (select |#valid| |~#array~0.base|) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))))) (and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (bvadd (select |#valid| |~#array~0.base|) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (= (select |#valid| (_ bv0 32)) (_ bv0 1))))} is VALID [2018-11-23 11:26:34,582 INFO L256 TraceCheckUtils]: 4: Hoare triple {9812#(or (and (= (_ bv0 32) |~#array~0.base|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (bvadd (select |#valid| |~#array~0.base|) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))))) (and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (bvadd (select |#valid| |~#array~0.base|) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (= (select |#valid| (_ bv0 32)) (_ bv0 1))))} call #t~ret9 := main(); {9812#(or (and (= (_ bv0 32) |~#array~0.base|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (bvadd (select |#valid| |~#array~0.base|) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))))) (and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (bvadd (select |#valid| |~#array~0.base|) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (= (select |#valid| (_ bv0 32)) (_ bv0 1))))} is VALID [2018-11-23 11:26:34,585 INFO L273 TraceCheckUtils]: 5: Hoare triple {9812#(or (and (= (_ bv0 32) |~#array~0.base|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (bvadd (select |#valid| |~#array~0.base|) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))))) (and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (bvadd (select |#valid| |~#array~0.base|) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (= (select |#valid| (_ bv0 32)) (_ bv0 1))))} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {9825#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |main_~#array~1.offset|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))))} is VALID [2018-11-23 11:26:34,588 INFO L273 TraceCheckUtils]: 6: Hoare triple {9825#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |main_~#array~1.offset|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {9829#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |main_~#array~1.offset|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (exists ((main_~i~1 (_ BitVec 32))) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1))))))} is VALID [2018-11-23 11:26:34,589 INFO L273 TraceCheckUtils]: 7: Hoare triple {9829#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |main_~#array~1.offset|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (exists ((main_~i~1 (_ BitVec 32))) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1))))))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {9829#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |main_~#array~1.offset|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (exists ((main_~i~1 (_ BitVec 32))) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1))))))} is VALID [2018-11-23 11:26:34,594 INFO L273 TraceCheckUtils]: 8: Hoare triple {9829#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |main_~#array~1.offset|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (exists ((main_~i~1 (_ BitVec 32))) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1))))))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {9836#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |main_~#array~1.offset|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (exists ((main_~i~1 (_ BitVec 32)) (v_prenex_2 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) v_prenex_2) (bvmul (_ bv4 32) main_~i~1)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)))))))} is VALID [2018-11-23 11:26:34,597 INFO L273 TraceCheckUtils]: 9: Hoare triple {9836#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |main_~#array~1.offset|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (exists ((main_~i~1 (_ BitVec 32)) (v_prenex_2 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) v_prenex_2) (bvmul (_ bv4 32) main_~i~1)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)))))))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {9836#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |main_~#array~1.offset|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (exists ((main_~i~1 (_ BitVec 32)) (v_prenex_2 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) v_prenex_2) (bvmul (_ bv4 32) main_~i~1)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)))))))} is VALID [2018-11-23 11:26:34,600 INFO L273 TraceCheckUtils]: 10: Hoare triple {9836#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |main_~#array~1.offset|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (exists ((main_~i~1 (_ BitVec 32)) (v_prenex_2 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) v_prenex_2) (bvmul (_ bv4 32) main_~i~1)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)))))))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {9843#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |main_~#array~1.offset|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (exists ((v_prenex_8 (_ BitVec 32)) (v_prenex_7 (_ BitVec 32)) (v_prenex_6 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) v_prenex_6) (bvmul (_ bv4 32) v_prenex_8)) (= v_prenex_8 (select (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_prenex_8)))) (= (bvmul (_ bv4 32) v_prenex_7) (bvmul (_ bv4 32) v_prenex_6)))))} is VALID [2018-11-23 11:26:34,604 INFO L273 TraceCheckUtils]: 11: Hoare triple {9843#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |main_~#array~1.offset|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (exists ((v_prenex_8 (_ BitVec 32)) (v_prenex_7 (_ BitVec 32)) (v_prenex_6 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) v_prenex_6) (bvmul (_ bv4 32) v_prenex_8)) (= v_prenex_8 (select (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_prenex_8)))) (= (bvmul (_ bv4 32) v_prenex_7) (bvmul (_ bv4 32) v_prenex_6)))))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {9843#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |main_~#array~1.offset|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (exists ((v_prenex_8 (_ BitVec 32)) (v_prenex_7 (_ BitVec 32)) (v_prenex_6 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) v_prenex_6) (bvmul (_ bv4 32) v_prenex_8)) (= v_prenex_8 (select (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_prenex_8)))) (= (bvmul (_ bv4 32) v_prenex_7) (bvmul (_ bv4 32) v_prenex_6)))))} is VALID [2018-11-23 11:26:34,608 INFO L273 TraceCheckUtils]: 12: Hoare triple {9843#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |main_~#array~1.offset|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (exists ((v_prenex_8 (_ BitVec 32)) (v_prenex_7 (_ BitVec 32)) (v_prenex_6 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) v_prenex_6) (bvmul (_ bv4 32) v_prenex_8)) (= v_prenex_8 (select (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_prenex_8)))) (= (bvmul (_ bv4 32) v_prenex_7) (bvmul (_ bv4 32) v_prenex_6)))))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {9836#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |main_~#array~1.offset|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (exists ((main_~i~1 (_ BitVec 32)) (v_prenex_2 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) v_prenex_2) (bvmul (_ bv4 32) main_~i~1)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)))))))} is VALID [2018-11-23 11:26:34,611 INFO L273 TraceCheckUtils]: 13: Hoare triple {9836#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |main_~#array~1.offset|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (exists ((main_~i~1 (_ BitVec 32)) (v_prenex_2 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) v_prenex_2) (bvmul (_ bv4 32) main_~i~1)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)))))))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {9836#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |main_~#array~1.offset|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (exists ((main_~i~1 (_ BitVec 32)) (v_prenex_2 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) v_prenex_2) (bvmul (_ bv4 32) main_~i~1)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)))))))} is VALID [2018-11-23 11:26:34,615 INFO L273 TraceCheckUtils]: 14: Hoare triple {9836#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |main_~#array~1.offset|) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))) (exists ((main_~i~1 (_ BitVec 32)) (v_prenex_2 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) v_prenex_2) (bvmul (_ bv4 32) main_~i~1)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)))))))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {9856#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (exists ((v_prenex_15 (_ BitVec 32)) (v_prenex_16 (_ BitVec 32)) (v_prenex_17 (_ BitVec 32)) (v_prenex_14 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) v_prenex_17) (bvmul (_ bv4 32) v_prenex_15)) (not (= v_prenex_14 |~#array~0.base|)) (= (bvmul (_ bv4 32) v_prenex_16) (bvmul (_ bv4 32) v_prenex_17)) (= v_prenex_15 (select (select |#memory_int| v_prenex_14) (bvmul (_ bv4 32) v_prenex_15))))) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))))} is VALID [2018-11-23 11:26:34,616 INFO L273 TraceCheckUtils]: 15: Hoare triple {9856#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (exists ((v_prenex_15 (_ BitVec 32)) (v_prenex_16 (_ BitVec 32)) (v_prenex_17 (_ BitVec 32)) (v_prenex_14 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) v_prenex_17) (bvmul (_ bv4 32) v_prenex_15)) (not (= v_prenex_14 |~#array~0.base|)) (= (bvmul (_ bv4 32) v_prenex_16) (bvmul (_ bv4 32) v_prenex_17)) (= v_prenex_15 (select (select |#memory_int| v_prenex_14) (bvmul (_ bv4 32) v_prenex_15))))) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {9856#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (exists ((v_prenex_15 (_ BitVec 32)) (v_prenex_16 (_ BitVec 32)) (v_prenex_17 (_ BitVec 32)) (v_prenex_14 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) v_prenex_17) (bvmul (_ bv4 32) v_prenex_15)) (not (= v_prenex_14 |~#array~0.base|)) (= (bvmul (_ bv4 32) v_prenex_16) (bvmul (_ bv4 32) v_prenex_17)) (= v_prenex_15 (select (select |#memory_int| v_prenex_14) (bvmul (_ bv4 32) v_prenex_15))))) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))))} is VALID [2018-11-23 11:26:34,616 INFO L273 TraceCheckUtils]: 16: Hoare triple {9856#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (exists ((v_prenex_15 (_ BitVec 32)) (v_prenex_16 (_ BitVec 32)) (v_prenex_17 (_ BitVec 32)) (v_prenex_14 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) v_prenex_17) (bvmul (_ bv4 32) v_prenex_15)) (not (= v_prenex_14 |~#array~0.base|)) (= (bvmul (_ bv4 32) v_prenex_16) (bvmul (_ bv4 32) v_prenex_17)) (= v_prenex_15 (select (select |#memory_int| v_prenex_14) (bvmul (_ bv4 32) v_prenex_15))))) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))))} assume !~bvsge32(~i~1, 0bv32); {9856#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (exists ((v_prenex_15 (_ BitVec 32)) (v_prenex_16 (_ BitVec 32)) (v_prenex_17 (_ BitVec 32)) (v_prenex_14 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) v_prenex_17) (bvmul (_ bv4 32) v_prenex_15)) (not (= v_prenex_14 |~#array~0.base|)) (= (bvmul (_ bv4 32) v_prenex_16) (bvmul (_ bv4 32) v_prenex_17)) (= v_prenex_15 (select (select |#memory_int| v_prenex_14) (bvmul (_ bv4 32) v_prenex_15))))) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))))} is VALID [2018-11-23 11:26:34,617 INFO L256 TraceCheckUtils]: 17: Hoare triple {9856#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (exists ((v_prenex_15 (_ BitVec 32)) (v_prenex_16 (_ BitVec 32)) (v_prenex_17 (_ BitVec 32)) (v_prenex_14 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) v_prenex_17) (bvmul (_ bv4 32) v_prenex_15)) (not (= v_prenex_14 |~#array~0.base|)) (= (bvmul (_ bv4 32) v_prenex_16) (bvmul (_ bv4 32) v_prenex_17)) (= v_prenex_15 (select (select |#memory_int| v_prenex_14) (bvmul (_ bv4 32) v_prenex_15))))) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))))} call SelectionSort(); {9866#(and (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,618 INFO L273 TraceCheckUtils]: 18: Hoare triple {9866#(and (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {9870#(and (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} is VALID [2018-11-23 11:26:34,619 INFO L273 TraceCheckUtils]: 19: Hoare triple {9870#(and (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {9874#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) SelectionSort_~lh~0) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} is VALID [2018-11-23 11:26:34,621 INFO L273 TraceCheckUtils]: 20: Hoare triple {9874#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) SelectionSort_~lh~0) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {9878#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) SelectionSort_~lh~0) (= (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~i~0) |~#array~0.offset|)) |SelectionSort_#t~mem2|) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)) (= (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|)) |SelectionSort_#t~mem3|))} is VALID [2018-11-23 11:26:34,630 INFO L273 TraceCheckUtils]: 21: Hoare triple {9878#(and (= (bvadd SelectionSort_~i~0 (_ bv4294967295 32)) SelectionSort_~lh~0) (= (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~i~0) |~#array~0.offset|)) |SelectionSort_#t~mem2|) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)) (= (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|)) |SelectionSort_#t~mem3|))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} is VALID [2018-11-23 11:26:34,632 INFO L273 TraceCheckUtils]: 22: Hoare triple {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} is VALID [2018-11-23 11:26:34,634 INFO L273 TraceCheckUtils]: 23: Hoare triple {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} is VALID [2018-11-23 11:26:34,636 INFO L273 TraceCheckUtils]: 24: Hoare triple {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} is VALID [2018-11-23 11:26:34,638 INFO L273 TraceCheckUtils]: 25: Hoare triple {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} is VALID [2018-11-23 11:26:34,641 INFO L273 TraceCheckUtils]: 26: Hoare triple {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} is VALID [2018-11-23 11:26:34,643 INFO L273 TraceCheckUtils]: 27: Hoare triple {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} is VALID [2018-11-23 11:26:34,646 INFO L273 TraceCheckUtils]: 28: Hoare triple {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} is VALID [2018-11-23 11:26:34,649 INFO L273 TraceCheckUtils]: 29: Hoare triple {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} is VALID [2018-11-23 11:26:34,651 INFO L273 TraceCheckUtils]: 30: Hoare triple {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} is VALID [2018-11-23 11:26:34,653 INFO L273 TraceCheckUtils]: 31: Hoare triple {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} is VALID [2018-11-23 11:26:34,655 INFO L273 TraceCheckUtils]: 32: Hoare triple {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} assume !~bvslt32(~i~0, ~n~0); {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} is VALID [2018-11-23 11:26:34,657 INFO L273 TraceCheckUtils]: 33: Hoare triple {9882#(and (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|))) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (= SelectionSort_~lh~0 (_ bv0 32)))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,658 INFO L273 TraceCheckUtils]: 34: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,659 INFO L273 TraceCheckUtils]: 35: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,660 INFO L273 TraceCheckUtils]: 36: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,661 INFO L273 TraceCheckUtils]: 37: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,662 INFO L273 TraceCheckUtils]: 38: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,663 INFO L273 TraceCheckUtils]: 39: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,664 INFO L273 TraceCheckUtils]: 40: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,664 INFO L273 TraceCheckUtils]: 41: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,665 INFO L273 TraceCheckUtils]: 42: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,666 INFO L273 TraceCheckUtils]: 43: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,667 INFO L273 TraceCheckUtils]: 44: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,668 INFO L273 TraceCheckUtils]: 45: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume !~bvslt32(~i~0, ~n~0); {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,669 INFO L273 TraceCheckUtils]: 46: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,670 INFO L273 TraceCheckUtils]: 47: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,670 INFO L273 TraceCheckUtils]: 48: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,672 INFO L273 TraceCheckUtils]: 49: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,673 INFO L273 TraceCheckUtils]: 50: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,674 INFO L273 TraceCheckUtils]: 51: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,675 INFO L273 TraceCheckUtils]: 52: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,675 INFO L273 TraceCheckUtils]: 53: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,676 INFO L273 TraceCheckUtils]: 54: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,677 INFO L273 TraceCheckUtils]: 55: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume !~bvslt32(~i~0, ~n~0); {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,678 INFO L273 TraceCheckUtils]: 56: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,679 INFO L273 TraceCheckUtils]: 57: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,680 INFO L273 TraceCheckUtils]: 58: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,681 INFO L273 TraceCheckUtils]: 59: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,681 INFO L273 TraceCheckUtils]: 60: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,682 INFO L273 TraceCheckUtils]: 61: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,683 INFO L273 TraceCheckUtils]: 62: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume !~bvslt32(~i~0, ~n~0); {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,684 INFO L273 TraceCheckUtils]: 63: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,685 INFO L273 TraceCheckUtils]: 64: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,686 INFO L273 TraceCheckUtils]: 65: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,686 INFO L273 TraceCheckUtils]: 66: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume !~bvslt32(~i~0, ~n~0); {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,687 INFO L273 TraceCheckUtils]: 67: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,688 INFO L273 TraceCheckUtils]: 68: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,689 INFO L273 TraceCheckUtils]: 69: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume !~bvslt32(~lh~0, ~n~0); {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,690 INFO L273 TraceCheckUtils]: 70: Hoare triple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} assume true; {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} is VALID [2018-11-23 11:26:34,693 INFO L268 TraceCheckUtils]: 71: Hoare quadruple {9919#(and (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= (_ bv0 32) |~#array~0.offset|))} {9856#(and (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)) (exists ((v_prenex_15 (_ BitVec 32)) (v_prenex_16 (_ BitVec 32)) (v_prenex_17 (_ BitVec 32)) (v_prenex_14 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) v_prenex_17) (bvmul (_ bv4 32) v_prenex_15)) (not (= v_prenex_14 |~#array~0.base|)) (= (bvmul (_ bv4 32) v_prenex_16) (bvmul (_ bv4 32) v_prenex_17)) (= v_prenex_15 (select (select |#memory_int| v_prenex_14) (bvmul (_ bv4 32) v_prenex_15))))) (= (_ bv0 32) |~#array~0.offset|) (= (_ bv0 32) (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32)))))} #88#return; {9805#false} is VALID [2018-11-23 11:26:34,693 INFO L273 TraceCheckUtils]: 72: Hoare triple {9805#false} ~i~1 := 0bv32; {9805#false} is VALID [2018-11-23 11:26:34,693 INFO L273 TraceCheckUtils]: 73: Hoare triple {9805#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {9805#false} is VALID [2018-11-23 11:26:34,694 INFO L256 TraceCheckUtils]: 74: Hoare triple {9805#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {9805#false} is VALID [2018-11-23 11:26:34,694 INFO L273 TraceCheckUtils]: 75: Hoare triple {9805#false} ~cond := #in~cond; {9805#false} is VALID [2018-11-23 11:26:34,694 INFO L273 TraceCheckUtils]: 76: Hoare triple {9805#false} assume 0bv32 == ~cond; {9805#false} is VALID [2018-11-23 11:26:34,694 INFO L273 TraceCheckUtils]: 77: Hoare triple {9805#false} assume !false; {9805#false} is VALID [2018-11-23 11:26:34,719 INFO L134 CoverageAnalysis]: Checked inductivity of 255 backedges. 6 proven. 123 refuted. 8 times theorem prover too weak. 118 trivial. 0 not checked. [2018-11-23 11:26:34,719 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:27:14,573 INFO L273 TraceCheckUtils]: 77: Hoare triple {9805#false} assume !false; {9805#false} is VALID [2018-11-23 11:27:14,574 INFO L273 TraceCheckUtils]: 76: Hoare triple {9805#false} assume 0bv32 == ~cond; {9805#false} is VALID [2018-11-23 11:27:14,574 INFO L273 TraceCheckUtils]: 75: Hoare triple {9805#false} ~cond := #in~cond; {9805#false} is VALID [2018-11-23 11:27:14,574 INFO L256 TraceCheckUtils]: 74: Hoare triple {9805#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1bv32 else 0bv32)); {9805#false} is VALID [2018-11-23 11:27:14,574 INFO L273 TraceCheckUtils]: 73: Hoare triple {9805#false} assume !!~bvslt32(~i~1, 5bv32);call #t~mem8 := read~intINTTYPE4(~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {9805#false} is VALID [2018-11-23 11:27:14,574 INFO L273 TraceCheckUtils]: 72: Hoare triple {9805#false} ~i~1 := 0bv32; {9805#false} is VALID [2018-11-23 11:27:14,575 INFO L268 TraceCheckUtils]: 71: Hoare quadruple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} {10070#(not (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)))} #88#return; {9805#false} is VALID [2018-11-23 11:27:14,575 INFO L273 TraceCheckUtils]: 70: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume true; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,576 INFO L273 TraceCheckUtils]: 69: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume !~bvslt32(~lh~0, ~n~0); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,576 INFO L273 TraceCheckUtils]: 68: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,576 INFO L273 TraceCheckUtils]: 67: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,577 INFO L273 TraceCheckUtils]: 66: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume !~bvslt32(~i~0, ~n~0); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,577 INFO L273 TraceCheckUtils]: 65: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,577 INFO L273 TraceCheckUtils]: 64: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,578 INFO L273 TraceCheckUtils]: 63: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,578 INFO L273 TraceCheckUtils]: 62: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume !~bvslt32(~i~0, ~n~0); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,579 INFO L273 TraceCheckUtils]: 61: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,579 INFO L273 TraceCheckUtils]: 60: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,580 INFO L273 TraceCheckUtils]: 59: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,580 INFO L273 TraceCheckUtils]: 58: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,581 INFO L273 TraceCheckUtils]: 57: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,582 INFO L273 TraceCheckUtils]: 56: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,582 INFO L273 TraceCheckUtils]: 55: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume !~bvslt32(~i~0, ~n~0); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,583 INFO L273 TraceCheckUtils]: 54: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,583 INFO L273 TraceCheckUtils]: 53: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,584 INFO L273 TraceCheckUtils]: 52: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,584 INFO L273 TraceCheckUtils]: 51: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,585 INFO L273 TraceCheckUtils]: 50: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,585 INFO L273 TraceCheckUtils]: 49: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,586 INFO L273 TraceCheckUtils]: 48: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,586 INFO L273 TraceCheckUtils]: 47: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,587 INFO L273 TraceCheckUtils]: 46: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,588 INFO L273 TraceCheckUtils]: 45: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume !~bvslt32(~i~0, ~n~0); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,588 INFO L273 TraceCheckUtils]: 44: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,589 INFO L273 TraceCheckUtils]: 43: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,589 INFO L273 TraceCheckUtils]: 42: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,590 INFO L273 TraceCheckUtils]: 41: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,590 INFO L273 TraceCheckUtils]: 40: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,591 INFO L273 TraceCheckUtils]: 39: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,592 INFO L273 TraceCheckUtils]: 38: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,592 INFO L273 TraceCheckUtils]: 37: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,593 INFO L273 TraceCheckUtils]: 36: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,593 INFO L273 TraceCheckUtils]: 35: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,594 INFO L273 TraceCheckUtils]: 34: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} #t~post0 := ~lh~0;~lh~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,594 INFO L273 TraceCheckUtils]: 33: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} call #t~mem4 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32);call write~intINTTYPE4(#t~mem5, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~lh~0)), 4bv32);havoc #t~mem5;call write~intINTTYPE4(~temp~0, ~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,595 INFO L273 TraceCheckUtils]: 32: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume !~bvslt32(~i~0, ~n~0); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,595 INFO L273 TraceCheckUtils]: 31: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,597 INFO L273 TraceCheckUtils]: 30: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,598 INFO L273 TraceCheckUtils]: 29: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,598 INFO L273 TraceCheckUtils]: 28: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,599 INFO L273 TraceCheckUtils]: 27: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,599 INFO L273 TraceCheckUtils]: 26: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,599 INFO L273 TraceCheckUtils]: 25: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,600 INFO L273 TraceCheckUtils]: 24: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,600 INFO L273 TraceCheckUtils]: 23: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,600 INFO L273 TraceCheckUtils]: 22: Hoare triple {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} #t~post1 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post1);havoc #t~post1; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,601 INFO L273 TraceCheckUtils]: 21: Hoare triple {10225#(or (not (bvslt |SelectionSort_#t~mem2| |SelectionSort_#t~mem3|)) (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume ~bvslt32(#t~mem2, #t~mem3);havoc #t~mem2;havoc #t~mem3;~rh~0 := ~i~0; {10074#(bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|))} is VALID [2018-11-23 11:27:14,602 INFO L273 TraceCheckUtils]: 20: Hoare triple {10229#(or (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (not (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~i~0) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~rh~0) |~#array~0.offset|)))))} assume !!~bvslt32(~i~0, ~n~0);call #t~mem2 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem3 := read~intINTTYPE4(~#array~0.base, ~bvadd32(~#array~0.offset, ~bvmul32(4bv32, ~rh~0)), 4bv32); {10225#(or (not (bvslt |SelectionSort_#t~mem2| |SelectionSort_#t~mem3|)) (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2018-11-23 11:27:16,633 INFO L273 TraceCheckUtils]: 19: Hoare triple {10233#(or (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (not (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|)))))} assume !!~bvslt32(~lh~0, ~n~0);~rh~0 := ~lh~0;~i~0 := ~bvadd32(1bv32, ~lh~0); {10229#(or (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (not (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~i~0) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~rh~0) |~#array~0.offset|)))))} is UNKNOWN [2018-11-23 11:27:16,634 INFO L273 TraceCheckUtils]: 18: Hoare triple {10237#(or (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (not (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|))))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0bv32; {10233#(or (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (not (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) (bvadd (bvmul (_ bv4 32) SelectionSort_~lh~0) |~#array~0.offset|)))))} is VALID [2018-11-23 11:27:16,635 INFO L256 TraceCheckUtils]: 17: Hoare triple {10070#(not (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)))} call SelectionSort(); {10237#(or (bvslt (select (select |old(#memory_int)| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (not (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|))))} is VALID [2018-11-23 11:27:16,635 INFO L273 TraceCheckUtils]: 16: Hoare triple {10070#(not (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)))} assume !~bvsge32(~i~1, 0bv32); {10070#(not (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2018-11-23 11:27:16,635 INFO L273 TraceCheckUtils]: 15: Hoare triple {10070#(not (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {10070#(not (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2018-11-23 11:27:16,653 INFO L273 TraceCheckUtils]: 14: Hoare triple {10247#(forall ((main_~i~1 (_ BitVec 32))) (not (bvslt (select (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1)) |~#array~0.base|) |~#array~0.offset|))))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {10070#(not (bvslt (select (select |#memory_int| |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2018-11-23 11:27:16,654 INFO L273 TraceCheckUtils]: 13: Hoare triple {10247#(forall ((main_~i~1 (_ BitVec 32))) (not (bvslt (select (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1)) |~#array~0.base|) |~#array~0.offset|))))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {10247#(forall ((main_~i~1 (_ BitVec 32))) (not (bvslt (select (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1)) |~#array~0.base|) |~#array~0.offset|))))} is VALID [2018-11-23 11:27:18,662 INFO L273 TraceCheckUtils]: 12: Hoare triple {10254#(forall ((v_subst_1 (_ BitVec 32)) (main_~i~1 (_ BitVec 32))) (not (bvslt (select (select (store |#memory_int| |main_~#array~1.base| (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |main_~#array~1.base| (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) |~#array~0.offset|))))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {10247#(forall ((main_~i~1 (_ BitVec 32))) (not (bvslt (select (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1)) |~#array~0.base|) |~#array~0.offset|))))} is UNKNOWN [2018-11-23 11:27:18,663 INFO L273 TraceCheckUtils]: 11: Hoare triple {10254#(forall ((v_subst_1 (_ BitVec 32)) (main_~i~1 (_ BitVec 32))) (not (bvslt (select (select (store |#memory_int| |main_~#array~1.base| (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |main_~#array~1.base| (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) |~#array~0.offset|))))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {10254#(forall ((v_subst_1 (_ BitVec 32)) (main_~i~1 (_ BitVec 32))) (not (bvslt (select (select (store |#memory_int| |main_~#array~1.base| (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |main_~#array~1.base| (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) |~#array~0.offset|))))} is VALID [2018-11-23 11:27:20,676 INFO L273 TraceCheckUtils]: 10: Hoare triple {10261#(forall ((v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32)) (main_~i~1 (_ BitVec 32))) (not (bvslt (select (select (store |#memory_int| |main_~#array~1.base| (store (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_2)) v_subst_2) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |main_~#array~1.base| (store (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_2)) v_subst_2) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) |~#array~0.offset|))))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {10254#(forall ((v_subst_1 (_ BitVec 32)) (main_~i~1 (_ BitVec 32))) (not (bvslt (select (select (store |#memory_int| |main_~#array~1.base| (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |main_~#array~1.base| (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) |~#array~0.offset|))))} is UNKNOWN [2018-11-23 11:27:20,677 INFO L273 TraceCheckUtils]: 9: Hoare triple {10261#(forall ((v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32)) (main_~i~1 (_ BitVec 32))) (not (bvslt (select (select (store |#memory_int| |main_~#array~1.base| (store (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_2)) v_subst_2) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |main_~#array~1.base| (store (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_2)) v_subst_2) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) |~#array~0.offset|))))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {10261#(forall ((v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32)) (main_~i~1 (_ BitVec 32))) (not (bvslt (select (select (store |#memory_int| |main_~#array~1.base| (store (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_2)) v_subst_2) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |main_~#array~1.base| (store (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_2)) v_subst_2) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) |~#array~0.offset|))))} is VALID [2018-11-23 11:27:22,687 INFO L273 TraceCheckUtils]: 8: Hoare triple {10268#(forall ((v_subst_3 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32)) (main_~i~1 (_ BitVec 32))) (not (bvslt (select (select (store |#memory_int| |main_~#array~1.base| (store (store (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_3)) v_subst_3) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_2)) v_subst_2) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |main_~#array~1.base| (store (store (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_3)) v_subst_3) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_2)) v_subst_2) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) |~#array~0.offset|))))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {10261#(forall ((v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32)) (main_~i~1 (_ BitVec 32))) (not (bvslt (select (select (store |#memory_int| |main_~#array~1.base| (store (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_2)) v_subst_2) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |main_~#array~1.base| (store (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_2)) v_subst_2) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) |~#array~0.offset|))))} is UNKNOWN [2018-11-23 11:27:22,688 INFO L273 TraceCheckUtils]: 7: Hoare triple {10268#(forall ((v_subst_3 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32)) (main_~i~1 (_ BitVec 32))) (not (bvslt (select (select (store |#memory_int| |main_~#array~1.base| (store (store (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_3)) v_subst_3) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_2)) v_subst_2) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |main_~#array~1.base| (store (store (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_3)) v_subst_3) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_2)) v_subst_2) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) |~#array~0.offset|))))} #t~post6 := ~i~1;~i~1 := ~bvsub32(#t~post6, 1bv32);havoc #t~post6; {10268#(forall ((v_subst_3 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32)) (main_~i~1 (_ BitVec 32))) (not (bvslt (select (select (store |#memory_int| |main_~#array~1.base| (store (store (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_3)) v_subst_3) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_2)) v_subst_2) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |main_~#array~1.base| (store (store (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_3)) v_subst_3) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_2)) v_subst_2) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) |~#array~0.offset|))))} is VALID [2018-11-23 11:27:24,701 INFO L273 TraceCheckUtils]: 6: Hoare triple {10275#(forall ((v_subst_3 (_ BitVec 32)) (v_subst_4 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32)) (main_~i~1 (_ BitVec 32))) (not (bvslt (select (select (store |#memory_int| |main_~#array~1.base| (store (store (store (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_4)) v_subst_4) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_3)) v_subst_3) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_2)) v_subst_2) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |main_~#array~1.base| (store (store (store (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_4)) v_subst_4) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_3)) v_subst_3) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_2)) v_subst_2) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) |~#array~0.offset|))))} assume !!~bvsge32(~i~1, 0bv32);call write~intINTTYPE4(~i~1, ~#array~1.base, ~bvadd32(~#array~1.offset, ~bvmul32(4bv32, ~i~1)), 4bv32); {10268#(forall ((v_subst_3 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32)) (main_~i~1 (_ BitVec 32))) (not (bvslt (select (select (store |#memory_int| |main_~#array~1.base| (store (store (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_3)) v_subst_3) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_2)) v_subst_2) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |main_~#array~1.base| (store (store (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_3)) v_subst_3) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_2)) v_subst_2) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) |~#array~0.offset|))))} is UNKNOWN [2018-11-23 11:27:24,705 INFO L273 TraceCheckUtils]: 5: Hoare triple {10279#(forall ((v_subst_3 (_ BitVec 32)) (v_subst_4 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32)) (main_~i~1 (_ BitVec 32)) (|v_main_~#array~1.base_13| (_ BitVec 32))) (or (not (= (select |#valid| |v_main_~#array~1.base_13|) (_ bv0 1))) (not (bvslt (select (select (store |#memory_int| |v_main_~#array~1.base_13| (store (store (store (store (store (select |#memory_int| |v_main_~#array~1.base_13|) (bvmul (_ bv4 32) main_~i~1) main_~i~1) (bvmul (_ bv4 32) v_subst_4) v_subst_4) (bvmul (_ bv4 32) v_subst_3) v_subst_3) (bvmul (_ bv4 32) v_subst_2) v_subst_2) (bvmul (_ bv4 32) v_subst_1) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |v_main_~#array~1.base_13| (store (store (store (store (store (select |#memory_int| |v_main_~#array~1.base_13|) (bvmul (_ bv4 32) main_~i~1) main_~i~1) (bvmul (_ bv4 32) v_subst_4) v_subst_4) (bvmul (_ bv4 32) v_subst_3) v_subst_3) (bvmul (_ bv4 32) v_subst_2) v_subst_2) (bvmul (_ bv4 32) v_subst_1) v_subst_1)) |~#array~0.base|) |~#array~0.offset|)))))} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20bv32);havoc ~i~1;~i~1 := 4bv32; {10275#(forall ((v_subst_3 (_ BitVec 32)) (v_subst_4 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32)) (main_~i~1 (_ BitVec 32))) (not (bvslt (select (select (store |#memory_int| |main_~#array~1.base| (store (store (store (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_4)) v_subst_4) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_3)) v_subst_3) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_2)) v_subst_2) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |main_~#array~1.base| (store (store (store (store (store (select |#memory_int| |main_~#array~1.base|) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) main_~i~1)) main_~i~1) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_4)) v_subst_4) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_3)) v_subst_3) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_2)) v_subst_2) (bvadd |main_~#array~1.offset| (bvmul (_ bv4 32) v_subst_1)) v_subst_1)) |~#array~0.base|) |~#array~0.offset|))))} is VALID [2018-11-23 11:27:24,706 INFO L256 TraceCheckUtils]: 4: Hoare triple {10279#(forall ((v_subst_3 (_ BitVec 32)) (v_subst_4 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32)) (main_~i~1 (_ BitVec 32)) (|v_main_~#array~1.base_13| (_ BitVec 32))) (or (not (= (select |#valid| |v_main_~#array~1.base_13|) (_ bv0 1))) (not (bvslt (select (select (store |#memory_int| |v_main_~#array~1.base_13| (store (store (store (store (store (select |#memory_int| |v_main_~#array~1.base_13|) (bvmul (_ bv4 32) main_~i~1) main_~i~1) (bvmul (_ bv4 32) v_subst_4) v_subst_4) (bvmul (_ bv4 32) v_subst_3) v_subst_3) (bvmul (_ bv4 32) v_subst_2) v_subst_2) (bvmul (_ bv4 32) v_subst_1) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |v_main_~#array~1.base_13| (store (store (store (store (store (select |#memory_int| |v_main_~#array~1.base_13|) (bvmul (_ bv4 32) main_~i~1) main_~i~1) (bvmul (_ bv4 32) v_subst_4) v_subst_4) (bvmul (_ bv4 32) v_subst_3) v_subst_3) (bvmul (_ bv4 32) v_subst_2) v_subst_2) (bvmul (_ bv4 32) v_subst_1) v_subst_1)) |~#array~0.base|) |~#array~0.offset|)))))} call #t~ret9 := main(); {10279#(forall ((v_subst_3 (_ BitVec 32)) (v_subst_4 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32)) (main_~i~1 (_ BitVec 32)) (|v_main_~#array~1.base_13| (_ BitVec 32))) (or (not (= (select |#valid| |v_main_~#array~1.base_13|) (_ bv0 1))) (not (bvslt (select (select (store |#memory_int| |v_main_~#array~1.base_13| (store (store (store (store (store (select |#memory_int| |v_main_~#array~1.base_13|) (bvmul (_ bv4 32) main_~i~1) main_~i~1) (bvmul (_ bv4 32) v_subst_4) v_subst_4) (bvmul (_ bv4 32) v_subst_3) v_subst_3) (bvmul (_ bv4 32) v_subst_2) v_subst_2) (bvmul (_ bv4 32) v_subst_1) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |v_main_~#array~1.base_13| (store (store (store (store (store (select |#memory_int| |v_main_~#array~1.base_13|) (bvmul (_ bv4 32) main_~i~1) main_~i~1) (bvmul (_ bv4 32) v_subst_4) v_subst_4) (bvmul (_ bv4 32) v_subst_3) v_subst_3) (bvmul (_ bv4 32) v_subst_2) v_subst_2) (bvmul (_ bv4 32) v_subst_1) v_subst_1)) |~#array~0.base|) |~#array~0.offset|)))))} is VALID [2018-11-23 11:27:24,706 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10279#(forall ((v_subst_3 (_ BitVec 32)) (v_subst_4 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32)) (main_~i~1 (_ BitVec 32)) (|v_main_~#array~1.base_13| (_ BitVec 32))) (or (not (= (select |#valid| |v_main_~#array~1.base_13|) (_ bv0 1))) (not (bvslt (select (select (store |#memory_int| |v_main_~#array~1.base_13| (store (store (store (store (store (select |#memory_int| |v_main_~#array~1.base_13|) (bvmul (_ bv4 32) main_~i~1) main_~i~1) (bvmul (_ bv4 32) v_subst_4) v_subst_4) (bvmul (_ bv4 32) v_subst_3) v_subst_3) (bvmul (_ bv4 32) v_subst_2) v_subst_2) (bvmul (_ bv4 32) v_subst_1) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |v_main_~#array~1.base_13| (store (store (store (store (store (select |#memory_int| |v_main_~#array~1.base_13|) (bvmul (_ bv4 32) main_~i~1) main_~i~1) (bvmul (_ bv4 32) v_subst_4) v_subst_4) (bvmul (_ bv4 32) v_subst_3) v_subst_3) (bvmul (_ bv4 32) v_subst_2) v_subst_2) (bvmul (_ bv4 32) v_subst_1) v_subst_1)) |~#array~0.base|) |~#array~0.offset|)))))} {9804#true} #84#return; {10279#(forall ((v_subst_3 (_ BitVec 32)) (v_subst_4 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32)) (main_~i~1 (_ BitVec 32)) (|v_main_~#array~1.base_13| (_ BitVec 32))) (or (not (= (select |#valid| |v_main_~#array~1.base_13|) (_ bv0 1))) (not (bvslt (select (select (store |#memory_int| |v_main_~#array~1.base_13| (store (store (store (store (store (select |#memory_int| |v_main_~#array~1.base_13|) (bvmul (_ bv4 32) main_~i~1) main_~i~1) (bvmul (_ bv4 32) v_subst_4) v_subst_4) (bvmul (_ bv4 32) v_subst_3) v_subst_3) (bvmul (_ bv4 32) v_subst_2) v_subst_2) (bvmul (_ bv4 32) v_subst_1) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |v_main_~#array~1.base_13| (store (store (store (store (store (select |#memory_int| |v_main_~#array~1.base_13|) (bvmul (_ bv4 32) main_~i~1) main_~i~1) (bvmul (_ bv4 32) v_subst_4) v_subst_4) (bvmul (_ bv4 32) v_subst_3) v_subst_3) (bvmul (_ bv4 32) v_subst_2) v_subst_2) (bvmul (_ bv4 32) v_subst_1) v_subst_1)) |~#array~0.base|) |~#array~0.offset|)))))} is VALID [2018-11-23 11:27:24,707 INFO L273 TraceCheckUtils]: 2: Hoare triple {10279#(forall ((v_subst_3 (_ BitVec 32)) (v_subst_4 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32)) (main_~i~1 (_ BitVec 32)) (|v_main_~#array~1.base_13| (_ BitVec 32))) (or (not (= (select |#valid| |v_main_~#array~1.base_13|) (_ bv0 1))) (not (bvslt (select (select (store |#memory_int| |v_main_~#array~1.base_13| (store (store (store (store (store (select |#memory_int| |v_main_~#array~1.base_13|) (bvmul (_ bv4 32) main_~i~1) main_~i~1) (bvmul (_ bv4 32) v_subst_4) v_subst_4) (bvmul (_ bv4 32) v_subst_3) v_subst_3) (bvmul (_ bv4 32) v_subst_2) v_subst_2) (bvmul (_ bv4 32) v_subst_1) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |v_main_~#array~1.base_13| (store (store (store (store (store (select |#memory_int| |v_main_~#array~1.base_13|) (bvmul (_ bv4 32) main_~i~1) main_~i~1) (bvmul (_ bv4 32) v_subst_4) v_subst_4) (bvmul (_ bv4 32) v_subst_3) v_subst_3) (bvmul (_ bv4 32) v_subst_2) v_subst_2) (bvmul (_ bv4 32) v_subst_1) v_subst_1)) |~#array~0.base|) |~#array~0.offset|)))))} assume true; {10279#(forall ((v_subst_3 (_ BitVec 32)) (v_subst_4 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32)) (main_~i~1 (_ BitVec 32)) (|v_main_~#array~1.base_13| (_ BitVec 32))) (or (not (= (select |#valid| |v_main_~#array~1.base_13|) (_ bv0 1))) (not (bvslt (select (select (store |#memory_int| |v_main_~#array~1.base_13| (store (store (store (store (store (select |#memory_int| |v_main_~#array~1.base_13|) (bvmul (_ bv4 32) main_~i~1) main_~i~1) (bvmul (_ bv4 32) v_subst_4) v_subst_4) (bvmul (_ bv4 32) v_subst_3) v_subst_3) (bvmul (_ bv4 32) v_subst_2) v_subst_2) (bvmul (_ bv4 32) v_subst_1) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |v_main_~#array~1.base_13| (store (store (store (store (store (select |#memory_int| |v_main_~#array~1.base_13|) (bvmul (_ bv4 32) main_~i~1) main_~i~1) (bvmul (_ bv4 32) v_subst_4) v_subst_4) (bvmul (_ bv4 32) v_subst_3) v_subst_3) (bvmul (_ bv4 32) v_subst_2) v_subst_2) (bvmul (_ bv4 32) v_subst_1) v_subst_1)) |~#array~0.base|) |~#array~0.offset|)))))} is VALID [2018-11-23 11:27:24,711 INFO L273 TraceCheckUtils]: 1: Hoare triple {9804#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~#array~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(4bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(8bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(12bv32, ~#array~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#array~0.base, ~bvadd32(16bv32, ~#array~0.offset), 4bv32);~n~0 := 5bv32; {10279#(forall ((v_subst_3 (_ BitVec 32)) (v_subst_4 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32)) (main_~i~1 (_ BitVec 32)) (|v_main_~#array~1.base_13| (_ BitVec 32))) (or (not (= (select |#valid| |v_main_~#array~1.base_13|) (_ bv0 1))) (not (bvslt (select (select (store |#memory_int| |v_main_~#array~1.base_13| (store (store (store (store (store (select |#memory_int| |v_main_~#array~1.base_13|) (bvmul (_ bv4 32) main_~i~1) main_~i~1) (bvmul (_ bv4 32) v_subst_4) v_subst_4) (bvmul (_ bv4 32) v_subst_3) v_subst_3) (bvmul (_ bv4 32) v_subst_2) v_subst_2) (bvmul (_ bv4 32) v_subst_1) v_subst_1)) |~#array~0.base|) (bvadd |~#array~0.offset| (_ bv4 32))) (select (select (store |#memory_int| |v_main_~#array~1.base_13| (store (store (store (store (store (select |#memory_int| |v_main_~#array~1.base_13|) (bvmul (_ bv4 32) main_~i~1) main_~i~1) (bvmul (_ bv4 32) v_subst_4) v_subst_4) (bvmul (_ bv4 32) v_subst_3) v_subst_3) (bvmul (_ bv4 32) v_subst_2) v_subst_2) (bvmul (_ bv4 32) v_subst_1) v_subst_1)) |~#array~0.base|) |~#array~0.offset|)))))} is VALID [2018-11-23 11:27:24,711 INFO L256 TraceCheckUtils]: 0: Hoare triple {9804#true} call ULTIMATE.init(); {9804#true} is VALID [2018-11-23 11:27:24,735 INFO L134 CoverageAnalysis]: Checked inductivity of 255 backedges. 28 proven. 14 refuted. 11 times theorem prover too weak. 202 trivial. 0 not checked. [2018-11-23 11:27:24,746 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:27:24,746 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 26 [2018-11-23 11:27:24,747 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 78 [2018-11-23 11:27:24,747 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:27:24,747 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states. [2018-11-23 11:27:39,342 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 66 inductive. 0 not inductive. 7 times theorem prover too weak to decide inductivity. [2018-11-23 11:27:39,343 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2018-11-23 11:27:39,343 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2018-11-23 11:27:39,344 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=137, Invalid=496, Unknown=17, NotChecked=0, Total=650 [2018-11-23 11:27:39,344 INFO L87 Difference]: Start difference. First operand 291 states and 384 transitions. Second operand 26 states. [2018-11-23 11:27:56,458 WARN L180 SmtUtils]: Spent 100.00 ms on a formula simplification. DAG size of input: 32 DAG size of output: 32 [2018-11-23 11:27:56,906 WARN L180 SmtUtils]: Spent 209.00 ms on a formula simplification. DAG size of input: 37 DAG size of output: 37 [2018-11-23 11:28:02,661 WARN L180 SmtUtils]: Spent 198.00 ms on a formula simplification. DAG size of input: 43 DAG size of output: 43 [2018-11-23 11:28:05,042 WARN L180 SmtUtils]: Spent 2.19 s on a formula simplification. DAG size of input: 45 DAG size of output: 45 [2018-11-23 11:28:07,518 WARN L180 SmtUtils]: Spent 2.23 s on a formula simplification. DAG size of input: 51 DAG size of output: 51 [2018-11-23 11:28:10,236 WARN L180 SmtUtils]: Spent 2.30 s on a formula simplification. DAG size of input: 61 DAG size of output: 61 [2018-11-23 11:28:13,331 WARN L180 SmtUtils]: Spent 2.31 s on a formula simplification. DAG size of input: 60 DAG size of output: 55 [2018-11-23 11:28:19,120 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:28:19,121 INFO L93 Difference]: Finished difference Result 613 states and 797 transitions. [2018-11-23 11:28:19,121 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 11:28:19,121 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 78 [2018-11-23 11:28:19,121 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:28:19,121 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 11:28:19,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 69 transitions. [2018-11-23 11:28:19,123 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 11:28:19,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 69 transitions. [2018-11-23 11:28:19,124 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 69 transitions. [2018-11-23 11:28:19,804 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:28:19,812 INFO L225 Difference]: With dead ends: 613 [2018-11-23 11:28:19,813 INFO L226 Difference]: Without dead ends: 344 [2018-11-23 11:28:19,814 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 129 SyntacticMatches, 2 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 298 ImplicationChecksByTransitivity, 75.4s TimeCoverageRelationStatistics Valid=244, Invalid=857, Unknown=21, NotChecked=0, Total=1122 [2018-11-23 11:28:19,815 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 344 states. [2018-11-23 11:28:20,456 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 344 to 291. [2018-11-23 11:28:20,456 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:28:20,456 INFO L82 GeneralOperation]: Start isEquivalent. First operand 344 states. Second operand 291 states. [2018-11-23 11:28:20,456 INFO L74 IsIncluded]: Start isIncluded. First operand 344 states. Second operand 291 states. [2018-11-23 11:28:20,457 INFO L87 Difference]: Start difference. First operand 344 states. Second operand 291 states. [2018-11-23 11:28:20,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:28:20,469 INFO L93 Difference]: Finished difference Result 344 states and 436 transitions. [2018-11-23 11:28:20,469 INFO L276 IsEmpty]: Start isEmpty. Operand 344 states and 436 transitions. [2018-11-23 11:28:20,470 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:28:20,470 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:28:20,470 INFO L74 IsIncluded]: Start isIncluded. First operand 291 states. Second operand 344 states. [2018-11-23 11:28:20,470 INFO L87 Difference]: Start difference. First operand 291 states. Second operand 344 states. [2018-11-23 11:28:20,480 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:28:20,480 INFO L93 Difference]: Finished difference Result 344 states and 436 transitions. [2018-11-23 11:28:20,481 INFO L276 IsEmpty]: Start isEmpty. Operand 344 states and 436 transitions. [2018-11-23 11:28:20,481 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:28:20,482 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:28:20,482 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:28:20,482 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:28:20,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 291 states. [2018-11-23 11:28:20,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 291 states to 291 states and 383 transitions. [2018-11-23 11:28:20,491 INFO L78 Accepts]: Start accepts. Automaton has 291 states and 383 transitions. Word has length 78 [2018-11-23 11:28:20,491 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:28:20,491 INFO L480 AbstractCegarLoop]: Abstraction has 291 states and 383 transitions. [2018-11-23 11:28:20,491 INFO L481 AbstractCegarLoop]: Interpolant automaton has 26 states. [2018-11-23 11:28:20,491 INFO L276 IsEmpty]: Start isEmpty. Operand 291 states and 383 transitions. [2018-11-23 11:28:20,492 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2018-11-23 11:28:20,492 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:28:20,492 INFO L402 BasicCegarLoop]: trace histogram [10, 10, 9, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:28:20,493 INFO L423 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:28:20,493 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:28:20,493 INFO L82 PathProgramCache]: Analyzing trace with hash 427169301, now seen corresponding path program 1 times [2018-11-23 11:28:20,493 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:28:20,494 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 16 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 16 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:28:20,523 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:28:20,902 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:28:21,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:28:21,055 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:28:21,067 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 12 [2018-11-23 11:28:21,073 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:28:21,082 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 12 treesize of output 15 [2018-11-23 11:28:21,085 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-23 11:28:21,098 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:28:21,119 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:28:21,119 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:13, output treesize:27 [2018-11-23 11:28:21,123 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:28:21,124 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_64|]. (and (= (_ bv0 32) |~#array~0.offset|) (= (store (store |v_#valid_64| (_ bv0 32) (_ bv0 1)) |~#array~0.base| (_ bv1 1)) |#valid|)) [2018-11-23 11:28:21,124 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (= (select |#valid| |~#array~0.base|) (_ bv1 1))) (.cse1 (= (_ bv0 32) |~#array~0.offset|))) (or (and .cse0 (= (_ bv0 32) |~#array~0.base|) .cse1) (and .cse0 .cse1 (= (select |#valid| (_ bv0 32)) (_ bv0 1))))) [2018-11-23 11:28:21,199 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:28:21,201 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:28:21,203 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:28:21,204 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 18 [2018-11-23 11:28:21,207 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:28:21,248 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:28:21,249 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:28:21,250 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 14 [2018-11-23 11:28:21,252 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:28:21,278 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:28:21,278 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:53, output treesize:14 [2018-11-23 11:28:21,284 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:28:21,284 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_18, |v_#valid_65|]. (let ((.cse0 (= (_ bv0 32) |main_~#array~1.offset|)) (.cse1 (= main_~i~1 (_ bv4 32))) (.cse2 (= (_ bv0 32) |~#array~0.offset|))) (or (and (= (_ bv0 1) (select v_prenex_18 |main_~#array~1.base|)) (= (_ bv0 32) |~#array~0.base|) .cse0 .cse1 (= (_ bv0 1) (bvadd (select v_prenex_18 |~#array~0.base|) (_ bv1 1))) .cse2) (and .cse0 .cse1 (= (_ bv0 1) (bvadd (select |v_#valid_65| |~#array~0.base|) (_ bv1 1))) .cse2 (= (_ bv0 1) (select |v_#valid_65| |main_~#array~1.base|)) (= (select |v_#valid_65| (_ bv0 32)) (_ bv0 1))))) [2018-11-23 11:28:21,284 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (_ bv0 32) |main_~#array~1.offset|) (= main_~i~1 (_ bv4 32)) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (_ bv0 32) |~#array~0.offset|)) [2018-11-23 11:28:21,509 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-23 11:28:21,560 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-23 11:28:21,583 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:28:21,619 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:28:21,661 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:28:21,661 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:22, output treesize:18 [2018-11-23 11:28:21,727 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 5 [2018-11-23 11:28:21,729 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:28:21,743 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 11:28:21,743 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:7 [2018-11-23 11:28:21,746 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:28:21,746 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_BEFORE_CALL_7|, |v_main_~#array~1.base_BEFORE_CALL_1|]. (and (= (select (select |v_#memory_int_BEFORE_CALL_7| |v_main_~#array~1.base_BEFORE_CALL_1|) (_ bv0 32)) (_ bv0 32)) (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|) (not (= |v_main_~#array~1.base_BEFORE_CALL_1| |~#array~0.base|))) [2018-11-23 11:28:21,746 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= |old(#memory_int)| |#memory_int|) (= (_ bv0 32) |~#array~0.offset|))